| <?xml version="1.0" encoding="UTF-8"?> |
| |
| <!-- |
| ! Licensed to the Apache Software Foundation (ASF) under one or more |
| ! contributor license agreements. See the NOTICE file distributed with |
| ! this work for additional information regarding copyright ownership. |
| ! The ASF licenses this file to You under the Apache License, Version 2.0 |
| ! (the "License"); you may not use this file except in compliance with |
| ! the License. You may obtain a copy of the License at |
| ! |
| ! http://www.apache.org/licenses/LICENSE-2.0 |
| ! |
| ! Unless required by applicable law or agreed to in writing, software |
| ! distributed under the License is distributed on an "AS IS" BASIS, |
| ! WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| ! See the License for the specific language governing permissions and |
| ! limitations under the License. |
| ! |
| ! |
| ! Document : plugin.dtd |
| ! Created on : 14 avril 2006, 22:14 |
| ! Author : Chris Mattmann, Jerome Charron |
| ! Description: Nutch plug-in manifest DTD |
| ! |
| ! PUBLIC ID : -//Apache Software Fundation//DTD Nutch Plugin Manifest 1.0//EN |
| ! SYSTEM ID : http://lucene.apache.org/nutch/plugin.dtd |
| --> |
| |
| |
| |
| <!-- |
| ! The <plugin> element defines the body of the manifest. |
| ! It optionally contains definitions for the plug-in runtime, |
| ! definitions of other plug-ins required by this one, |
| ! declarations of any new extension points being introduced by the plug-in, |
| ! as well as configuration of functional extensions |
| ! (configured into extension points defined by other plug-ins, |
| ! or introduced by this plug-in). |
| !--> |
| <!ELEMENT plugin (runtime?, requires?, extension-point*, extension*)> |
| |
| <!-- A user displayable name for the plug-in --> |
| <!ATTLIST plugin name CDATA #REQUIRED> |
| |
| <!-- |
| ! A unique identifier for the plug-in. |
| ! To minimize potential for naming collisions, |
| ! the identifier should be derived from the internet domain id |
| ! of the supplying provider (reversing the domain name tokens and |
| ! appending additional name tokens separated by dot [.]). |
| ! For example, provider nutch.org could define plug-in identifier |
| ! org.nutch.myplugin |
| !--> |
| <!ATTLIST plugin id CDATA #REQUIRED> |
| |
| <!-- |
| ! The plug-in version number. |
| ! NOTE : Version numbers compatibility are not yet implemented. |
| !--> |
| <!ATTLIST plugin version CDATA #REQUIRED> |
| |
| <!-- The user-displayable name of the provider supplying the plug-in. --> |
| <!ATTLIST plugin provider-name CDATA #IMPLIED> |
| |
| <!-- |
| ! The name of the plug-in class for this plug-in. |
| ! The class must be a subclass of org.apache.nutch.plugin.Plugin |
| !--> |
| <!ATTLIST plugin class CDATA #IMPLIED> |
| |
| |
| <!-- |
| ! The <requires> section of the manifest declares |
| ! any dependencies on other plug-ins. |
| !--> |
| <!ELEMENT requires (import+)> |
| |
| |
| <!-- Each dependency is specified using an <import> element. --> |
| <!ELEMENT import EMPTY> |
| |
| <!-- The identifier of the required plug-in. --> |
| <!ATTLIST import plugin CDATA #REQUIRED> |
| |
| |
| <!-- |
| ! The <runtime> section of the manifest contains a definition of one or more |
| ! libraries that make up the plug-in runtime. |
| ! The referenced libraries are used by the plugin execution mechanisms |
| ! (the plug-in class loader) to load and execute the correct code required by |
| ! the plug-in. |
| !--> |
| <!ELEMENT runtime (library+)> |
| |
| |
| <!-- |
| !The <library> elements collectively define the plug-in runtime. |
| ! At least one <library> must be specified. |
| !--> |
| <!ELEMENT library (export*)> |
| |
| <!-- |
| ! A string reference to a library file or directory containing classes |
| ! (relative to the plug-in install directory). |
| ! Directory references must contain trailing file separator. |
| !--> |
| <!ATTLIST library name CDATA #REQUIRED> |
| |
| |
| <!-- |
| ! Each <library> element can specify which portion |
| ! of the library should be exported. |
| ! The export rules are specified as a set of export masks. |
| ! By default (no export rules specified), |
| ! the library is considered to be private. |
| ! Each export mask is specified using the name attribute. |
| !--> |
| <!ELEMENT export EMPTY> |
| |
| <!-- |
| ! The export mask can have the following values: |
| ! * - indicates all contents of library are exported (public) |
| ! package.name.* - indicates all classes in the specified package |
| ! are exported. The matching rules are the same as in the |
| ! Java import statement. |
| ! package.name.ClassName - fully qualified java class name |
| ! |
| ! NOTE : export mask is not yet implemented in Nutch. |
| !--> |
| <!ATTLIST export name CDATA #REQUIRED> |
| |
| |
| <!-- |
| ! Nutch's architecture is based on the notion of configurable extension points. |
| ! Nutch itself predefines a set of extension points that cover the task of |
| ! extending it (for example, adding parser, indexing filter, ...). |
| ! In addition to the predefined extension points, each supplied plug-in can |
| ! declare additional extension points. By declaring an extension point the |
| ! plug-in is essentially advertising the ability to configure the plug-in |
| ! function with externally supplied extensions. |
| !--> |
| <!ELEMENT extension-point EMPTY> |
| |
| <!-- A user-displayable name for the extension point. --> |
| <!ATTLIST extension-point name CDATA #REQUIRED> |
| |
| <!-- A simple id, unique within this plug-in --> |
| <!ATTLIST extension-point id CDATA #REQUIRED> |
| |
| |
| <!-- |
| ! Actual extensions are configured into extension points |
| ! (predefined, or newly declared in this plug-in) in the <extension> section. |
| ! |
| ! The configuration information is specified by at least one implementation |
| ! with some parameters. |
| !--> |
| <!ELEMENT extension (implementation+)> |
| |
| <!-- |
| ! A reference to an extension point being configured. |
| ! The extension point can be one defined in this plug-in or another plug-in. |
| !--> |
| <!ATTLIST extension point CDATA #REQUIRED> |
| |
| <!-- |
| ! Optional identifier for this extension point configuration instance. |
| ! This is used by extension points that need to uniquely identify |
| ! (rather than just enumerate) the specific configured extensions. |
| ! The identifier is specified as a simple token unique within the definition |
| ! of the declaring plug-in. When used globally, the extension identifier |
| ! is qualified by the plug-in identifier. |
| ! FIXME : Seems it is never read in the code. |
| !--> |
| <!ATTLIST extension id CDATA #IMPLIED> |
| |
| <!-- |
| ! A user-displayable name for the extension. |
| ! FIXME : Seems it is never read in the code. |
| !--> |
| <!ATTLIST extension name CDATA #IMPLIED> |
| |
| |
| <!-- |
| ! Defines a specific implementation for the extension. |
| ! This implementation can define some special name/value parameters |
| ! used at runtime. |
| !--> |
| <!ELEMENT implementation (parameter*)> |
| |
| <!-- A unique identifier for this implementation --> |
| <!ATTLIST implementation id CDATA #REQUIRED> |
| |
| <!-- The fully-qualified Java Class that implements this extension-point --> |
| <!ATTLIST implementation class CDATA #REQUIRED> |
| |
| |
| <!-- Defines a name/value parameter --> |
| <!ELEMENT parameter EMPTY> |
| |
| <!-- The parameter's name (should be unique for an extension) --> |
| <!ATTLIST parameter name CDATA #REQUIRED> |
| |
| <!-- The parameter's value --> |
| <!ATTLIST parameter value CDATA #REQUIRED> |
| |