Statistiques
| Révision :

root / tei / dtd / XMLSchema.dtd @ 2

Historique | Voir | Annoter | Télécharger (15,7 ko)

1 2 mingarao
<!-- DTD for XML Schemas: Part 1: Structures
2 2 mingarao
     Public Identifier: "-//W3C//DTD XMLSCHEMA 200102//EN"
3 2 mingarao
     Official Location: http://www.w3.org/2001/XMLSchema.dtd -->
4 2 mingarao
<!-- $Id: XMLSchema.dtd,v 1.31 2001/10/24 15:50:16 ht Exp $ -->
5 2 mingarao
<!-- Note this DTD is NOT normative, or even definitive. -->           <!--d-->
6 2 mingarao
<!-- prose copy in the structures REC is the definitive version -->    <!--d-->
7 2 mingarao
<!-- (which shouldn't differ from this one except for this -->         <!--d-->
8 2 mingarao
<!-- comment and entity expansions, but just in case) -->              <!--d-->
9 2 mingarao
<!-- With the exception of cases with multiple namespace
10 2 mingarao
     prefixes for the XML Schema namespace, any XML document which is
11 2 mingarao
     not valid per this DTD given redefinitions in its internal subset of the
12 2 mingarao
     'p' and 's' parameter entities below appropriate to its namespace
13 2 mingarao
     declaration of the XML Schema namespace is almost certainly not
14 2 mingarao
     a valid schema. -->
15 2 mingarao
16 2 mingarao
<!-- The simpleType element and its constituent parts
17 2 mingarao
     are defined in XML Schema: Part 2: Datatypes -->
18 2 mingarao
<!ENTITY % xs-datatypes PUBLIC 'datatypes' 'datatypes.dtd' >
19 2 mingarao
20 2 mingarao
<!ENTITY % p 'xs:'> <!-- can be overriden in the internal subset of a
21 2 mingarao
                         schema document to establish a different
22 2 mingarao
                         namespace prefix -->
23 2 mingarao
<!ENTITY % s ':xs'> <!-- if %p is defined (e.g. as foo:) then you must
24 2 mingarao
                         also define %s as the suffix for the appropriate
25 2 mingarao
                         namespace declaration (e.g. :foo) -->
26 2 mingarao
<!ENTITY % nds 'xmlns%s;'>
27 2 mingarao
28 2 mingarao
<!-- Define all the element names, with optional prefix -->
29 2 mingarao
<!ENTITY % schema "%p;schema">
30 2 mingarao
<!ENTITY % complexType "%p;complexType">
31 2 mingarao
<!ENTITY % complexContent "%p;complexContent">
32 2 mingarao
<!ENTITY % simpleContent "%p;simpleContent">
33 2 mingarao
<!ENTITY % extension "%p;extension">
34 2 mingarao
<!ENTITY % element "%p;element">
35 2 mingarao
<!ENTITY % unique "%p;unique">
36 2 mingarao
<!ENTITY % key "%p;key">
37 2 mingarao
<!ENTITY % keyref "%p;keyref">
38 2 mingarao
<!ENTITY % selector "%p;selector">
39 2 mingarao
<!ENTITY % field "%p;field">
40 2 mingarao
<!ENTITY % group "%p;group">
41 2 mingarao
<!ENTITY % all "%p;all">
42 2 mingarao
<!ENTITY % choice "%p;choice">
43 2 mingarao
<!ENTITY % sequence "%p;sequence">
44 2 mingarao
<!ENTITY % any "%p;any">
45 2 mingarao
<!ENTITY % anyAttribute "%p;anyAttribute">
46 2 mingarao
<!ENTITY % attribute "%p;attribute">
47 2 mingarao
<!ENTITY % attributeGroup "%p;attributeGroup">
48 2 mingarao
<!ENTITY % include "%p;include">
49 2 mingarao
<!ENTITY % import "%p;import">
50 2 mingarao
<!ENTITY % redefine "%p;redefine">
51 2 mingarao
<!ENTITY % notation "%p;notation">
52 2 mingarao
53 2 mingarao
<!-- annotation elements -->
54 2 mingarao
<!ENTITY % annotation "%p;annotation">
55 2 mingarao
<!ENTITY % appinfo "%p;appinfo">
56 2 mingarao
<!ENTITY % documentation "%p;documentation">
57 2 mingarao
58 2 mingarao
<!-- Customisation entities for the ATTLIST of each element type.
59 2 mingarao
     Define one of these if your schema takes advantage of the
