rgen-xsd 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,1235 @@
1
+ <!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "XMLSchema.dtd" [
2
+
3
+ <!-- provide ID type information even for parsers which only read the
4
+ internal subset -->
5
+ <!ATTLIST xs:schema id ID #IMPLIED>
6
+ <!ATTLIST xs:complexType id ID #IMPLIED>
7
+ <!ATTLIST xs:complexContent id ID #IMPLIED>
8
+ <!ATTLIST xs:simpleContent id ID #IMPLIED>
9
+ <!ATTLIST xs:extension id ID #IMPLIED>
10
+ <!ATTLIST xs:element id ID #IMPLIED>
11
+ <!ATTLIST xs:group id ID #IMPLIED>
12
+ <!ATTLIST xs:all id ID #IMPLIED>
13
+ <!ATTLIST xs:choice id ID #IMPLIED>
14
+ <!ATTLIST xs:sequence id ID #IMPLIED>
15
+ <!ATTLIST xs:any id ID #IMPLIED>
16
+ <!ATTLIST xs:anyAttribute id ID #IMPLIED>
17
+ <!ATTLIST xs:attribute id ID #IMPLIED>
18
+ <!ATTLIST xs:attributeGroup id ID #IMPLIED>
19
+ <!ATTLIST xs:unique id ID #IMPLIED>
20
+ <!ATTLIST xs:key id ID #IMPLIED>
21
+ <!ATTLIST xs:keyref id ID #IMPLIED>
22
+ <!ATTLIST xs:selector id ID #IMPLIED>
23
+ <!ATTLIST xs:field id ID #IMPLIED>
24
+ <!ATTLIST xs:include id ID #IMPLIED>
25
+ <!ATTLIST xs:import id ID #IMPLIED>
26
+ <!ATTLIST xs:redefine id ID #IMPLIED>
27
+ <!ATTLIST xs:notation id ID #IMPLIED>
28
+ ]>
29
+
30
+ <?xml version='1.0'?>
31
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" blockDefault="#all"
32
+ elementFormDefault="qualified" xml:lang="EN"
33
+ targetNamespace="http://www.w3.org/2001/XMLSchema"
34
+ version="Id: structures.xsd,v 1.2 2004/01/15 11:34:25 ht Exp ">
35
+ <xs:annotation>
36
+ <xs:documentation source="../structures/structures-with-errata.html.html">
37
+ The schema corresponding to this document is normative,
38
+ with respect to the syntactic constraints it expresses in the
39
+ XML Schema language. The documentation (within &lt;documentation> elements)
40
+ below, is not normative, but rather highlights important aspects of
41
+ the W3C Recommendation of which this is a part</xs:documentation>
42
+ </xs:annotation>
43
+ <xs:annotation>
44
+ <xs:documentation>
45
+ The simpleType element and all of its members are defined
46
+ in datatypes.xsd</xs:documentation>
47
+ </xs:annotation>
48
+ <xs:include schemaLocation="datatypes.xsd"/>
49
+ <xs:import namespace="http://www.w3.org/XML/1998/namespace"
50
+ schemaLocation="http://www.w3.org/2001/xml.xsd">
51
+ <xs:annotation>
52
+ <xs:documentation>
53
+ Get access to the xml: attribute groups for xml:lang
54
+ as declared on 'schema' and 'documentation' below
55
+ </xs:documentation>
56
+ </xs:annotation>
57
+ </xs:import>
58
+ <xs:complexType name="openAttrs">
59
+ <xs:annotation>
60
+ <xs:documentation>
61
+ This type is extended by almost all schema types
62
+ to allow attributes from other namespaces to be
63
+ added to user schemas.
64
+ </xs:documentation>
65
+ </xs:annotation>
66
+ <xs:complexContent>
67
+ <xs:restriction base="xs:anyType">
68
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
69
+ </xs:restriction>
70
+ </xs:complexContent>
71
+ </xs:complexType>
72
+ <xs:complexType name="annotated">
73
+ <xs:annotation>
74
+ <xs:documentation>
75
+ This type is extended by all types which allow annotation
76
+ other than &lt;schema> itself
77
+ </xs:documentation>
78
+ </xs:annotation>
79
+ <xs:complexContent>
80
+ <xs:extension base="xs:openAttrs">
81
+ <xs:sequence>
82
+ <xs:element ref="xs:annotation" minOccurs="0"/>
83
+ </xs:sequence>
84
+ <xs:attribute name="id" type="xs:ID"/>
85
+ </xs:extension>
86
+ </xs:complexContent>
87
+ </xs:complexType>
88
+ <xs:group name="schemaTop">
89
+ <xs:annotation>
90
+ <xs:documentation>
91
+ This group is for the
92
+ elements which occur freely at the top level of schemas.
93
+ All of their types are based on the "annotated" type by extension.</xs:documentation>
94
+ </xs:annotation>
95
+ <xs:choice>
96
+ <xs:group ref="xs:redefinable"/>
97
+ <xs:element ref="xs:element"/>
98
+ <xs:element ref="xs:attribute"/>
99
+ <xs:element ref="xs:notation"/>
100
+ </xs:choice>
101
+ </xs:group>
102
+ <xs:group name="redefinable">
103
+ <xs:annotation>
104
+ <xs:documentation>
105
+ This group is for the
106
+ elements which can self-redefine (see &lt;redefine> below).</xs:documentation>
107
+ </xs:annotation>
108
+ <xs:choice>
109
+ <xs:element ref="xs:simpleType"/>
110
+ <xs:element ref="xs:complexType"/>
111
+ <xs:element ref="xs:group"/>
112
+ <xs:element ref="xs:attributeGroup"/>
113
+ </xs:choice>
114
+ </xs:group>
115
+ <xs:simpleType name="formChoice">
116
+ <xs:annotation>
117
+ <xs:documentation>
118
+ A utility type, not for public use</xs:documentation>
119
+ </xs:annotation>
120
+ <xs:restriction base="xs:NMTOKEN">
121
+ <xs:enumeration value="qualified"/>
122
+ <xs:enumeration value="unqualified"/>
123
+ </xs:restriction>
124
+ </xs:simpleType>
125
+ <xs:simpleType name="reducedDerivationControl">
126
+ <xs:annotation>
127
+ <xs:documentation>
128
+ A utility type, not for public use</xs:documentation>
129
+ </xs:annotation>
130
+ <xs:restriction base="xs:derivationControl">
131
+ <xs:enumeration value="extension"/>
132
+ <xs:enumeration value="restriction"/>
133
+ </xs:restriction>
134
+ </xs:simpleType>
135
+ <xs:simpleType name="derivationSet">
136
+ <xs:annotation>
137
+ <xs:documentation>
138
+ A utility type, not for public use</xs:documentation>
139
+ <xs:documentation>
140
+ #all or (possibly empty) subset of {extension, restriction}</xs:documentation>
141
+ </xs:annotation>
142
+ <xs:union>
143
+ <xs:simpleType>
144
+ <xs:restriction base="xs:token">
145
+ <xs:enumeration value="#all"/>
146
+ </xs:restriction>
147
+ </xs:simpleType>
148
+ <xs:simpleType>
149
+ <xs:list itemType="xs:reducedDerivationControl"/>
150
+ </xs:simpleType>
151
+ </xs:union>
152
+ </xs:simpleType>
153
+ <xs:simpleType name="typeDerivationControl">
154
+ <xs:annotation>
155
+ <xs:documentation>
156
+ A utility type, not for public use</xs:documentation>
157
+ </xs:annotation>
158
+ <xs:restriction base="xs:derivationControl">
159
+ <xs:enumeration value="extension"/>
160
+ <xs:enumeration value="restriction"/>
161
+ <xs:enumeration value="list"/>
162
+ <xs:enumeration value="union"/>
163
+ </xs:restriction>
164
+ </xs:simpleType>
165
+ <xs:simpleType name="fullDerivationSet">
166
+ <xs:annotation>
167
+ <xs:documentation>
168
+ A utility type, not for public use</xs:documentation>
169
+ <xs:documentation>
170
+ #all or (possibly empty) subset of {extension, restriction, list, union}</xs:documentation>
171
+ </xs:annotation>
172
+ <xs:union>
173
+ <xs:simpleType>
174
+ <xs:restriction base="xs:token">
175
+ <xs:enumeration value="#all"/>
176
+ </xs:restriction>
177
+ </xs:simpleType>
178
+ <xs:simpleType>
179
+ <xs:list itemType="xs:typeDerivationControl"/>
180
+ </xs:simpleType>
181
+ </xs:union>
182
+ </xs:simpleType>
183
+ <xs:element name="schema" id="schema">
184
+ <xs:annotation>
185
+ <xs:documentation
186
+ source="http://www.w3.org/TR/xmlschema-1/#element-schema"/>
187
+ </xs:annotation>
188
+ <xs:complexType>
189
+ <xs:complexContent>
190
+ <xs:extension base="xs:openAttrs">
191
+ <xs:sequence>
192
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
193
+ <xs:element ref="xs:include"/>
194
+ <xs:element ref="xs:import"/>
195
+ <xs:element ref="xs:redefine"/>
196
+ <xs:element ref="xs:annotation"/>
197
+ </xs:choice>
198
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
199
+ <xs:group ref="xs:schemaTop"/>
200
+ <xs:element ref="xs:annotation" minOccurs="0"
201
+ maxOccurs="unbounded"/>
202
+ </xs:sequence>
203
+ </xs:sequence>
204
+ <xs:attribute name="targetNamespace" type="xs:anyURI"/>
205
+ <xs:attribute name="version" type="xs:token"/>
206
+ <xs:attribute name="finalDefault" type="xs:fullDerivationSet"
207
+ default="" use="optional"/>
208
+ <xs:attribute name="blockDefault" type="xs:blockSet" default=""
209
+ use="optional"/>
210
+ <xs:attribute name="attributeFormDefault" type="xs:formChoice"
211
+ default="unqualified" use="optional"/>
212
+ <xs:attribute name="elementFormDefault" type="xs:formChoice"
213
+ default="unqualified" use="optional"/>
214
+ <xs:attribute name="id" type="xs:ID"/>
215
+ <xs:attribute ref="xml:lang"/>
216
+ </xs:extension>
217
+ </xs:complexContent>
218
+ </xs:complexType>
219
+ <xs:key name="element">
220
+ <xs:selector xpath="xs:element"/>
221
+ <xs:field xpath="@name"/>
222
+ </xs:key>
223
+ <xs:key name="attribute">
224
+ <xs:selector xpath="xs:attribute"/>
225
+ <xs:field xpath="@name"/>
226
+ </xs:key>
227
+ <xs:key name="type">
228
+ <xs:selector xpath="xs:complexType|xs:simpleType"/>
229
+ <xs:field xpath="@name"/>
230
+ </xs:key>
231
+ <xs:key name="group">
232
+ <xs:selector xpath="xs:group"/>
233
+ <xs:field xpath="@name"/>
234
+ </xs:key>
235
+ <xs:key name="attributeGroup">
236
+ <xs:selector xpath="xs:attributeGroup"/>
237
+ <xs:field xpath="@name"/>
238
+ </xs:key>
239
+ <xs:key name="notation">
240
+ <xs:selector xpath="xs:notation"/>
241
+ <xs:field xpath="@name"/>
242
+ </xs:key>
243
+ <xs:key name="identityConstraint">
244
+ <xs:selector xpath=".//xs:key|.//xs:unique|.//xs:keyref"/>
245
+ <xs:field xpath="@name"/>
246
+ </xs:key>
247
+ </xs:element>
248
+ <xs:simpleType name="allNNI">
249
+ <xs:annotation>
250
+ <xs:documentation>
251
+ for maxOccurs</xs:documentation>
252
+ </xs:annotation>
253
+ <xs:union memberTypes="xs:nonNegativeInteger">
254
+ <xs:simpleType>
255
+ <xs:restriction base="xs:NMTOKEN">
256
+ <xs:enumeration value="unbounded"/>
257
+ </xs:restriction>
258
+ </xs:simpleType>
259
+ </xs:union>
260
+ </xs:simpleType>
261
+ <xs:attributeGroup name="occurs">
262
+ <xs:annotation>
263
+ <xs:documentation>
264
+ for all particles</xs:documentation>
265
+ </xs:annotation>
266
+ <xs:attribute name="minOccurs" type="xs:nonNegativeInteger" default="1"
267
+ use="optional"/>
268
+ <xs:attribute name="maxOccurs" type="xs:allNNI" default="1" use="optional"/>
269
+ </xs:attributeGroup>
270
+ <xs:attributeGroup name="defRef">
271
+ <xs:annotation>
272
+ <xs:documentation>
273
+ for element, group and attributeGroup,
274
+ which both define and reference</xs:documentation>
275
+ </xs:annotation>
276
+ <xs:attribute name="name" type="xs:NCName"/>
277
+ <xs:attribute name="ref" type="xs:QName"/>
278
+ </xs:attributeGroup>
279
+ <xs:group name="typeDefParticle">
280
+ <xs:annotation>
281
+ <xs:documentation>
282
+ 'complexType' uses this</xs:documentation>
283
+ </xs:annotation>
284
+ <xs:choice>
285
+ <xs:element name="group" type="xs:groupRef"/>
286
+ <xs:element ref="xs:all"/>
287
+ <xs:element ref="xs:choice"/>
288
+ <xs:element ref="xs:sequence"/>
289
+ </xs:choice>
290
+ </xs:group>
291
+ <xs:group name="nestedParticle">
292
+ <xs:choice>
293
+ <xs:element name="element" type="xs:localElement"/>
294
+ <xs:element name="group" type="xs:groupRef"/>
295
+ <xs:element ref="xs:choice"/>
296
+ <xs:element ref="xs:sequence"/>
297
+ <xs:element ref="xs:any"/>
298
+ </xs:choice>
299
+ </xs:group>
300
+ <xs:group name="particle">
301
+ <xs:choice>
302
+ <xs:element name="element" type="xs:localElement"/>
303
+ <xs:element name="group" type="xs:groupRef"/>
304
+ <xs:element ref="xs:all"/>
305
+ <xs:element ref="xs:choice"/>
306
+ <xs:element ref="xs:sequence"/>
307
+ <xs:element ref="xs:any"/>
308
+ </xs:choice>
309
+ </xs:group>
310
+ <xs:complexType name="attribute">
311
+ <xs:complexContent>
312
+ <xs:extension base="xs:annotated">
313
+ <xs:sequence>
314
+ <xs:element name="simpleType" type="xs:localSimpleType" minOccurs="0"/>
315
+ </xs:sequence>
316
+ <xs:attributeGroup ref="xs:defRef"/>
317
+ <xs:attribute name="type" type="xs:QName"/>
318
+ <xs:attribute name="use" default="optional" use="optional">
319
+ <xs:simpleType>
320
+ <xs:restriction base="xs:NMTOKEN">
321
+ <xs:enumeration value="prohibited"/>
322
+ <xs:enumeration value="optional"/>
323
+ <xs:enumeration value="required"/>
324
+ </xs:restriction>
325
+ </xs:simpleType>
326
+ </xs:attribute>
327
+ <xs:attribute name="default" type="xs:string"/>
328
+ <xs:attribute name="fixed" type="xs:string"/>
329
+ <xs:attribute name="form" type="xs:formChoice"/>
330
+ </xs:extension>
331
+ </xs:complexContent>
332
+ </xs:complexType>
333
+ <xs:complexType name="topLevelAttribute">
334
+ <xs:complexContent>
335
+ <xs:restriction base="xs:attribute">
336
+ <xs:sequence>
337
+ <xs:element ref="xs:annotation" minOccurs="0"/>
338
+ <xs:element name="simpleType" type="xs:localSimpleType" minOccurs="0"/>
339
+ </xs:sequence>
340
+ <xs:attribute name="ref" use="prohibited"/>
341
+ <xs:attribute name="form" use="prohibited"/>
342
+ <xs:attribute name="use" use="prohibited"/>
343
+ <xs:attribute name="name" type="xs:NCName" use="required"/>
344
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
345
+ </xs:restriction>
346
+ </xs:complexContent>
347
+ </xs:complexType>
348
+ <xs:group name="attrDecls">
349
+ <xs:sequence>
350
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
351
+ <xs:element name="attribute" type="xs:attribute"/>
352
+ <xs:element name="attributeGroup" type="xs:attributeGroupRef"/>
353
+ </xs:choice>
354
+ <xs:element ref="xs:anyAttribute" minOccurs="0"/>
355
+ </xs:sequence>
356
+ </xs:group>
357
+ <xs:element name="anyAttribute" type="xs:wildcard" id="anyAttribute">
358
+ <xs:annotation>
359
+ <xs:documentation
360
+ source="http://www.w3.org/TR/xmlschema-1/#element-anyAttribute"/>
361
+ </xs:annotation>
362
+ </xs:element>
363
+ <xs:group name="complexTypeModel">
364
+ <xs:choice>
365
+ <xs:element ref="xs:simpleContent"/>
366
+ <xs:element ref="xs:complexContent"/>
367
+ <xs:sequence>
368
+ <xs:annotation>
369
+ <xs:documentation>
370
+ This branch is short for
371
+ &lt;complexContent>
372
+ &lt;restriction base="xs:anyType">
373
+ ...
374
+ &lt;/restriction>
375
+ &lt;/complexContent></xs:documentation>
376
+ </xs:annotation>
377
+ <xs:group ref="xs:typeDefParticle" minOccurs="0"/>
378
+ <xs:group ref="xs:attrDecls"/>
379
+ </xs:sequence>
380
+ </xs:choice>
381
+ </xs:group>
382
+ <xs:complexType name="complexType" abstract="true">
383
+ <xs:complexContent>
384
+ <xs:extension base="xs:annotated">
385
+ <xs:group ref="xs:complexTypeModel"/>
386
+ <xs:attribute name="name" type="xs:NCName">
387
+ <xs:annotation>
388
+ <xs:documentation>
389
+ Will be restricted to required or forbidden</xs:documentation>
390
+ </xs:annotation>
391
+ </xs:attribute>
392
+ <xs:attribute name="mixed" type="xs:boolean" default="false"
393
+ use="optional">
394
+ <xs:annotation>
395
+ <xs:documentation>
396
+ Not allowed if simpleContent child is chosen.
397
+ May be overriden by setting on complexContent child.</xs:documentation>
398
+ </xs:annotation>
399
+ </xs:attribute>
400
+ <xs:attribute name="abstract" type="xs:boolean" default="false"
401
+ use="optional"/>
402
+ <xs:attribute name="final" type="xs:derivationSet"/>
403
+ <xs:attribute name="block" type="xs:derivationSet"/>
404
+ </xs:extension>
405
+ </xs:complexContent>
406
+ </xs:complexType>
407
+ <xs:complexType name="topLevelComplexType">
408
+ <xs:complexContent>
409
+ <xs:restriction base="xs:complexType">
410
+ <xs:sequence>
411
+ <xs:element ref="xs:annotation" minOccurs="0"/>
412
+ <xs:group ref="xs:complexTypeModel"/>
413
+ </xs:sequence>
414
+ <xs:attribute name="name" type="xs:NCName" use="required"/>
415
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
416
+ </xs:restriction>
417
+ </xs:complexContent>
418
+ </xs:complexType>
419
+ <xs:complexType name="localComplexType">
420
+ <xs:complexContent>
421
+ <xs:restriction base="xs:complexType">
422
+ <xs:sequence>
423
+ <xs:element ref="xs:annotation" minOccurs="0"/>
424
+ <xs:group ref="xs:complexTypeModel"/>
425
+ </xs:sequence>
426
+ <xs:attribute name="name" use="prohibited"/>
427
+ <xs:attribute name="abstract" use="prohibited"/>
428
+ <xs:attribute name="final" use="prohibited"/>
429
+ <xs:attribute name="block" use="prohibited"/>
430
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
431
+ </xs:restriction>
432
+ </xs:complexContent>
433
+ </xs:complexType>
434
+ <xs:complexType name="restrictionType">
435
+ <xs:complexContent>
436
+ <xs:extension base="xs:annotated">
437
+ <xs:sequence>
438
+ <xs:choice minOccurs="0">
439
+ <xs:group ref="xs:typeDefParticle"/>
440
+ <xs:group ref="xs:simpleRestrictionModel"/>
441
+ </xs:choice>
442
+ <xs:group ref="xs:attrDecls"/>
443
+ </xs:sequence>
444
+ <xs:attribute name="base" type="xs:QName" use="required"/>
445
+ </xs:extension>
446
+ </xs:complexContent>
447
+ </xs:complexType>
448
+ <xs:complexType name="complexRestrictionType">
449
+ <xs:complexContent>
450
+ <xs:restriction base="xs:restrictionType">
451
+ <xs:sequence>
452
+ <xs:element ref="xs:annotation" minOccurs="0"/>
453
+ <xs:choice minOccurs="0">
454
+ <xs:annotation>
455
+ <xs:documentation>This choice is added simply to
456
+ make this a valid restriction per the REC</xs:documentation>
457
+ </xs:annotation>
458
+ <xs:group ref="xs:typeDefParticle"/>
459
+ </xs:choice>
460
+ <xs:group ref="xs:attrDecls"/>
461
+ </xs:sequence>
462
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
463
+ </xs:restriction>
464
+ </xs:complexContent>
465
+ </xs:complexType>
466
+ <xs:complexType name="extensionType">
467
+ <xs:complexContent>
468
+ <xs:extension base="xs:annotated">
469
+ <xs:sequence>
470
+ <xs:group ref="xs:typeDefParticle" minOccurs="0"/>
471
+ <xs:group ref="xs:attrDecls"/>
472
+ </xs:sequence>
473
+ <xs:attribute name="base" type="xs:QName" use="required"/>
474
+ </xs:extension>
475
+ </xs:complexContent>
476
+ </xs:complexType>
477
+ <xs:element name="complexContent" id="complexContent">
478
+ <xs:annotation>
479
+ <xs:documentation
480
+ source="http://www.w3.org/TR/xmlschema-1/#element-complexContent"/>
481
+ </xs:annotation>
482
+ <xs:complexType>
483
+ <xs:complexContent>
484
+ <xs:extension base="xs:annotated">
485
+ <xs:choice>
486
+ <xs:element name="restriction" type="xs:complexRestrictionType"/>
487
+ <xs:element name="extension" type="xs:extensionType"/>
488
+ </xs:choice>
489
+ <xs:attribute name="mixed" type="xs:boolean">
490
+ <xs:annotation>
491
+ <xs:documentation>
492
+ Overrides any setting on complexType parent.</xs:documentation>
493
+ </xs:annotation>
494
+ </xs:attribute>
495
+ </xs:extension>
496
+ </xs:complexContent>
497
+ </xs:complexType>
498
+ </xs:element>
499
+ <xs:complexType name="simpleRestrictionType">
500
+ <xs:complexContent>
501
+ <xs:restriction base="xs:restrictionType">
502
+ <xs:sequence>
503
+ <xs:element ref="xs:annotation" minOccurs="0"/>
504
+ <xs:choice minOccurs="0">
505
+ <xs:annotation>
506
+ <xs:documentation>This choice is added simply to
507
+ make this a valid restriction per the REC</xs:documentation>
508
+ </xs:annotation>
509
+ <xs:group ref="xs:simpleRestrictionModel"/>
510
+ </xs:choice>
511
+ <xs:group ref="xs:attrDecls"/>
512
+ </xs:sequence>
513
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
514
+ </xs:restriction>
515
+ </xs:complexContent>
516
+ </xs:complexType>
517
+ <xs:complexType name="simpleExtensionType">
518
+ <xs:complexContent>
519
+ <xs:restriction base="xs:extensionType">
520
+ <xs:sequence>
521
+ <xs:annotation>
522
+ <xs:documentation>
523
+ No typeDefParticle group reference</xs:documentation>
524
+ </xs:annotation>
525
+ <xs:element ref="xs:annotation" minOccurs="0"/>
526
+ <xs:group ref="xs:attrDecls"/>
527
+ </xs:sequence>
528
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
529
+ </xs:restriction>
530
+ </xs:complexContent>
531
+ </xs:complexType>
532
+ <xs:element name="simpleContent" id="simpleContent">
533
+ <xs:annotation>
534
+ <xs:documentation
535
+ source="http://www.w3.org/TR/xmlschema-1/#element-simpleContent"/>
536
+ </xs:annotation>
537
+ <xs:complexType>
538
+ <xs:complexContent>
539
+ <xs:extension base="xs:annotated">
540
+ <xs:choice>
541
+ <xs:element name="restriction" type="xs:simpleRestrictionType"/>
542
+ <xs:element name="extension" type="xs:simpleExtensionType"/>
543
+ </xs:choice>
544
+ </xs:extension>
545
+ </xs:complexContent>
546
+ </xs:complexType>
547
+ </xs:element>
548
+ <xs:element name="complexType" type="xs:topLevelComplexType" id="complexType">
549
+ <xs:annotation>
550
+ <xs:documentation
551
+ source="http://www.w3.org/TR/xmlschema-1/#element-complexType"/>
552
+ </xs:annotation>
553
+ </xs:element>
554
+ <xs:simpleType name="blockSet">
555
+ <xs:annotation>
556
+ <xs:documentation>
557
+ A utility type, not for public use</xs:documentation>
558
+ <xs:documentation>
559
+ #all or (possibly empty) subset of {substitution, extension,
560
+ restriction}</xs:documentation>
561
+ </xs:annotation>
562
+ <xs:union>
563
+ <xs:simpleType>
564
+ <xs:restriction base="xs:token">
565
+ <xs:enumeration value="#all"/>
566
+ </xs:restriction>
567
+ </xs:simpleType>
568
+ <xs:simpleType>
569
+ <xs:list>
570
+ <xs:simpleType>
571
+ <xs:restriction base="xs:derivationControl">
572
+ <xs:enumeration value="extension"/>
573
+ <xs:enumeration value="restriction"/>
574
+ <xs:enumeration value="substitution"/>
575
+ </xs:restriction>
576
+ </xs:simpleType>
577
+ </xs:list>
578
+ </xs:simpleType>
579
+ </xs:union>
580
+ </xs:simpleType>
581
+ <xs:complexType name="element" abstract="true">
582
+ <xs:annotation>
583
+ <xs:documentation>
584
+ The element element can be used either
585
+ at the top level to define an element-type binding globally,
586
+ or within a content model to either reference a globally-defined
587
+ element or type or declare an element-type binding locally.
588
+ The ref form is not allowed at the top level.</xs:documentation>
589
+ </xs:annotation>
590
+ <xs:complexContent>
591
+ <xs:extension base="xs:annotated">
592
+ <xs:sequence>
593
+ <xs:choice minOccurs="0">
594
+ <xs:element name="simpleType" type="xs:localSimpleType"/>
595
+ <xs:element name="complexType" type="xs:localComplexType"/>
596
+ </xs:choice>
597
+ <xs:group ref="xs:identityConstraint" minOccurs="0"
598
+ maxOccurs="unbounded"/>
599
+ </xs:sequence>
600
+ <xs:attributeGroup ref="xs:defRef"/>
601
+ <xs:attribute name="type" type="xs:QName"/>
602
+ <xs:attribute name="substitutionGroup" type="xs:QName"/>
603
+ <xs:attributeGroup ref="xs:occurs"/>
604
+ <xs:attribute name="default" type="xs:string"/>
605
+ <xs:attribute name="fixed" type="xs:string"/>
606
+ <xs:attribute name="nillable" type="xs:boolean" default="false"
607
+ use="optional"/>
608
+ <xs:attribute name="abstract" type="xs:boolean" default="false"
609
+ use="optional"/>
610
+ <xs:attribute name="final" type="xs:derivationSet"/>
611
+ <xs:attribute name="block" type="xs:blockSet"/>
612
+ <xs:attribute name="form" type="xs:formChoice"/>
613
+ </xs:extension>
614
+ </xs:complexContent>
615
+ </xs:complexType>
616
+ <xs:complexType name="topLevelElement">
617
+ <xs:complexContent>
618
+ <xs:restriction base="xs:element">
619
+ <xs:sequence>
620
+ <xs:element ref="xs:annotation" minOccurs="0"/>
621
+ <xs:choice minOccurs="0">
622
+ <xs:element name="simpleType" type="xs:localSimpleType"/>
623
+ <xs:element name="complexType" type="xs:localComplexType"/>
624
+ </xs:choice>
625
+ <xs:group ref="xs:identityConstraint" minOccurs="0"
626
+ maxOccurs="unbounded"/>
627
+ </xs:sequence>
628
+ <xs:attribute name="ref" use="prohibited"/>
629
+ <xs:attribute name="form" use="prohibited"/>
630
+ <xs:attribute name="minOccurs" use="prohibited"/>
631
+ <xs:attribute name="maxOccurs" use="prohibited"/>
632
+ <xs:attribute name="name" type="xs:NCName" use="required"/>
633
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
634
+ </xs:restriction>
635
+ </xs:complexContent>
636
+ </xs:complexType>
637
+ <xs:complexType name="localElement">
638
+ <xs:complexContent>
639
+ <xs:restriction base="xs:element">
640
+ <xs:sequence>
641
+ <xs:element ref="xs:annotation" minOccurs="0"/>
642
+ <xs:choice minOccurs="0">
643
+ <xs:element name="simpleType" type="xs:localSimpleType"/>
644
+ <xs:element name="complexType" type="xs:localComplexType"/>
645
+ </xs:choice>
646
+ <xs:group ref="xs:identityConstraint" minOccurs="0"
647
+ maxOccurs="unbounded"/>
648
+ </xs:sequence>
649
+ <xs:attribute name="substitutionGroup" use="prohibited"/>
650
+ <xs:attribute name="final" use="prohibited"/>
651
+ <xs:attribute name="abstract" use="prohibited"/>
652
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
653
+ </xs:restriction>
654
+ </xs:complexContent>
655
+ </xs:complexType>
656
+ <xs:element name="element" type="xs:topLevelElement" id="element">
657
+ <xs:annotation>
658
+ <xs:documentation
659
+ source="http://www.w3.org/TR/xmlschema-1/#element-element"/>
660
+ </xs:annotation>
661
+ </xs:element>
662
+ <xs:complexType name="group" abstract="true">
663
+ <xs:annotation>
664
+ <xs:documentation>
665
+ group type for explicit groups, named top-level groups and
666
+ group references</xs:documentation>
667
+ </xs:annotation>
668
+ <xs:complexContent>
669
+ <xs:extension base="xs:annotated">
670
+ <xs:group ref="xs:particle" minOccurs="0" maxOccurs="unbounded"/>
671
+ <xs:attributeGroup ref="xs:defRef"/>
672
+ <xs:attributeGroup ref="xs:occurs"/>
673
+ </xs:extension>
674
+ </xs:complexContent>
675
+ </xs:complexType>
676
+ <xs:complexType name="realGroup">
677
+ <xs:complexContent>
678
+ <xs:restriction base="xs:group">
679
+ <xs:sequence>
680
+ <xs:element ref="xs:annotation" minOccurs="0"/>
681
+ <xs:choice minOccurs="0" maxOccurs="1">
682
+ <xs:element ref="xs:all"/>
683
+ <xs:element ref="xs:choice"/>
684
+ <xs:element ref="xs:sequence"/>
685
+ </xs:choice>
686
+ </xs:sequence>
687
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
688
+ </xs:restriction>
689
+ </xs:complexContent>
690
+ </xs:complexType>
691
+ <xs:complexType name="namedGroup">
692
+ <xs:complexContent>
693
+ <xs:restriction base="xs:realGroup">
694
+ <xs:sequence>
695
+ <xs:element ref="xs:annotation" minOccurs="0"/>
696
+ <xs:choice minOccurs="1" maxOccurs="1">
697
+ <xs:element name="all">
698
+ <xs:complexType>
699
+ <xs:complexContent>
700
+ <xs:restriction base="xs:all">
701
+ <xs:group ref="xs:allModel"/>
702
+ <xs:attribute name="minOccurs" use="prohibited"/>
703
+ <xs:attribute name="maxOccurs" use="prohibited"/>
704
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
705
+ </xs:restriction>
706
+ </xs:complexContent>
707
+ </xs:complexType>
708
+ </xs:element>
709
+ <xs:element name="choice" type="xs:simpleExplicitGroup"/>
710
+ <xs:element name="sequence" type="xs:simpleExplicitGroup"/>
711
+ </xs:choice>
712
+ </xs:sequence>
713
+ <xs:attribute name="name" type="xs:NCName" use="required"/>
714
+ <xs:attribute name="ref" use="prohibited"/>
715
+ <xs:attribute name="minOccurs" use="prohibited"/>
716
+ <xs:attribute name="maxOccurs" use="prohibited"/>
717
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
718
+ </xs:restriction>
719
+ </xs:complexContent>
720
+ </xs:complexType>
721
+ <xs:complexType name="groupRef">
722
+ <xs:complexContent>
723
+ <xs:restriction base="xs:realGroup">
724
+ <xs:sequence>
725
+ <xs:element ref="xs:annotation" minOccurs="0"/>
726
+ </xs:sequence>
727
+ <xs:attribute name="ref" type="xs:QName" use="required"/>
728
+ <xs:attribute name="name" use="prohibited"/>
729
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
730
+ </xs:restriction>
731
+ </xs:complexContent>
732
+ </xs:complexType>
733
+ <xs:complexType name="explicitGroup">
734
+ <xs:annotation>
735
+ <xs:documentation>
736
+ group type for the three kinds of group</xs:documentation>
737
+ </xs:annotation>
738
+ <xs:complexContent>
739
+ <xs:restriction base="xs:group">
740
+ <xs:sequence>
741
+ <xs:element ref="xs:annotation" minOccurs="0"/>
742
+ <xs:group ref="xs:nestedParticle" minOccurs="0" maxOccurs="unbounded"/>
743
+ </xs:sequence>
744
+ <xs:attribute name="name" type="xs:NCName" use="prohibited"/>
745
+ <xs:attribute name="ref" type="xs:QName" use="prohibited"/>
746
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
747
+ </xs:restriction>
748
+ </xs:complexContent>
749
+ </xs:complexType>
750
+ <xs:complexType name="simpleExplicitGroup">
751
+ <xs:complexContent>
752
+ <xs:restriction base="xs:explicitGroup">
753
+ <xs:sequence>
754
+ <xs:element ref="xs:annotation" minOccurs="0"/>
755
+ <xs:group ref="xs:nestedParticle" minOccurs="0" maxOccurs="unbounded"/>
756
+ </xs:sequence>
757
+ <xs:attribute name="minOccurs" use="prohibited"/>
758
+ <xs:attribute name="maxOccurs" use="prohibited"/>
759
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
760
+ </xs:restriction>
761
+ </xs:complexContent>
762
+ </xs:complexType>
763
+ <xs:group name="allModel">
764
+ <xs:sequence>
765
+ <xs:element ref="xs:annotation" minOccurs="0"/>
766
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
767
+ <xs:annotation>
768
+ <xs:documentation>This choice with min/max is here to
769
+ avoid a pblm with the Elt:All/Choice/Seq
770
+ Particle derivation constraint</xs:documentation>
771
+ </xs:annotation>
772
+ <xs:element name="element" type="xs:narrowMaxMin"/>
773
+ </xs:choice>
774
+ </xs:sequence>
775
+ </xs:group>
776
+ <xs:complexType name="narrowMaxMin">
777
+ <xs:annotation>
778
+ <xs:documentation>restricted max/min</xs:documentation>
779
+ </xs:annotation>
780
+ <xs:complexContent>
781
+ <xs:restriction base="xs:localElement">
782
+ <xs:sequence>
783
+ <xs:element ref="xs:annotation" minOccurs="0"/>
784
+ <xs:choice minOccurs="0">
785
+ <xs:element name="simpleType" type="xs:localSimpleType"/>
786
+ <xs:element name="complexType" type="xs:localComplexType"/>
787
+ </xs:choice>
788
+ <xs:group ref="xs:identityConstraint" minOccurs="0"
789
+ maxOccurs="unbounded"/>
790
+ </xs:sequence>
791
+ <xs:attribute name="minOccurs" default="1" use="optional">
792
+ <xs:simpleType>
793
+ <xs:restriction base="xs:nonNegativeInteger">
794
+ <xs:enumeration value="0"/>
795
+ <xs:enumeration value="1"/>
796
+ </xs:restriction>
797
+ </xs:simpleType>
798
+ </xs:attribute>
799
+ <xs:attribute name="maxOccurs" default="1" use="optional">
800
+ <xs:simpleType>
801
+ <xs:restriction base="xs:allNNI">
802
+ <xs:enumeration value="0"/>
803
+ <xs:enumeration value="1"/>
804
+ </xs:restriction>
805
+ </xs:simpleType>
806
+ </xs:attribute>
807
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
808
+ </xs:restriction>
809
+ </xs:complexContent>
810
+ </xs:complexType>
811
+ <xs:complexType name="all">
812
+ <xs:annotation>
813
+ <xs:documentation>
814
+ Only elements allowed inside</xs:documentation>
815
+ </xs:annotation>
816
+ <xs:complexContent>
817
+ <xs:restriction base="xs:explicitGroup">
818
+ <xs:group ref="xs:allModel"/>
819
+ <xs:attribute name="minOccurs" default="1" use="optional">
820
+ <xs:simpleType>
821
+ <xs:restriction base="xs:nonNegativeInteger">
822
+ <xs:enumeration value="0"/>
823
+ <xs:enumeration value="1"/>
824
+ </xs:restriction>
825
+ </xs:simpleType>
826
+ </xs:attribute>
827
+ <xs:attribute name="maxOccurs" default="1" use="optional">
828
+ <xs:simpleType>
829
+ <xs:restriction base="xs:allNNI">
830
+ <xs:enumeration value="1"/>
831
+ </xs:restriction>
832
+ </xs:simpleType>
833
+ </xs:attribute>
834
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
835
+ </xs:restriction>
836
+ </xs:complexContent>
837
+ </xs:complexType>
838
+ <xs:element name="all" type="xs:all" id="all">
839
+ <xs:annotation>
840
+ <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-all"/>
841
+ </xs:annotation>
842
+ </xs:element>
843
+ <xs:element name="choice" type="xs:explicitGroup" id="choice">
844
+ <xs:annotation>
845
+ <xs:documentation
846
+ source="http://www.w3.org/TR/xmlschema-1/#element-choice"/>
847
+ </xs:annotation>
848
+ </xs:element>
849
+ <xs:element name="sequence" type="xs:explicitGroup" id="sequence">
850
+ <xs:annotation>
851
+ <xs:documentation
852
+ source="http://www.w3.org/TR/xmlschema-1/#element-sequence"/>
853
+ </xs:annotation>
854
+ </xs:element>
855
+ <xs:element name="group" type="xs:namedGroup" id="group">
856
+ <xs:annotation>
857
+ <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-group"/>
858
+ </xs:annotation>
859
+ </xs:element>
860
+ <xs:complexType name="wildcard">
861
+ <xs:complexContent>
862
+ <xs:extension base="xs:annotated">
863
+ <xs:attribute name="namespace" type="xs:namespaceList" default="##any"
864
+ use="optional"/>
865
+ <xs:attribute name="processContents" default="strict" use="optional">
866
+ <xs:simpleType>
867
+ <xs:restriction base="xs:NMTOKEN">
868
+ <xs:enumeration value="skip"/>
869
+ <xs:enumeration value="lax"/>
870
+ <xs:enumeration value="strict"/>
871
+ </xs:restriction>
872
+ </xs:simpleType>
873
+ </xs:attribute>
874
+ </xs:extension>
875
+ </xs:complexContent>
876
+ </xs:complexType>
877
+ <xs:element name="any" id="any">
878
+ <xs:annotation>
879
+ <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-any"/>
880
+ </xs:annotation>
881
+ <xs:complexType>
882
+ <xs:complexContent>
883
+ <xs:extension base="xs:wildcard">
884
+ <xs:attributeGroup ref="xs:occurs"/>
885
+ </xs:extension>
886
+ </xs:complexContent>
887
+ </xs:complexType>
888
+ </xs:element>
889
+ <xs:annotation>
890
+ <xs:documentation>
891
+ simple type for the value of the 'namespace' attr of
892
+ 'any' and 'anyAttribute'</xs:documentation>
893
+ </xs:annotation>
894
+ <xs:annotation>
895
+ <xs:documentation>
896
+ Value is
897
+ ##any - - any non-conflicting WFXML/attribute at all
898
+
899
+ ##other - - any non-conflicting WFXML/attribute from
900
+ namespace other than targetNS
901
+
902
+ ##local - - any unqualified non-conflicting WFXML/attribute
903
+
904
+ one or - - any non-conflicting WFXML/attribute from
905
+ more URI the listed namespaces
906
+ references
907
+ (space separated)
908
+
909
+ ##targetNamespace or ##local may appear in the above list, to
910
+ refer to the targetNamespace of the enclosing
911
+ schema or an absent targetNamespace respectively</xs:documentation>
912
+ </xs:annotation>
913
+ <xs:simpleType name="namespaceList">
914
+ <xs:annotation>
915
+ <xs:documentation>
916
+ A utility type, not for public use</xs:documentation>
917
+ </xs:annotation>
918
+ <xs:union>
919
+ <xs:simpleType>
920
+ <xs:restriction base="xs:token">
921
+ <xs:enumeration value="##any"/>
922
+ <xs:enumeration value="##other"/>
923
+ </xs:restriction>
924
+ </xs:simpleType>
925
+ <xs:simpleType>
926
+ <xs:list>
927
+ <xs:simpleType>
928
+ <xs:union memberTypes="xs:anyURI">
929
+ <xs:simpleType>
930
+ <xs:restriction base="xs:token">
931
+ <xs:enumeration value="##targetNamespace"/>
932
+ <xs:enumeration value="##local"/>
933
+ </xs:restriction>
934
+ </xs:simpleType>
935
+ </xs:union>
936
+ </xs:simpleType>
937
+ </xs:list>
938
+ </xs:simpleType>
939
+ </xs:union>
940
+ </xs:simpleType>
941
+ <xs:element name="attribute" type="xs:topLevelAttribute" id="attribute">
942
+ <xs:annotation>
943
+ <xs:documentation
944
+ source="http://www.w3.org/TR/xmlschema-1/#element-attribute"/>
945
+ </xs:annotation>
946
+ </xs:element>
947
+ <xs:complexType name="attributeGroup" abstract="true">
948
+ <xs:complexContent>
949
+ <xs:extension base="xs:annotated">
950
+ <xs:group ref="xs:attrDecls"/>
951
+ <xs:attributeGroup ref="xs:defRef"/>
952
+ </xs:extension>
953
+ </xs:complexContent>
954
+ </xs:complexType>
955
+ <xs:complexType name="namedAttributeGroup">
956
+ <xs:complexContent>
957
+ <xs:restriction base="xs:attributeGroup">
958
+ <xs:sequence>
959
+ <xs:element ref="xs:annotation" minOccurs="0"/>
960
+ <xs:group ref="xs:attrDecls"/>
961
+ </xs:sequence>
962
+ <xs:attribute name="name" type="xs:NCName" use="required"/>
963
+ <xs:attribute name="ref" use="prohibited"/>
964
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
965
+ </xs:restriction>
966
+ </xs:complexContent>
967
+ </xs:complexType>
968
+ <xs:complexType name="attributeGroupRef">
969
+ <xs:complexContent>
970
+ <xs:restriction base="xs:attributeGroup">
971
+ <xs:sequence>
972
+ <xs:element ref="xs:annotation" minOccurs="0"/>
973
+ </xs:sequence>
974
+ <xs:attribute name="ref" type="xs:QName" use="required"/>
975
+ <xs:attribute name="name" use="prohibited"/>
976
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
977
+ </xs:restriction>
978
+ </xs:complexContent>
979
+ </xs:complexType>
980
+ <xs:element name="attributeGroup" type="xs:namedAttributeGroup"
981
+ id="attributeGroup">
982
+ <xs:annotation>
983
+ <xs:documentation
984
+ source="http://www.w3.org/TR/xmlschema-1/#element-attributeGroup"/>
985
+ </xs:annotation>
986
+ </xs:element>
987
+ <xs:element name="include" id="include">
988
+ <xs:annotation>
989
+ <xs:documentation
990
+ source="http://www.w3.org/TR/xmlschema-1/#element-include"/>
991
+ </xs:annotation>
992
+ <xs:complexType>
993
+ <xs:complexContent>
994
+ <xs:extension base="xs:annotated">
995
+ <xs:attribute name="schemaLocation" type="xs:anyURI" use="required"/>
996
+ </xs:extension>
997
+ </xs:complexContent>
998
+ </xs:complexType>
999
+ </xs:element>
1000
+ <xs:element name="redefine" id="redefine">
1001
+ <xs:annotation>
1002
+ <xs:documentation
1003
+ source="http://www.w3.org/TR/xmlschema-1/#element-redefine"/>
1004
+ </xs:annotation>
1005
+ <xs:complexType>
1006
+ <xs:complexContent>
1007
+ <xs:extension base="xs:openAttrs">
1008
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
1009
+ <xs:element ref="xs:annotation"/>
1010
+ <xs:group ref="xs:redefinable"/>
1011
+ </xs:choice>
1012
+ <xs:attribute name="schemaLocation" type="xs:anyURI" use="required"/>
1013
+ <xs:attribute name="id" type="xs:ID"/>
1014
+ </xs:extension>
1015
+ </xs:complexContent>
1016
+ </xs:complexType>
1017
+ </xs:element>
1018
+ <xs:element name="import" id="import">
1019
+ <xs:annotation>
1020
+ <xs:documentation
1021
+ source="http://www.w3.org/TR/xmlschema-1/#element-import"/>
1022
+ </xs:annotation>
1023
+ <xs:complexType>
1024
+ <xs:complexContent>
1025
+ <xs:extension base="xs:annotated">
1026
+ <xs:attribute name="namespace" type="xs:anyURI"/>
1027
+ <xs:attribute name="schemaLocation" type="xs:anyURI"/>
1028
+ </xs:extension>
1029
+ </xs:complexContent>
1030
+ </xs:complexType>
1031
+ </xs:element>
1032
+ <xs:element name="selector" id="selector">
1033
+ <xs:annotation>
1034
+ <xs:documentation
1035
+ source="http://www.w3.org/TR/xmlschema-1/#element-selector"/>
1036
+ </xs:annotation>
1037
+ <xs:complexType>
1038
+ <xs:complexContent>
1039
+ <xs:extension base="xs:annotated">
1040
+ <xs:attribute name="xpath" use="required">
1041
+ <xs:simpleType>
1042
+ <xs:annotation>
1043
+ <xs:documentation>A subset of XPath expressions for use
1044
+ in selectors</xs:documentation>
1045
+ <xs:documentation>A utility type, not for public
1046
+ use</xs:documentation>
1047
+ </xs:annotation>
1048
+ <xs:restriction base="xs:token">
1049
+ <xs:annotation>
1050
+ <xs:documentation>The following pattern is intended to allow XPath
1051
+ expressions per the following EBNF:
1052
+ Selector ::= Path ( '|' Path )*
1053
+ Path ::= ('.//')? Step ( '/' Step )*
1054
+ Step ::= '.' | NameTest
1055
+ NameTest ::= QName | '*' | NCName ':' '*'
1056
+ child:: is also allowed
1057
+ </xs:documentation>
1058
+ </xs:annotation>
1059
+ <xs:pattern
1060
+ value="(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*(\|(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*)*"/>
1061
+ </xs:restriction>
1062
+ </xs:simpleType>
1063
+ </xs:attribute>
1064
+ </xs:extension>
1065
+ </xs:complexContent>
1066
+ </xs:complexType>
1067
+ </xs:element>
1068
+ <xs:element name="field" id="field">
1069
+ <xs:annotation>
1070
+ <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-field"/>
1071
+ </xs:annotation>
1072
+ <xs:complexType>
1073
+ <xs:complexContent>
1074
+ <xs:extension base="xs:annotated">
1075
+ <xs:attribute name="xpath" use="required">
1076
+ <xs:simpleType>
1077
+ <xs:annotation>
1078
+ <xs:documentation>A subset of XPath expressions for use
1079
+ in fields</xs:documentation>
1080
+ <xs:documentation>A utility type, not for public
1081
+ use</xs:documentation>
1082
+ </xs:annotation>
1083
+ <xs:restriction base="xs:token">
1084
+ <xs:annotation>
1085
+ <xs:documentation>The following pattern is intended to allow XPath
1086
+ expressions per the same EBNF as for selector,
1087
+ with the following change:
1088
+ Path ::= ('.//')? ( Step '/' )* ( Step | '@' NameTest )
1089
+ </xs:documentation>
1090
+ </xs:annotation>
1091
+ <xs:pattern
1092
+ value="(\.//)?((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)/)*((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)|((attribute::|@)((\i\c*:)?(\i\c*|\*))))(\|(\.//)?((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)/)*((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)|((attribute::|@)((\i\c*:)?(\i\c*|\*)))))*"/>
1093
+ </xs:restriction>
1094
+ </xs:simpleType>
1095
+ </xs:attribute>
1096
+ </xs:extension>
1097
+ </xs:complexContent>
1098
+ </xs:complexType>
1099
+ </xs:element>
1100
+ <xs:complexType name="keybase">
1101
+ <xs:complexContent>
1102
+ <xs:extension base="xs:annotated">
1103
+ <xs:sequence>
1104
+ <xs:element ref="xs:selector"/>
1105
+ <xs:element ref="xs:field" minOccurs="1" maxOccurs="unbounded"/>
1106
+ </xs:sequence>
1107
+ <xs:attribute name="name" type="xs:NCName" use="required"/>
1108
+ </xs:extension>
1109
+ </xs:complexContent>
1110
+ </xs:complexType>
1111
+ <xs:group name="identityConstraint">
1112
+ <xs:annotation>
1113
+ <xs:documentation>The three kinds of identity constraints, all with
1114
+ type of or derived from 'keybase'.
1115
+ </xs:documentation>
1116
+ </xs:annotation>
1117
+ <xs:choice>
1118
+ <xs:element ref="xs:unique"/>
1119
+ <xs:element ref="xs:key"/>
1120
+ <xs:element ref="xs:keyref"/>
1121
+ </xs:choice>
1122
+ </xs:group>
1123
+ <xs:element name="unique" type="xs:keybase" id="unique">
1124
+ <xs:annotation>
1125
+ <xs:documentation
1126
+ source="http://www.w3.org/TR/xmlschema-1/#element-unique"/>
1127
+ </xs:annotation>
1128
+ </xs:element>
1129
+ <xs:element name="key" type="xs:keybase" id="key">
1130
+ <xs:annotation>
1131
+ <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-key"/>
1132
+ </xs:annotation>
1133
+ </xs:element>
1134
+ <xs:element name="keyref" id="keyref">
1135
+ <xs:annotation>
1136
+ <xs:documentation
1137
+ source="http://www.w3.org/TR/xmlschema-1/#element-keyref"/>
1138
+ </xs:annotation>
1139
+ <xs:complexType>
1140
+ <xs:complexContent>
1141
+ <xs:extension base="xs:keybase">
1142
+ <xs:attribute name="refer" type="xs:QName" use="required"/>
1143
+ </xs:extension>
1144
+ </xs:complexContent>
1145
+ </xs:complexType>
1146
+ </xs:element>
1147
+ <xs:element name="notation" id="notation">
1148
+ <xs:annotation>
1149
+ <xs:documentation
1150
+ source="http://www.w3.org/TR/xmlschema-1/#element-notation"/>
1151
+ </xs:annotation>
1152
+ <xs:complexType>
1153
+ <xs:complexContent>
1154
+ <xs:extension base="xs:annotated">
1155
+ <xs:attribute name="name" type="xs:NCName" use="required"/>
1156
+ <xs:attribute name="public" type="xs:public"/>
1157
+ <xs:attribute name="system" type="xs:anyURI"/>
1158
+ </xs:extension>
1159
+ </xs:complexContent>
1160
+ </xs:complexType>
1161
+ </xs:element>
1162
+ <xs:simpleType name="public">
1163
+ <xs:annotation>
1164
+ <xs:documentation>
1165
+ A utility type, not for public use</xs:documentation>
1166
+ <xs:documentation>
1167
+ A public identifier, per ISO 8879</xs:documentation>
1168
+ </xs:annotation>
1169
+ <xs:restriction base="xs:token"/>
1170
+ </xs:simpleType>
1171
+ <xs:element name="appinfo" id="appinfo">
1172
+ <xs:annotation>
1173
+ <xs:documentation
1174
+ source="http://www.w3.org/TR/xmlschema-1/#element-appinfo"/>
1175
+ </xs:annotation>
1176
+ <xs:complexType mixed="true">
1177
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
1178
+ <xs:any processContents="lax"/>
1179
+ </xs:sequence>
1180
+ <xs:attribute name="source" type="xs:anyURI"/>
1181
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
1182
+ </xs:complexType>
1183
+ </xs:element>
1184
+ <xs:element name="documentation" id="documentation">
1185
+ <xs:annotation>
1186
+ <xs:documentation
1187
+ source="http://www.w3.org/TR/xmlschema-1/#element-documentation"/>
1188
+ </xs:annotation>
1189
+ <xs:complexType mixed="true">
1190
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
1191
+ <xs:any processContents="lax"/>
1192
+ </xs:sequence>
1193
+ <xs:attribute name="source" type="xs:anyURI"/>
1194
+ <xs:attribute ref="xml:lang"/>
1195
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
1196
+ </xs:complexType>
1197
+ </xs:element>
1198
+ <xs:element name="annotation" id="annotation">
1199
+ <xs:annotation>
1200
+ <xs:documentation
1201
+ source="http://www.w3.org/TR/xmlschema-1/#element-annotation"/>
1202
+ </xs:annotation>
1203
+ <xs:complexType>
1204
+ <xs:complexContent>
1205
+ <xs:extension base="xs:openAttrs">
1206
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
1207
+ <xs:element ref="xs:appinfo"/>
1208
+ <xs:element ref="xs:documentation"/>
1209
+ </xs:choice>
1210
+ <xs:attribute name="id" type="xs:ID"/>
1211
+ </xs:extension>
1212
+ </xs:complexContent>
1213
+ </xs:complexType>
1214
+ </xs:element>
1215
+ <xs:annotation>
1216
+ <xs:documentation>
1217
+ notations for use within XML Schema schemas</xs:documentation>
1218
+ </xs:annotation>
1219
+ <xs:notation name="XMLSchemaStructures" public="structures"
1220
+ system="http://www.w3.org/2000/08/XMLSchema.xsd"/>
1221
+ <xs:notation name="XML" public="REC-xml-19980210"
1222
+ system="http://www.w3.org/TR/1998/REC-xml-19980210"/>
1223
+ <xs:complexType name="anyType" mixed="true">
1224
+ <xs:annotation>
1225
+ <xs:documentation>
1226
+ Not the real urType, but as close an approximation as we can
1227
+ get in the XML representation</xs:documentation>
1228
+ </xs:annotation>
1229
+ <xs:sequence>
1230
+ <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
1231
+ </xs:sequence>
1232
+ <xs:anyAttribute processContents="lax"/>
1233
+ </xs:complexType>
1234
+ </xs:schema>
1235
+