annotate src/plugin/plugin.dtd @ 0:3b37d71af924 default tip

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