60 2 mingarao
     anyAttribute='##other' in the schema for schemas -->
61 2 mingarao
62 2 mingarao
<!ENTITY % schemaAttrs ''>
63 2 mingarao
<!ENTITY % complexTypeAttrs ''>
64 2 mingarao
<!ENTITY % complexContentAttrs ''>
65 2 mingarao
<!ENTITY % simpleContentAttrs ''>
66 2 mingarao
<!ENTITY % extensionAttrs ''>
67 2 mingarao
<!ENTITY % elementAttrs ''>
68 2 mingarao
<!ENTITY % groupAttrs ''>
69 2 mingarao
<!ENTITY % allAttrs ''>
70 2 mingarao
<!ENTITY % choiceAttrs ''>
71 2 mingarao
<!ENTITY % sequenceAttrs ''>
72 2 mingarao
<!ENTITY % anyAttrs ''>
73 2 mingarao
<!ENTITY % anyAttributeAttrs ''>
74 2 mingarao
<!ENTITY % attributeAttrs ''>
75 2 mingarao
<!ENTITY % attributeGroupAttrs ''>
76 2 mingarao
<!ENTITY % uniqueAttrs ''>
77 2 mingarao
<!ENTITY % keyAttrs ''>
78 2 mingarao
<!ENTITY % keyrefAttrs ''>
79 2 mingarao
<!ENTITY % selectorAttrs ''>
80 2 mingarao
<!ENTITY % fieldAttrs ''>
81 2 mingarao
<!ENTITY % includeAttrs ''>
82 2 mingarao
<!ENTITY % importAttrs ''>
83 2 mingarao
<!ENTITY % redefineAttrs ''>
84 2 mingarao
<!ENTITY % notationAttrs ''>
85 2 mingarao
<!ENTITY % annotationAttrs ''>
86 2 mingarao
<!ENTITY % appinfoAttrs ''>
87 2 mingarao
<!ENTITY % documentationAttrs ''>
88 2 mingarao
89 2 mingarao
<!ENTITY % complexDerivationSet "CDATA">
90 2 mingarao
      <!-- #all or space-separated list drawn from derivationChoice -->
91 2 mingarao
<!ENTITY % blockSet "CDATA">
92 2 mingarao
      <!-- #all or space-separated list drawn from
93 2 mingarao
                      derivationChoice + 'substitution' -->
94 2 mingarao
95 2 mingarao
<!ENTITY % mgs '%all; | %choice; | %sequence;'>
96 2 mingarao
<!ENTITY % cs '%choice; | %sequence;'>
97 2 mingarao
<!ENTITY % formValues '(qualified|unqualified)'>
98 2 mingarao
99 2 mingarao
100 2 mingarao
<!ENTITY % attrDecls    '((%attribute;| %attributeGroup;)*,(%anyAttribute;)?)'>
101 2 mingarao
102 2 mingarao
<!ENTITY % particleAndAttrs '((%mgs; | %group;)?, %attrDecls;)'>
103 2 mingarao
104 2 mingarao
<!-- This is used in part2 -->
105 2 mingarao
<!ENTITY % restriction1 '((%mgs; | %group;)?)'>
106 2 mingarao
107 2 mingarao
%xs-datatypes;
108 2 mingarao
109 2 mingarao
<!-- the duplication below is to produce an unambiguous content model
110 2 mingarao
     which allows annotation everywhere -->
111 2 mingarao
<!ELEMENT %schema; ((%include; | %import; | %redefine; | %annotation;)*,
112 2 mingarao
                    ((%simpleType; | %complexType;
113 2 mingarao
                      | %element; | %attribute;
114 2 mingarao
                      | %attributeGroup; | %group;
115 2 mingarao
                      | %notation; ),
116 2 mingarao
                     (%annotation;)*)* )>
117 2 mingarao
<!ATTLIST %schema;
118 2 mingarao
   targetNamespace      %URIref;               #IMPLIED
119 2 mingarao
   version              CDATA                  #IMPLIED
120 2 mingarao
   %nds;                %URIref;               #FIXED 'http://www.w3.org/2001/XMLSchema'
121 2 mingarao
   xmlns                CDATA                  #IMPLIED
122 2 mingarao
   finalDefault         %complexDerivationSet; ''
123 2 mingarao
   blockDefault         %blockSet;             ''
124 2 mingarao
   id                   ID                     #IMPLIED
