/**
  * Constructor
  *
  * @param $filterGroup FilterGroup
  * @param $displayName string
  *
  * NB: The input side of the transformation must always
  * be an XML format. See the XMLTypeDescription class for
  * more details how to enable XML validation.
  */
 function __construct($filterGroup, $displayName = 'XSL Transformation')
 {
     // Check that we only get xml input, the output type is arbitrary.
     if (!substr($filterGroup->getInputType(), 0, 5) == 'xml::') {
         fatalError('XSL filters need XML as input.');
     }
     // Instantiate the settings of this filter
     import('lib.pkp.classes.filter.FilterSetting');
     $this->addSetting(new FilterSetting('xsl', null, null));
     $this->addSetting(new FilterSetting('xslType', null, null));
     $this->addSetting(new FilterSetting('resultType', null, null, FORM_VALIDATOR_OPTIONAL_VALUE));
     $this->setDisplayName($displayName);
     parent::__construct($filterGroup);
 }
 /**
  * Constructor
  * @param $filterGroup FilterGroup
  */
 function __construct($filterGroup, $mode = null)
 {
     // Initialize the adapter.
     parent::__construct($filterGroup);
     // Extract information from the input/output types.
     // Find out whether this filter is injecting or
     // extracting meta-data.
     $metadataTypeDescription = null;
     /* @var $metadataTypeDescription MetadataTypeDescription */
     $dataObjectTypeDescription = null;
     /* @var $dataObjectTypeDescription ClassTypeDescription */
     $inputType =& $this->getInputType();
     $outputType =& $this->getOutputType();
     if (is_null($mode)) {
         if (is_a($inputType, 'MetadataTypeDescription')) {
             $mode = METADATA_DOA_INJECTION_MODE;
         } else {
             $mode = METADATA_DOA_EXTRACTION_MODE;
         }
     }
     $this->_mode = $mode;
     if ($mode == METADATA_DOA_INJECTION_MODE) {
         // We are in meta-data injection mode (or both input and output are meta-data descriptions).
         $metadataTypeDescription =& $inputType;
         /* @var $metadataTypeDescription MetadataTypeDescription */
         assert(is_a($outputType, 'ClassTypeDescription'));
         $dataObjectTypeDescription =& $outputType;
         /* @var $dataObjectTypeDescription ClassTypeDescription */
     } else {
         // We are in meta-data extraction mode.
         assert(is_a($outputType, 'MetadataTypeDescription'));
         $metadataTypeDescription =& $outputType;
         assert(is_a($inputType, 'ClassTypeDescription'));
         $dataObjectTypeDescription =& $inputType;
     }
     // Extract information from the input/output types.
     $this->_metadataSchemaName = $metadataTypeDescription->getMetadataSchemaClass();
     $this->_assocType = $metadataTypeDescription->getAssocType();
     $this->_dataObjectName = $dataObjectTypeDescription->getTypeName();
     // Set the display name.
     if ($mode == METADATA_DOA_INJECTION_MODE) {
         $this->setDisplayName('Inject metadata into a(n) ' . $this->getDataObjectClass());
     } else {
         $this->setDisplayName('Extract metadata from a(n) ' . $this->getDataObjectClass());
     }
 }
 /**
  * Constructor
  * @param $filterGroup FilterGroup
  * @param $supportedPublicationTypes array
  */
 function __construct(&$filterGroup, $supportedPublicationTypes = array())
 {
     // All NLM citation filters require XSL functionality
     // that is only present in PHP5.
     $this->setData('phpVersionMin', '5.0.0');
     $this->_supportedPublicationTypes = $supportedPublicationTypes;
     // Instantiate the "isOptional" setting
     // which is common to all NLM citation filters.
     // It contains the information whether a filter
     // will be used automatically within a given context
     // or whether the user will have to use it
     // explicitly (e.g. when parsing citations for
     // an article, conference paper or monograph).
     $isOptional = new BooleanFilterSetting('isOptional', 'metadata.filters.settings.isOptional.displayName', 'metadata.filters.settings.isOptional.validationMessage');
     $this->addSetting($isOptional);
     parent::__construct($filterGroup);
 }
 /**
  * Constructor
  * @param $filterGroup FilterGroup
  */
 function __construct($filterGroup)
 {
     $this->setDisplayName('MODS 3.4');
     parent::__construct($filterGroup);
 }
 /**
  * Constructor
  * @param $filterGroup FilterGroup
  * @param $displayName string
  */
 function __construct(&$filterGroup, $displayName = null)
 {
     $this->setDisplayName($displayName);
     parent::__construct($filterGroup);
 }
 /**
  * Constructor
  * @param $filterGroup FilterGroup
  */
 function __construct($filterGroup)
 {
     import('lib.pkp.classes.filter.FilterSetting');
     $this->addSetting(new FilterSetting('some-key', null, null));
     parent::__construct($filterGroup);
 }
 /**
  * Constructor
  * @param $filterGroup FilterGroup
  */
 function __construct($filterGroup)
 {
     parent::__construct($filterGroup);
 }