rgen-xsd 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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
+