125 2 mingarao
   elementFormDefault   %formValues;           'unqualified'
126 2 mingarao
   attributeFormDefault %formValues;           'unqualified'
127 2 mingarao
   xml:lang             CDATA                  #IMPLIED
128 2 mingarao
   %schemaAttrs;>
129 2 mingarao
<!-- Note the xmlns declaration is NOT in the Schema for Schemas,
130 2 mingarao
     because at the Infoset level where schemas operate,
131 2 mingarao
     xmlns(:prefix) is NOT an attribute! -->
132 2 mingarao
<!-- The declaration of xmlns is a convenience for schema authors -->
133 2 mingarao
134 2 mingarao
<!-- The id attribute here and below is for use in external references
135 2 mingarao
     from non-schemas using simple fragment identifiers.
136 2 mingarao
     It is NOT used for schema-to-schema reference, internal or
137 2 mingarao
     external. -->
138 2 mingarao
139 2 mingarao
<!-- a type is a named content type specification which allows attribute
140 2 mingarao
     declarations-->
141 2 mingarao
<!-- -->
142 2 mingarao
143 2 mingarao
<!ELEMENT %complexType; ((%annotation;)?,
144 2 mingarao
                         (%simpleContent;|%complexContent;|
145 2 mingarao
                          %particleAndAttrs;))>
146 2 mingarao
147 2 mingarao
<!ATTLIST %complexType;
148 2 mingarao
          name      %NCName;                        #IMPLIED
149 2 mingarao
          id        ID                              #IMPLIED
150 2 mingarao
          abstract  %boolean;                       #IMPLIED
151 2 mingarao
          final     %complexDerivationSet;          #IMPLIED
152 2 mingarao
          block     %complexDerivationSet;          #IMPLIED
153 2 mingarao
          mixed (true|false) 'false'
154 2 mingarao
          %complexTypeAttrs;>
155 2 mingarao
156 2 mingarao
<!-- particleAndAttrs is shorthand for a root type -->
157 2 mingarao
<!-- mixed is disallowed if simpleContent, overriden if complexContent
158 2 mingarao
     has one too. -->
159 2 mingarao
160 2 mingarao
<!-- If anyAttribute appears in one or more referenced attributeGroups
161 2 mingarao
     and/or explicitly, the intersection of the permissions is used -->
162 2 mingarao
163 2 mingarao
<!ELEMENT %complexContent; ((%annotation;)?, (%restriction;|%extension;))>
164 2 mingarao
<!ATTLIST %complexContent;
165 2 mingarao
          mixed (true|false) #IMPLIED
166 2 mingarao
          id    ID           #IMPLIED
167 2 mingarao
          %complexContentAttrs;>
168 2 mingarao
169 2 mingarao
<!-- restriction should use the branch defined above, not the simple
170 2 mingarao
     one from part2; extension should use the full model  -->
171 2 mingarao
172 2 mingarao
<!ELEMENT %simpleContent; ((%annotation;)?, (%restriction;|%extension;))>
173 2 mingarao
<!ATTLIST %simpleContent;
174 2 mingarao
          id    ID           #IMPLIED
175 2 mingarao
          %simpleContentAttrs;>
176 2 mingarao
177 2 mingarao
<!-- restriction should use the simple branch from part2, not the
178 2 mingarao
     one defined above; extension should have no particle  -->
179 2 mingarao
180 2 mingarao
<!ELEMENT %extension; ((%annotation;)?, (%particleAndAttrs;))>
181 2 mingarao
<!ATTLIST %extension;
182 2 mingarao
          base  %QName;      #REQUIRED
183 2 mingarao
          id    ID           #IMPLIED
184 2 mingarao
          %extensionAttrs;>
185 2 mingarao
186 2 mingarao
<!-- an element is declared by either:
187 2 mingarao
 a name and a type (either nested or referenced via the type attribute)
188 2 mingarao
 or a ref to an existing element declaration -->
189 2 mingarao
190 2 mingarao
<!ELEMENT %element; ((%annotation;)?, (%complexType;| %simpleType;)?,
191 2 mingarao
                     (%unique; | %key; | %keyref;)*)>
192 2 mingarao
<!-- simpleType or complexType only if no type|ref attribute -->
193 2 mingarao
<!-- ref not allowed at top level -->
194 2 mingarao
<!ATTLIST %element;
195 2 mingarao
            name               %NCName;               #IMPLIED
