0
|
1 <?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
|
3 <!--
|
|
4 ! Licensed to the Apache Software Foundation (ASF) under one or more
|
|
5 ! contributor license agreements. See the NOTICE file distributed with
|
|
6 ! this work for additional information regarding copyright ownership.
|
|
7 ! The ASF licenses this file to You under the Apache License, Version 2.0
|
|
8 ! (the "License"); you may not use this file except in compliance with
|
|
9 ! the License. You may obtain a copy of the License at
|
|
10 !
|
|
11 ! http://www.apache.org/licenses/LICENSE-2.0
|
|
12 !
|
|
13 ! Unless required by applicable law or agreed to in writing, software
|
|
14 ! distributed under the License is distributed on an "AS IS" BASIS,
|
|
15 ! WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16 ! See the License for the specific language governing permissions and
|
|
17 ! limitations under the License.
|
|
18 !
|
|
19 !
|
|
20 ! Document : plugin.dtd
|
|
21 ! Created on : 14 avril 2006, 22:14
|
|
22 ! Author : Chris Mattmann, Jerome Charron
|
|
23 ! Description: Nutch plug-in manifest DTD
|
|
24 !
|
|
25 ! PUBLIC ID : -//Apache Software Fundation//DTD Nutch Plugin Manifest 1.0//EN
|
|
26 ! SYSTEM ID : http://lucene.apache.org/nutch/plugin.dtd
|
|
27 -->
|
|
28
|
|
29
|
|
30
|
|
31 <!--
|
|
32 ! The <plugin> element defines the body of the manifest.
|
|
33 ! It optionally contains definitions for the plug-in runtime,
|
|
34 ! definitions of other plug-ins required by this one,
|
|
35 ! declarations of any new extension points being introduced by the plug-in,
|
|
36 ! as well as configuration of functional extensions
|
|
37 ! (configured into extension points defined by other plug-ins,
|
|
38 ! or introduced by this plug-in).
|
|
39 !-->
|
|
40 <!ELEMENT plugin (runtime?, requires?, extension-point*, extension*)>
|
|
41
|
|
42 <!-- A user displayable name for the plug-in -->
|
|
43 <!ATTLIST plugin name CDATA #REQUIRED>
|
|
44
|
|
45 <!--
|
|
46 ! A unique identifier for the plug-in.
|
|
47 ! To minimize potential for naming collisions,
|
|
48 ! the identifier should be derived from the internet domain id
|
|
49 ! of the supplying provider (reversing the domain name tokens and
|
|
50 ! appending additional name tokens separated by dot [.]).
|
|
51 ! For example, provider nutch.org could define plug-in identifier
|
|
52 ! org.nutch.myplugin
|
|
53 !-->
|
|
54 <!ATTLIST plugin id CDATA #REQUIRED>
|
|
55
|
|
56 <!--
|
|
57 ! The plug-in version number.
|
|
58 ! NOTE : Version numbers compatibility are not yet implemented.
|
|
59 !-->
|
|
60 <!ATTLIST plugin version CDATA #REQUIRED>
|
|
61
|
|
62 <!-- The user-displayable name of the provider supplying the plug-in. -->
|
|
63 <!ATTLIST plugin provider-name CDATA #IMPLIED>
|
|
64
|
|
65 <!--
|
|
66 ! The name of the plug-in class for this plug-in.
|
|
67 ! The class must be a subclass of org.apache.nutch.plugin.Plugin
|
|
68 !-->
|
|
69 <!ATTLIST plugin class CDATA #IMPLIED>
|
|
70
|
|
71
|
|
72 <!--
|
|
73 ! The <requires> section of the manifest declares
|
|
74 ! any dependencies on other plug-ins.
|
|
75 !-->
|
|
76 <!ELEMENT requires (import+)>
|
|
77
|
|
78
|
|
79 <!-- Each dependency is specified using an <import> element. -->
|
|
80 <!ELEMENT import EMPTY>
|
|
81
|
|
82 <!-- The identifier of the required plug-in. -->
|
|
83 <!ATTLIST import plugin CDATA #REQUIRED>
|
|
84
|
|
85
|
|
86 <!--
|
|
87 ! The <runtime> section of the manifest contains a definition of one or more
|
|
88 ! libraries that make up the plug-in runtime.
|
|
89 ! The referenced libraries are used by the plugin execution mechanisms
|
|
90 ! (the plug-in class loader) to load and execute the correct code required by
|
|
91 ! the plug-in.
|
|
92 !-->
|
|
93 <!ELEMENT runtime (library+)>
|
|
94
|
|
95
|
|
96 <!--
|
|
97 !The <library> elements collectively define the plug-in runtime.
|
|
98 ! At least one <library> must be specified.
|
|
99 !-->
|
|
100 <!ELEMENT library (export*)>
|
|
101
|
|
102 <!--
|
|
103 ! A string reference to a library file or directory containing classes
|
|
104 ! (relative to the plug-in install directory).
|
|
105 ! Directory references must contain trailing file separator.
|
|
106 !-->
|
|
107 <!ATTLIST library name CDATA #REQUIRED>
|
|
108
|
|
109
|
|
110 <!--
|
|
111 ! Each <library> element can specify which portion
|
|
112 ! of the library should be exported.
|
|
113 ! The export rules are specified as a set of export masks.
|
|
114 ! By default (no export rules specified),
|
|
115 ! the library is considered to be private.
|
|
116 ! Each export mask is specified using the name attribute.
|
|
117 !-->
|
|
118 <!ELEMENT export EMPTY>
|
|
119
|
|
120 <!--
|
|
121 ! The export mask can have the following values:
|
|
122 ! * - indicates all contents of library are exported (public)
|
|
123 ! package.name.* - indicates all classes in the specified package
|
|
124 ! are exported. The matching rules are the same as in the
|
|
125 ! Java import statement.
|
|
126 ! package.name.ClassName - fully qualified java class name
|
|
127 !
|
|
128 ! NOTE : export mask is not yet implemented in Nutch.
|
|
129 !-->
|
|
130 <!ATTLIST export name CDATA #REQUIRED>
|
|
131
|
|
132
|
|
133 <!--
|
|
134 ! Nutch's architecture is based on the notion of configurable extension points.
|
|
135 ! Nutch itself predefines a set of extension points that cover the task of
|
|
136 ! extending it (for example, adding parser, indexing filter, ...).
|
|
137 ! In addition to the predefined extension points, each supplied plug-in can
|
|
138 ! declare additional extension points. By declaring an extension point the
|
|
139 ! plug-in is essentially advertising the ability to configure the plug-in
|
|
140 ! function with externally supplied extensions.
|
|
141 !-->
|
|
142 <!ELEMENT extension-point EMPTY>
|
|
143
|
|
144 <!-- A user-displayable name for the extension point. -->
|
|
145 <!ATTLIST extension-point name CDATA #REQUIRED>
|
|
146
|
|
147 <!-- A simple id, unique within this plug-in -->
|
|
148 <!ATTLIST extension-point id CDATA #REQUIRED>
|
|
149
|
|
150
|
|
151 <!--
|
|
152 ! Actual extensions are configured into extension points
|
|
153 ! (predefined, or newly declared in this plug-in) in the <extension> section.
|
|
154 !
|
|
155 ! The configuration information is specified by at least one implementation
|
|
156 ! with some parameters.
|
|
157 !-->
|
|
158 <!ELEMENT extension (implementation+)>
|
|
159
|
|
160 <!--
|
|
161 ! A reference to an extension point being configured.
|
|
162 ! The extension point can be one defined in this plug-in or another plug-in.
|
|
163 !-->
|
|
164 <!ATTLIST extension point CDATA #REQUIRED>
|
|
165
|
|
166 <!--
|
|
167 ! Optional identifier for this extension point configuration instance.
|
|
168 ! This is used by extension points that need to uniquely identify
|
|
169 ! (rather than just enumerate) the specific configured extensions.
|
|
170 ! The identifier is specified as a simple token unique within the definition
|
|
171 ! of the declaring plug-in. When used globally, the extension identifier
|
|
172 ! is qualified by the plug-in identifier.
|
|
173 ! FIXME : Seems it is never read in the code.
|
|
174 !-->
|
|
175 <!ATTLIST extension id CDATA #IMPLIED>
|
|
176
|
|
177 <!--
|
|
178 ! A user-displayable name for the extension.
|
|
179 ! FIXME : Seems it is never read in the code.
|
|
180 !-->
|
|
181 <!ATTLIST extension name CDATA #IMPLIED>
|
|
182
|
|
183
|
|
184 <!--
|
|
185 ! Defines a specific implementation for the extension.
|
|
186 ! This implementation can define some special name/value parameters
|
|
187 ! used at runtime.
|
|
188 !-->
|
|
189 <!ELEMENT implementation (parameter*)>
|
|
190
|
|
191 <!-- A unique identifier for this implementation -->
|
|
192 <!ATTLIST implementation id CDATA #REQUIRED>
|
|
193
|
|
194 <!-- The fully-qualified Java Class that implements this extension-point -->
|
|
195 <!ATTLIST implementation class CDATA #REQUIRED>
|
|
196
|
|
197
|
|
198 <!-- Defines a name/value parameter -->
|
|
199 <!ELEMENT parameter EMPTY>
|
|
200
|
|
201 <!-- The parameter's name (should be unique for an extension) -->
|
|
202 <!ATTLIST parameter name CDATA #REQUIRED>
|
|
203
|
|
204 <!-- The parameter's value -->
|
|
205 <!ATTLIST parameter value CDATA #REQUIRED>
|
|
206
|