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

iniitial
author dwinter
date Tue, 26 Feb 2013 15:50:30 +0100
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:3b37d71af924
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