196 2 mingarao
            id                 ID                     #IMPLIED
197 2 mingarao
            ref                %QName;                #IMPLIED
198 2 mingarao
            type               %QName;                #IMPLIED
199 2 mingarao
            minOccurs          %nonNegativeInteger;   #IMPLIED
200 2 mingarao
            maxOccurs          CDATA                  #IMPLIED
201 2 mingarao
            nillable           %boolean;              #IMPLIED
202 2 mingarao
            substitutionGroup  %QName;                #IMPLIED
203 2 mingarao
            abstract           %boolean;              #IMPLIED
204 2 mingarao
            final              %complexDerivationSet; #IMPLIED
205 2 mingarao
            block              %blockSet;             #IMPLIED
206 2 mingarao
            default            CDATA                  #IMPLIED
207 2 mingarao
            fixed              CDATA                  #IMPLIED
208 2 mingarao
            form               %formValues;           #IMPLIED
209 2 mingarao
            %elementAttrs;>
210 2 mingarao
<!-- type and ref are mutually exclusive.
211 2 mingarao
     name and ref are mutually exclusive, one is required -->
212 2 mingarao
<!-- In the absence of type AND ref, type defaults to type of
213 2 mingarao
     substitutionGroup, if any, else the ur-type, i.e. unconstrained -->
214 2 mingarao
<!-- default and fixed are mutually exclusive -->
215 2 mingarao
216 2 mingarao
<!ELEMENT %group; ((%annotation;)?,(%mgs;)?)>
217 2 mingarao
<!ATTLIST %group;
218 2 mingarao
          name        %NCName;               #IMPLIED
219 2 mingarao
          ref         %QName;                #IMPLIED
220 2 mingarao
          minOccurs   %nonNegativeInteger;   #IMPLIED
221 2 mingarao
          maxOccurs   CDATA                  #IMPLIED
222 2 mingarao
          id          ID                     #IMPLIED
223 2 mingarao
          %groupAttrs;>
224 2 mingarao
225 2 mingarao
<!ELEMENT %all; ((%annotation;)?, (%element;)*)>
226 2 mingarao
<!ATTLIST %all;
227 2 mingarao
          minOccurs   (1)                    #IMPLIED
228 2 mingarao
          maxOccurs   (1)                    #IMPLIED
229 2 mingarao
          id          ID                     #IMPLIED
230 2 mingarao
          %allAttrs;>
231 2 mingarao
232 2 mingarao
<!ELEMENT %choice; ((%annotation;)?, (%element;| %group;| %cs; | %any;)*)>
233 2 mingarao
<!ATTLIST %choice;
234 2 mingarao
          minOccurs   %nonNegativeInteger;   #IMPLIED
235 2 mingarao
          maxOccurs   CDATA                  #IMPLIED
236 2 mingarao
          id          ID                     #IMPLIED
237 2 mingarao
          %choiceAttrs;>
238 2 mingarao
239 2 mingarao
<!ELEMENT %sequence; ((%annotation;)?, (%element;| %group;| %cs; | %any;)*)>
240 2 mingarao
<!ATTLIST %sequence;
241 2 mingarao
          minOccurs   %nonNegativeInteger;   #IMPLIED
242 2 mingarao
          maxOccurs   CDATA                  #IMPLIED
243 2 mingarao
          id          ID                     #IMPLIED
244 2 mingarao
          %sequenceAttrs;>
245 2 mingarao
246 2 mingarao
<!-- an anonymous grouping in a model, or
247 2 mingarao
     a top-level named group definition, or a reference to same -->
248 2 mingarao
249 2 mingarao
<!-- Note that if order is 'all', group is not allowed inside.
250 2 mingarao
     If order is 'all' THIS group must be alone (or referenced alone) at
251 2 mingarao
     the top level of a content model -->
252 2 mingarao
<!-- If order is 'all', minOccurs==maxOccurs==1 on element/any inside -->
253 2 mingarao
<!-- Should allow minOccurs=0 inside order='all' . . . -->
254 2 mingarao
255 2 mingarao
<!ELEMENT %any; (%annotation;)?>
256 2 mingarao
<!ATTLIST %any;
257 2 mingarao
            namespace       CDATA                  '##any'
258 2 mingarao
            processContents (skip|lax|strict)      'strict'
259 2 mingarao
            minOccurs       %nonNegativeInteger;   '1'
260 2 mingarao
            maxOccurs       CDATA                  '1'
261 2 mingarao
            id              ID                     #IMPLIED
262 2 mingarao
            %anyAttrs;>
263 2 mingarao
264 2 mingarao
<!-- namespace is interpreted as follows:
265 2 mingarao
                  ##any      - - any non-conflicting WFXML at all
266 2 mingarao
267 2 mingarao
                  ##other    - - any non-conflicting WFXML from namespace other
268 2 mingarao
                                  than targetNamespace
269 2 mingarao
270 2 mingarao
                  ##local    - - any unqualified non-conflicting WFXML/attribute
271 2 mingarao
                  one or     - - any non-conflicting WFXML from
272 2 mingarao
                  more URI        the listed namespaces
273 2 mingarao
                  references
274 2 mingarao
275 2 mingarao
                  ##targetNamespace ##local may appear in the above list,
276 2 mingarao
                    with the obvious meaning -->
277 2 mingarao
278 2 mingarao
<!ELEMENT %anyAttribute; (%annotation;)?>
279 2 mingarao
<!ATTLIST %anyAttribute;
280 2 mingarao
            namespace       CDATA              '##any'
281 2 mingarao
            processContents (skip|lax|strict)  'strict'
282 2 mingarao
            id              ID                 #IMPLIED
283 2 mingarao
            %anyAttributeAttrs;>
284 2 mingarao
<!-- namespace is interpreted as for 'any' above -->
285 2 mingarao
286 2 mingarao
<!-- simpleType only if no type|ref attribute -->
287 2 mingarao
<!-- ref not allowed at top level, name iff at top level -->
288 2 mingarao
<!ELEMENT %attribute; ((%annotation;)?, (%simpleType;)?)>
289 2 mingarao
<!ATTLIST %attribute;
290 2 mingarao
          name      %NCName;      #IMPLIED
291 2 mingarao
          id        ID            #IMPLIED
292 2 mingarao
          ref       %QName;       #IMPLIED
293 2 mingarao
          type      %QName;       #IMPLIED
294 2 mingarao
          use       (prohibited|optional|required) #IMPLIED
295 2 mingarao
          default   CDATA         #IMPLIED
296 2 mingarao
          fixed     CDATA         #IMPLIED
297 2 mingarao
          form      %formValues;  #IMPLIED
298 2 mingarao
          %attributeAttrs;>
299 2 mingarao
<!-- type and ref are mutually exclusive.
300 2 mingarao
     name and ref are mutually exclusive, one is required -->
301 2 mingarao
<!-- default for use is optional when nested, none otherwise -->
302 2 mingarao
<!-- default and fixed are mutually exclusive -->
303 2 mingarao
<!-- type attr and simpleType content are mutually exclusive -->
304 2 mingarao
305 2 mingarao
<!-- an attributeGroup is a named collection of attribute decls, or a
306 2 mingarao
     reference thereto -->
307 2 mingarao
<!ELEMENT %attributeGroup; ((%annotation;)?,
308 2 mingarao
                       (%attribute; | %attributeGroup;)*,
309 2 mingarao
                       (%anyAttribute;)?) >
310 2 mingarao
<!ATTLIST %attributeGroup;
311 2 mingarao
                 name       %NCName;       #IMPLIED
312 2 mingarao
                 id         ID             #IMPLIED
313 2 mingarao
                 ref        %QName;        #IMPLIED
314 2 mingarao
                 %attributeGroupAttrs;>
315 2 mingarao
316 2 mingarao
<!-- ref iff no content, no name.  ref iff not top level -->
317 2 mingarao
318 2 mingarao
<!-- better reference mechanisms -->
319 2 mingarao
<!ELEMENT %unique; ((%annotation;)?, %selector;, (%field;)+)>
320 2 mingarao
<!ATTLIST %unique;
321 2 mingarao
          name     %NCName;       #REQUIRED
322 2 mingarao
	  id       ID             #IMPLIED
323 2 mingarao
	  %uniqueAttrs;>
324 2 mingarao
325 2 mingarao
<!ELEMENT %key;    ((%annotation;)?, %selector;, (%field;)+)>
326 2 mingarao
<!ATTLIST %key;
327 2 mingarao
          name     %NCName;       #REQUIRED
328 2 mingarao
	  id       ID             #IMPLIED
329 2 mingarao
	  %keyAttrs;>
330 2 mingarao
331 2 mingarao
<!ELEMENT %keyref; ((%annotation;)?, %selector;, (%field;)+)>
332 2 mingarao
<!ATTLIST %keyref;
333 2 mingarao
          name     %NCName;       #REQUIRED
334 2 mingarao
	  refer    %QName;        #REQUIRED
335 2 mingarao
	  id       ID             #IMPLIED
336 2 mingarao
	  %keyrefAttrs;>
337 2 mingarao
338 2 mingarao
<!ELEMENT %selector; ((%annotation;)?)>
339 2 mingarao
<!ATTLIST %selector;
340 2 mingarao
          xpath %XPathExpr; #REQUIRED
341 2 mingarao
          id    ID          #IMPLIED
342 2 mingarao
          %selectorAttrs;>
343 2 mingarao
<!ELEMENT %field; ((%annotation;)?)>
344 2 mingarao
<!ATTLIST %field;
345 2 mingarao
          xpath %XPathExpr; #REQUIRED
346 2 mingarao
          id    ID          #IMPLIED
347 2 mingarao
          %fieldAttrs;>
348 2 mingarao
349 2 mingarao
<!-- Schema combination mechanisms -->
350 2 mingarao
<!ELEMENT %include; (%annotation;)?>
351 2 mingarao
<!ATTLIST %include;
352 2 mingarao
          schemaLocation %URIref; #REQUIRED
353 2 mingarao
          id             ID       #IMPLIED
354 2 mingarao
          %includeAttrs;>
355 2 mingarao
356 2 mingarao
<!ELEMENT %import; (%annotation;)?>
357 2 mingarao
<!ATTLIST %import;
358 2 mingarao
          namespace      %URIref; #IMPLIED
359 2 mingarao
          schemaLocation %URIref; #IMPLIED
360 2 mingarao
          id             ID       #IMPLIED
361 2 mingarao
          %importAttrs;>
362 2 mingarao
363 2 mingarao
<!ELEMENT %redefine; (%annotation; | %simpleType; | %complexType; |
364 2 mingarao
                      %attributeGroup; | %group;)*>
365 2 mingarao
<!ATTLIST %redefine;
366 2 mingarao
          schemaLocation %URIref; #REQUIRED
367 2 mingarao
          id             ID       #IMPLIED
368 2 mingarao
          %redefineAttrs;>
369 2 mingarao
370 2 mingarao
<!ELEMENT %notation; (%annotation;)?>
371 2 mingarao
<!ATTLIST %notation;
372 2 mingarao
	  name        %NCName;    #REQUIRED
373 2 mingarao
	  id          ID          #IMPLIED
374 2 mingarao
	  public      CDATA       #REQUIRED
375 2 mingarao
	  system      %URIref;    #IMPLIED
376 2 mingarao
	  %notationAttrs;>
377 2 mingarao
378 2 mingarao
<!-- Annotation is either application information or documentation -->
379 2 mingarao
<!-- By having these here they are available for datatypes as well
380 2 mingarao
     as all the structures elements -->
381 2 mingarao
382 2 mingarao
<!ELEMENT %annotation; (%appinfo; | %documentation;)*>
383 2 mingarao
<!ATTLIST %annotation; %annotationAttrs;>
384 2 mingarao
385 2 mingarao
<!-- User must define annotation elements in internal subset for this
386 2 mingarao
     to work -->
387 2 mingarao
<!ELEMENT %appinfo; ANY>   <!-- too restrictive -->
388 2 mingarao
<!ATTLIST %appinfo;
389 2 mingarao
          source     %URIref;      #IMPLIED
390 2 mingarao
          id         ID         #IMPLIED
391 2 mingarao
          %appinfoAttrs;>
392 2 mingarao
<!ELEMENT %documentation; ANY>   <!-- too restrictive -->
393 2 mingarao
<!ATTLIST %documentation;
394 2 mingarao
          source     %URIref;   #IMPLIED
395 2 mingarao
          id         ID         #IMPLIED
396 2 mingarao
          xml:lang   CDATA      #IMPLIED
397 2 mingarao
          %documentationAttrs;>
398 2 mingarao
399 2 mingarao
<!NOTATION XMLSchemaStructures PUBLIC
400 2 mingarao
           'structures' 'http://www.w3.org/2001/XMLSchema.xsd' >
401 2 mingarao
<!NOTATION XML PUBLIC
402 2 mingarao
           'REC-xml-1998-0210' 'http://www.w3.org/TR/1998/REC-xml-19980210' >