schematic 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,2534 @@
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
+ <!-- XML Schema schema for XML Schemas: Part 1: Structures -->
3
+ <!-- Note this schema is NOT the normative structures schema. -->
4
+ <!-- The prose copy in the structures REC is the normative -->
5
+ <!-- version (which shouldn't differ from this one except for -->
6
+ <!-- this comment and entity expansions, but just in case -->
7
+ <!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "XMLSchema.dtd" [
8
+
9
+ <!-- provide ID type information even for parsers which only read the
10
+ internal subset -->
11
+ <!ATTLIST xs:schema id ID #IMPLIED>
12
+ <!ATTLIST xs:complexType id ID #IMPLIED>
13
+ <!ATTLIST xs:complexContent id ID #IMPLIED>
14
+ <!ATTLIST xs:simpleContent id ID #IMPLIED>
15
+ <!ATTLIST xs:extension id ID #IMPLIED>
16
+ <!ATTLIST xs:element id ID #IMPLIED>
17
+ <!ATTLIST xs:group id ID #IMPLIED>
18
+ <!ATTLIST xs:all id ID #IMPLIED>
19
+ <!ATTLIST xs:choice id ID #IMPLIED>
20
+ <!ATTLIST xs:sequence id ID #IMPLIED>
21
+ <!ATTLIST xs:any id ID #IMPLIED>
22
+ <!ATTLIST xs:anyAttribute id ID #IMPLIED>
23
+ <!ATTLIST xs:attribute id ID #IMPLIED>
24
+ <!ATTLIST xs:attributeGroup id ID #IMPLIED>
25
+ <!ATTLIST xs:unique id ID #IMPLIED>
26
+ <!ATTLIST xs:key id ID #IMPLIED>
27
+ <!ATTLIST xs:keyref id ID #IMPLIED>
28
+ <!ATTLIST xs:selector id ID #IMPLIED>
29
+ <!ATTLIST xs:field id ID #IMPLIED>
30
+ <!ATTLIST xs:include id ID #IMPLIED>
31
+ <!ATTLIST xs:import id ID #IMPLIED>
32
+ <!ATTLIST xs:redefine id ID #IMPLIED>
33
+ <!ATTLIST xs:notation id ID #IMPLIED>
34
+ <!--
35
+ keep this schema XML1.0 DTD valid
36
+ -->
37
+ <!ENTITY % schemaAttrs 'xmlns:hfp CDATA #IMPLIED'>
38
+
39
+ <!ELEMENT hfp:hasFacet EMPTY>
40
+ <!ATTLIST hfp:hasFacet
41
+ name NMTOKEN #REQUIRED>
42
+
43
+ <!ELEMENT hfp:hasProperty EMPTY>
44
+ <!ATTLIST hfp:hasProperty
45
+ name NMTOKEN #REQUIRED
46
+ value CDATA #REQUIRED>
47
+ <!--
48
+ Make sure that processors that do not read the external
49
+ subset will know about the various IDs we declare
50
+ -->
51
+ <!ATTLIST xs:simpleType id ID #IMPLIED>
52
+ <!ATTLIST xs:maxExclusive id ID #IMPLIED>
53
+ <!ATTLIST xs:minExclusive id ID #IMPLIED>
54
+ <!ATTLIST xs:maxInclusive id ID #IMPLIED>
55
+ <!ATTLIST xs:minInclusive id ID #IMPLIED>
56
+ <!ATTLIST xs:totalDigits id ID #IMPLIED>
57
+ <!ATTLIST xs:fractionDigits id ID #IMPLIED>
58
+ <!ATTLIST xs:length id ID #IMPLIED>
59
+ <!ATTLIST xs:minLength id ID #IMPLIED>
60
+ <!ATTLIST xs:maxLength id ID #IMPLIED>
61
+ <!ATTLIST xs:enumeration id ID #IMPLIED>
62
+ <!ATTLIST xs:pattern id ID #IMPLIED>
63
+ <!ATTLIST xs:appinfo id ID #IMPLIED>
64
+ <!ATTLIST xs:documentation id ID #IMPLIED>
65
+ <!ATTLIST xs:list id ID #IMPLIED>
66
+ <!ATTLIST xs:union id ID #IMPLIED>
67
+ ]>
68
+ <xs:schema targetNamespace="http://www.w3.org/2001/XMLSchema" blockDefault="#all" elementFormDefault="qualified" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="EN" xmlns:hfp="http://www.w3.org/2001/XMLSchema-hasFacetAndProperty">
69
+ <xs:annotation>
70
+ <xs:documentation>
71
+ Part 1 version: Id: structures.xsd,v 1.2 2004/01/15 11:34:25 ht Exp
72
+ Part 2 version: Id: datatypes.xsd,v 1.3 2004/01/23 18:11:13 ht Exp
73
+ </xs:documentation>
74
+ </xs:annotation>
75
+
76
+ <xs:annotation>
77
+ <xs:documentation source="http://www.w3.org/TR/2004/PER-xmlschema-1-20040318/structures.html">
78
+ The schema corresponding to this document is normative,
79
+ with respect to the syntactic constraints it expresses in the
80
+ XML Schema language. The documentation (within &lt;documentation> elements)
81
+ below, is not normative, but rather highlights important aspects of
82
+ the W3C Recommendation of which this is a part</xs:documentation>
83
+ </xs:annotation>
84
+
85
+ <xs:annotation>
86
+ <xs:documentation>
87
+ The simpleType element and all of its members are defined
88
+ towards the end of this schema document</xs:documentation>
89
+ </xs:annotation>
90
+
91
+ <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd">
92
+ <xs:annotation>
93
+ <xs:documentation>
94
+ Get access to the xml: attribute groups for xml:lang
95
+ as declared on 'schema' and 'documentation' below
96
+ </xs:documentation>
97
+ </xs:annotation>
98
+ </xs:import>
99
+
100
+ <xs:complexType name="openAttrs">
101
+ <xs:annotation>
102
+ <xs:documentation>
103
+ This type is extended by almost all schema types
104
+ to allow attributes from other namespaces to be
105
+ added to user schemas.
106
+ </xs:documentation>
107
+ </xs:annotation>
108
+ <xs:complexContent>
109
+ <xs:restriction base="xs:anyType">
110
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
111
+ </xs:restriction>
112
+ </xs:complexContent>
113
+ </xs:complexType>
114
+
115
+ <xs:complexType name="annotated">
116
+ <xs:annotation>
117
+ <xs:documentation>
118
+ This type is extended by all types which allow annotation
119
+ other than &lt;schema&gt; itself
120
+ </xs:documentation>
121
+ </xs:annotation>
122
+ <xs:complexContent>
123
+ <xs:extension base="xs:openAttrs">
124
+ <xs:sequence>
125
+ <xs:element ref="xs:annotation" minOccurs="0"/>
126
+ </xs:sequence>
127
+ <xs:attribute name="id" type="xs:ID"/>
128
+ </xs:extension>
129
+ </xs:complexContent>
130
+ </xs:complexType>
131
+
132
+ <xs:group name="schemaTop">
133
+ <xs:annotation>
134
+ <xs:documentation>
135
+ This group is for the
136
+ elements which occur freely at the top level of schemas.
137
+ All of their types are based on the "annotated" type by extension.</xs:documentation>
138
+ </xs:annotation>
139
+ <xs:choice>
140
+ <xs:group ref="xs:redefinable"/>
141
+ <xs:element ref="xs:element"/>
142
+ <xs:element ref="xs:attribute"/>
143
+ <xs:element ref="xs:notation"/>
144
+ </xs:choice>
145
+ </xs:group>
146
+
147
+ <xs:group name="redefinable">
148
+ <xs:annotation>
149
+ <xs:documentation>
150
+ This group is for the
151
+ elements which can self-redefine (see &lt;redefine> below).</xs:documentation>
152
+ </xs:annotation>
153
+ <xs:choice>
154
+ <xs:element ref="xs:simpleType"/>
155
+ <xs:element ref="xs:complexType"/>
156
+ <xs:element ref="xs:group"/>
157
+ <xs:element ref="xs:attributeGroup"/>
158
+ </xs:choice>
159
+ </xs:group>
160
+
161
+ <xs:simpleType name="formChoice">
162
+ <xs:annotation>
163
+ <xs:documentation>
164
+ A utility type, not for public use</xs:documentation>
165
+ </xs:annotation>
166
+ <xs:restriction base="xs:NMTOKEN">
167
+ <xs:enumeration value="qualified"/>
168
+ <xs:enumeration value="unqualified"/>
169
+ </xs:restriction>
170
+ </xs:simpleType>
171
+
172
+ <xs:simpleType name="reducedDerivationControl">
173
+ <xs:annotation>
174
+ <xs:documentation>
175
+ A utility type, not for public use</xs:documentation>
176
+ </xs:annotation>
177
+ <xs:restriction base="xs:derivationControl">
178
+ <xs:enumeration value="extension"/>
179
+ <xs:enumeration value="restriction"/>
180
+ </xs:restriction>
181
+ </xs:simpleType>
182
+
183
+ <xs:simpleType name="derivationSet">
184
+ <xs:annotation>
185
+ <xs:documentation>
186
+ A utility type, not for public use</xs:documentation>
187
+ <xs:documentation>
188
+ #all or (possibly empty) subset of {extension, restriction}</xs:documentation>
189
+ </xs:annotation>
190
+ <xs:union>
191
+ <xs:simpleType>
192
+ <xs:restriction base="xs:token">
193
+ <xs:enumeration value="#all"/>
194
+ </xs:restriction>
195
+ </xs:simpleType>
196
+ <xs:simpleType>
197
+ <xs:list itemType="xs:reducedDerivationControl"/>
198
+ </xs:simpleType>
199
+ </xs:union>
200
+ </xs:simpleType>
201
+
202
+ <xs:simpleType name="typeDerivationControl">
203
+ <xs:annotation>
204
+ <xs:documentation>
205
+ A utility type, not for public use</xs:documentation>
206
+ </xs:annotation>
207
+ <xs:restriction base="xs:derivationControl">
208
+ <xs:enumeration value="extension"/>
209
+ <xs:enumeration value="restriction"/>
210
+ <xs:enumeration value="list"/>
211
+ <xs:enumeration value="union"/>
212
+ </xs:restriction>
213
+ </xs:simpleType>
214
+
215
+ <xs:simpleType name="fullDerivationSet">
216
+ <xs:annotation>
217
+ <xs:documentation>
218
+ A utility type, not for public use</xs:documentation>
219
+ <xs:documentation>
220
+ #all or (possibly empty) subset of {extension, restriction, list, union}</xs:documentation>
221
+ </xs:annotation>
222
+ <xs:union>
223
+ <xs:simpleType>
224
+ <xs:restriction base="xs:token">
225
+ <xs:enumeration value="#all"/>
226
+ </xs:restriction>
227
+ </xs:simpleType>
228
+ <xs:simpleType>
229
+ <xs:list itemType="xs:typeDerivationControl"/>
230
+ </xs:simpleType>
231
+ </xs:union>
232
+ </xs:simpleType>
233
+
234
+ <xs:element name="schema" id="schema">
235
+ <xs:annotation>
236
+ <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-schema"/>
237
+ </xs:annotation>
238
+ <xs:complexType>
239
+ <xs:complexContent>
240
+ <xs:extension base="xs:openAttrs">
241
+ <xs:sequence>
242
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
243
+ <xs:element ref="xs:include"/>
244
+ <xs:element ref="xs:import"/>
245
+ <xs:element ref="xs:redefine"/>
246
+ <xs:element ref="xs:annotation"/>
247
+ </xs:choice>
248
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
249
+ <xs:group ref="xs:schemaTop"/>
250
+ <xs:element ref="xs:annotation" minOccurs="0" maxOccurs="unbounded"/>
251
+ </xs:sequence>
252
+ </xs:sequence>
253
+ <xs:attribute name="targetNamespace" type="xs:anyURI"/>
254
+ <xs:attribute name="version" type="xs:token"/>
255
+ <xs:attribute name="finalDefault" type="xs:fullDerivationSet" use="optional" default=""/>
256
+ <xs:attribute name="blockDefault" type="xs:blockSet" use="optional" default=""/>
257
+ <xs:attribute name="attributeFormDefault" type="xs:formChoice" use="optional" default="unqualified"/>
258
+ <xs:attribute name="elementFormDefault" type="xs:formChoice" use="optional" default="unqualified"/>
259
+ <xs:attribute name="id" type="xs:ID"/>
260
+ <xs:attribute ref="xml:lang"/>
261
+ </xs:extension>
262
+ </xs:complexContent>
263
+ </xs:complexType>
264
+
265
+ <xs:key name="element">
266
+ <xs:selector xpath="xs:element"/>
267
+ <xs:field xpath="@name"/>
268
+ </xs:key>
269
+
270
+ <xs:key name="attribute">
271
+ <xs:selector xpath="xs:attribute"/>
272
+ <xs:field xpath="@name"/>
273
+ </xs:key>
274
+
275
+ <xs:key name="type">
276
+ <xs:selector xpath="xs:complexType|xs:simpleType"/>
277
+ <xs:field xpath="@name"/>
278
+ </xs:key>
279
+
280
+ <xs:key name="group">
281
+ <xs:selector xpath="xs:group"/>
282
+ <xs:field xpath="@name"/>
283
+ </xs:key>
284
+
285
+ <xs:key name="attributeGroup">
286
+ <xs:selector xpath="xs:attributeGroup"/>
287
+ <xs:field xpath="@name"/>
288
+ </xs:key>
289
+
290
+ <xs:key name="notation">
291
+ <xs:selector xpath="xs:notation"/>
292
+ <xs:field xpath="@name"/>
293
+ </xs:key>
294
+
295
+ <xs:key name="identityConstraint">
296
+ <xs:selector xpath=".//xs:key|.//xs:unique|.//xs:keyref"/>
297
+ <xs:field xpath="@name"/>
298
+ </xs:key>
299
+
300
+ </xs:element>
301
+
302
+ <xs:simpleType name="allNNI">
303
+ <xs:annotation><xs:documentation>
304
+ for maxOccurs</xs:documentation></xs:annotation>
305
+ <xs:union memberTypes="xs:nonNegativeInteger">
306
+ <xs:simpleType>
307
+ <xs:restriction base="xs:NMTOKEN">
308
+ <xs:enumeration value="unbounded"/>
309
+ </xs:restriction>
310
+ </xs:simpleType>
311
+ </xs:union>
312
+ </xs:simpleType>
313
+
314
+ <xs:attributeGroup name="occurs">
315
+ <xs:annotation><xs:documentation>
316
+ for all particles</xs:documentation></xs:annotation>
317
+ <xs:attribute name="minOccurs" type="xs:nonNegativeInteger" use="optional" default="1"/>
318
+ <xs:attribute name="maxOccurs" type="xs:allNNI" use="optional" default="1"/>
319
+ </xs:attributeGroup>
320
+
321
+ <xs:attributeGroup name="defRef">
322
+ <xs:annotation><xs:documentation>
323
+ for element, group and attributeGroup,
324
+ which both define and reference</xs:documentation></xs:annotation>
325
+ <xs:attribute name="name" type="xs:NCName"/>
326
+ <xs:attribute name="ref" type="xs:QName"/>
327
+ </xs:attributeGroup>
328
+
329
+ <xs:group name="typeDefParticle">
330
+ <xs:annotation>
331
+ <xs:documentation>
332
+ 'complexType' uses this</xs:documentation></xs:annotation>
333
+ <xs:choice>
334
+ <xs:element name="group" type="xs:groupRef"/>
335
+ <xs:element ref="xs:all"/>
336
+ <xs:element ref="xs:choice"/>
337
+ <xs:element ref="xs:sequence"/>
338
+ </xs:choice>
339
+ </xs:group>
340
+
341
+
342
+
343
+ <xs:group name="nestedParticle">
344
+ <xs:choice>
345
+ <xs:element name="element" type="xs:localElement"/>
346
+ <xs:element name="group" type="xs:groupRef"/>
347
+ <xs:element ref="xs:choice"/>
348
+ <xs:element ref="xs:sequence"/>
349
+ <xs:element ref="xs:any"/>
350
+ </xs:choice>
351
+ </xs:group>
352
+
353
+ <xs:group name="particle">
354
+ <xs:choice>
355
+ <xs:element name="element" type="xs:localElement"/>
356
+ <xs:element name="group" type="xs:groupRef"/>
357
+ <xs:element ref="xs:all"/>
358
+ <xs:element ref="xs:choice"/>
359
+ <xs:element ref="xs:sequence"/>
360
+ <xs:element ref="xs:any"/>
361
+ </xs:choice>
362
+ </xs:group>
363
+
364
+ <xs:complexType name="attribute">
365
+ <xs:complexContent>
366
+ <xs:extension base="xs:annotated">
367
+ <xs:sequence>
368
+ <xs:element name="simpleType" minOccurs="0" type="xs:localSimpleType"/>
369
+ </xs:sequence>
370
+ <xs:attributeGroup ref="xs:defRef"/>
371
+ <xs:attribute name="type" type="xs:QName"/>
372
+ <xs:attribute name="use" use="optional" default="optional">
373
+ <xs:simpleType>
374
+ <xs:restriction base="xs:NMTOKEN">
375
+ <xs:enumeration value="prohibited"/>
376
+ <xs:enumeration value="optional"/>
377
+ <xs:enumeration value="required"/>
378
+ </xs:restriction>
379
+ </xs:simpleType>
380
+ </xs:attribute>
381
+ <xs:attribute name="default" type="xs:string"/>
382
+ <xs:attribute name="fixed" type="xs:string"/>
383
+ <xs:attribute name="form" type="xs:formChoice"/>
384
+ </xs:extension>
385
+ </xs:complexContent>
386
+ </xs:complexType>
387
+
388
+ <xs:complexType name="topLevelAttribute">
389
+ <xs:complexContent>
390
+ <xs:restriction base="xs:attribute">
391
+ <xs:sequence>
392
+ <xs:element ref="xs:annotation" minOccurs="0"/>
393
+ <xs:element name="simpleType" minOccurs="0" type="xs:localSimpleType"/>
394
+ </xs:sequence>
395
+ <xs:attribute name="ref" use="prohibited"/>
396
+ <xs:attribute name="form" use="prohibited"/>
397
+ <xs:attribute name="use" use="prohibited"/>
398
+ <xs:attribute name="name" use="required" type="xs:NCName"/>
399
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
400
+ </xs:restriction>
401
+ </xs:complexContent>
402
+ </xs:complexType>
403
+
404
+ <xs:group name="attrDecls">
405
+ <xs:sequence>
406
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
407
+ <xs:element name="attribute" type="xs:attribute"/>
408
+ <xs:element name="attributeGroup" type="xs:attributeGroupRef"/>
409
+ </xs:choice>
410
+ <xs:element ref="xs:anyAttribute" minOccurs="0"/>
411
+ </xs:sequence>
412
+ </xs:group>
413
+
414
+ <xs:element name="anyAttribute" type="xs:wildcard" id="anyAttribute">
415
+ <xs:annotation>
416
+ <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-anyAttribute"/>
417
+ </xs:annotation>
418
+ </xs:element>
419
+
420
+ <xs:group name="complexTypeModel">
421
+ <xs:choice>
422
+ <xs:element ref="xs:simpleContent"/>
423
+ <xs:element ref="xs:complexContent"/>
424
+ <xs:sequence>
425
+ <xs:annotation>
426
+ <xs:documentation>
427
+ This branch is short for
428
+ &lt;complexContent>
429
+ &lt;restriction base="xs:anyType">
430
+ ...
431
+ &lt;/restriction>
432
+ &lt;/complexContent></xs:documentation>
433
+ </xs:annotation>
434
+ <xs:group ref="xs:typeDefParticle" minOccurs="0"/>
435
+ <xs:group ref="xs:attrDecls"/>
436
+ </xs:sequence>
437
+ </xs:choice>
438
+ </xs:group>
439
+
440
+ <xs:complexType name="complexType" abstract="true">
441
+ <xs:complexContent>
442
+ <xs:extension base="xs:annotated">
443
+ <xs:group ref="xs:complexTypeModel"/>
444
+ <xs:attribute name="name" type="xs:NCName">
445
+ <xs:annotation>
446
+ <xs:documentation>
447
+ Will be restricted to required or forbidden</xs:documentation>
448
+ </xs:annotation>
449
+ </xs:attribute>
450
+ <xs:attribute name="mixed" type="xs:boolean" use="optional" default="false">
451
+ <xs:annotation>
452
+ <xs:documentation>
453
+ Not allowed if simpleContent child is chosen.
454
+ May be overriden by setting on complexContent child.</xs:documentation>
455
+ </xs:annotation>
456
+ </xs:attribute>
457
+ <xs:attribute name="abstract" type="xs:boolean" use="optional" default="false"/>
458
+ <xs:attribute name="final" type="xs:derivationSet"/>
459
+ <xs:attribute name="block" type="xs:derivationSet"/>
460
+ </xs:extension>
461
+ </xs:complexContent>
462
+ </xs:complexType>
463
+
464
+ <xs:complexType name="topLevelComplexType">
465
+ <xs:complexContent>
466
+ <xs:restriction base="xs:complexType">
467
+ <xs:sequence>
468
+ <xs:element ref="xs:annotation" minOccurs="0"/>
469
+ <xs:group ref="xs:complexTypeModel"/>
470
+ </xs:sequence>
471
+ <xs:attribute name="name" type="xs:NCName" use="required"/>
472
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
473
+ </xs:restriction>
474
+ </xs:complexContent>
475
+ </xs:complexType>
476
+
477
+ <xs:complexType name="localComplexType">
478
+ <xs:complexContent>
479
+ <xs:restriction base="xs:complexType">
480
+ <xs:sequence>
481
+ <xs:element ref="xs:annotation" minOccurs="0"/>
482
+ <xs:group ref="xs:complexTypeModel"/>
483
+ </xs:sequence>
484
+ <xs:attribute name="name" use="prohibited"/>
485
+ <xs:attribute name="abstract" use="prohibited"/>
486
+ <xs:attribute name="final" use="prohibited"/>
487
+ <xs:attribute name="block" use="prohibited"/>
488
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
489
+ </xs:restriction>
490
+ </xs:complexContent>
491
+ </xs:complexType>
492
+
493
+ <xs:complexType name="restrictionType">
494
+ <xs:complexContent>
495
+ <xs:extension base="xs:annotated">
496
+ <xs:sequence>
497
+ <xs:choice minOccurs="0">
498
+ <xs:group ref="xs:typeDefParticle"/>
499
+ <xs:group ref="xs:simpleRestrictionModel"/>
500
+ </xs:choice>
501
+ <xs:group ref="xs:attrDecls"/>
502
+ </xs:sequence>
503
+ <xs:attribute name="base" type="xs:QName" use="required"/>
504
+ </xs:extension>
505
+ </xs:complexContent>
506
+ </xs:complexType>
507
+
508
+ <xs:complexType name="complexRestrictionType">
509
+ <xs:complexContent>
510
+ <xs:restriction base="xs:restrictionType">
511
+ <xs:sequence>
512
+ <xs:element ref="xs:annotation" minOccurs="0"/>
513
+ <xs:choice minOccurs="0">
514
+ <xs:annotation>
515
+ <xs:documentation>This choice is added simply to
516
+ make this a valid restriction per the REC</xs:documentation>
517
+ </xs:annotation>
518
+ <xs:group ref="xs:typeDefParticle"/>
519
+ </xs:choice>
520
+ <xs:group ref="xs:attrDecls"/>
521
+ </xs:sequence>
522
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
523
+ </xs:restriction>
524
+ </xs:complexContent>
525
+ </xs:complexType>
526
+
527
+ <xs:complexType name="extensionType">
528
+ <xs:complexContent>
529
+ <xs:extension base="xs:annotated">
530
+ <xs:sequence>
531
+ <xs:group ref="xs:typeDefParticle" minOccurs="0"/>
532
+ <xs:group ref="xs:attrDecls"/>
533
+ </xs:sequence>
534
+ <xs:attribute name="base" type="xs:QName" use="required"/>
535
+ </xs:extension>
536
+ </xs:complexContent>
537
+ </xs:complexType>
538
+
539
+ <xs:element name="complexContent" id="complexContent">
540
+ <xs:annotation>
541
+ <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-complexContent"/>
542
+ </xs:annotation>
543
+ <xs:complexType>
544
+ <xs:complexContent>
545
+ <xs:extension base="xs:annotated">
546
+ <xs:choice>
547
+ <xs:element name="restriction" type="xs:complexRestrictionType"/>
548
+ <xs:element name="extension" type="xs:extensionType"/>
549
+ </xs:choice>
550
+ <xs:attribute name="mixed" type="xs:boolean">
551
+ <xs:annotation>
552
+ <xs:documentation>
553
+ Overrides any setting on complexType parent.</xs:documentation>
554
+ </xs:annotation>
555
+ </xs:attribute>
556
+ </xs:extension>
557
+ </xs:complexContent>
558
+ </xs:complexType>
559
+ </xs:element>
560
+
561
+ <xs:complexType name="simpleRestrictionType">
562
+ <xs:complexContent>
563
+ <xs:restriction base="xs:restrictionType">
564
+ <xs:sequence>
565
+ <xs:element ref="xs:annotation" minOccurs="0"/>
566
+ <xs:choice minOccurs="0">
567
+ <xs:annotation>
568
+ <xs:documentation>This choice is added simply to
569
+ make this a valid restriction per the REC</xs:documentation>
570
+ </xs:annotation>
571
+ <xs:group ref="xs:simpleRestrictionModel"/>
572
+ </xs:choice>
573
+ <xs:group ref="xs:attrDecls"/>
574
+ </xs:sequence>
575
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
576
+ </xs:restriction>
577
+ </xs:complexContent>
578
+ </xs:complexType>
579
+
580
+ <xs:complexType name="simpleExtensionType">
581
+ <xs:complexContent>
582
+ <xs:restriction base="xs:extensionType">
583
+ <xs:sequence>
584
+ <xs:annotation>
585
+ <xs:documentation>
586
+ No typeDefParticle group reference</xs:documentation>
587
+ </xs:annotation>
588
+ <xs:element ref="xs:annotation" minOccurs="0"/>
589
+ <xs:group ref="xs:attrDecls"/>
590
+ </xs:sequence>
591
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
592
+ </xs:restriction>
593
+ </xs:complexContent>
594
+ </xs:complexType>
595
+
596
+ <xs:element name="simpleContent" id="simpleContent">
597
+ <xs:annotation>
598
+ <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-simpleContent"/>
599
+ </xs:annotation>
600
+ <xs:complexType>
601
+ <xs:complexContent>
602
+ <xs:extension base="xs:annotated">
603
+ <xs:choice>
604
+ <xs:element name="restriction" type="xs:simpleRestrictionType"/>
605
+ <xs:element name="extension" type="xs:simpleExtensionType"/>
606
+ </xs:choice>
607
+ </xs:extension>
608
+ </xs:complexContent>
609
+ </xs:complexType>
610
+ </xs:element>
611
+
612
+ <xs:element name="complexType" type="xs:topLevelComplexType" id="complexType">
613
+ <xs:annotation>
614
+ <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-complexType"/>
615
+ </xs:annotation>
616
+ </xs:element>
617
+
618
+
619
+ <xs:simpleType name="blockSet">
620
+ <xs:annotation>
621
+ <xs:documentation>
622
+ A utility type, not for public use</xs:documentation>
623
+ <xs:documentation>
624
+ #all or (possibly empty) subset of {substitution, extension,
625
+ restriction}</xs:documentation>
626
+ </xs:annotation>
627
+ <xs:union>
628
+ <xs:simpleType>
629
+ <xs:restriction base="xs:token">
630
+ <xs:enumeration value="#all"/>
631
+ </xs:restriction>
632
+ </xs:simpleType>
633
+ <xs:simpleType>
634
+ <xs:list>
635
+ <xs:simpleType>
636
+ <xs:restriction base="xs:derivationControl">
637
+ <xs:enumeration value="extension"/>
638
+ <xs:enumeration value="restriction"/>
639
+ <xs:enumeration value="substitution"/>
640
+ </xs:restriction>
641
+ </xs:simpleType>
642
+ </xs:list>
643
+ </xs:simpleType>
644
+ </xs:union>
645
+ </xs:simpleType>
646
+
647
+ <xs:complexType name="element" abstract="true">
648
+ <xs:annotation>
649
+ <xs:documentation>
650
+ The element element can be used either
651
+ at the top level to define an element-type binding globally,
652
+ or within a content model to either reference a globally-defined
653
+ element or type or declare an element-type binding locally.
654
+ The ref form is not allowed at the top level.</xs:documentation>
655
+ </xs:annotation>
656
+
657
+ <xs:complexContent>
658
+ <xs:extension base="xs:annotated">
659
+ <xs:sequence>
660
+ <xs:choice minOccurs="0">
661
+ <xs:element name="simpleType" type="xs:localSimpleType"/>
662
+ <xs:element name="complexType" type="xs:localComplexType"/>
663
+ </xs:choice>
664
+ <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
665
+ </xs:sequence>
666
+ <xs:attributeGroup ref="xs:defRef"/>
667
+ <xs:attribute name="type" type="xs:QName"/>
668
+ <xs:attribute name="substitutionGroup" type="xs:QName"/>
669
+ <xs:attributeGroup ref="xs:occurs"/>
670
+ <xs:attribute name="default" type="xs:string"/>
671
+ <xs:attribute name="fixed" type="xs:string"/>
672
+ <xs:attribute name="nillable" type="xs:boolean" use="optional" default="false"/>
673
+ <xs:attribute name="abstract" type="xs:boolean" use="optional" default="false"/>
674
+ <xs:attribute name="final" type="xs:derivationSet"/>
675
+ <xs:attribute name="block" type="xs:blockSet"/>
676
+ <xs:attribute name="form" type="xs:formChoice"/>
677
+ </xs:extension>
678
+ </xs:complexContent>
679
+ </xs:complexType>
680
+
681
+ <xs:complexType name="topLevelElement">
682
+ <xs:complexContent>
683
+ <xs:restriction base="xs:element">
684
+ <xs:sequence>
685
+ <xs:element ref="xs:annotation" minOccurs="0"/>
686
+ <xs:choice minOccurs="0">
687
+ <xs:element name="simpleType" type="xs:localSimpleType"/>
688
+ <xs:element name="complexType" type="xs:localComplexType"/>
689
+ </xs:choice>
690
+ <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
691
+ </xs:sequence>
692
+ <xs:attribute name="ref" use="prohibited"/>
693
+ <xs:attribute name="form" use="prohibited"/>
694
+ <xs:attribute name="minOccurs" use="prohibited"/>
695
+ <xs:attribute name="maxOccurs" use="prohibited"/>
696
+ <xs:attribute name="name" use="required" type="xs:NCName"/>
697
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
698
+ </xs:restriction>
699
+ </xs:complexContent>
700
+ </xs:complexType>
701
+
702
+ <xs:complexType name="localElement">
703
+ <xs:complexContent>
704
+ <xs:restriction base="xs:element">
705
+ <xs:sequence>
706
+ <xs:element ref="xs:annotation" minOccurs="0"/>
707
+ <xs:choice minOccurs="0">
708
+ <xs:element name="simpleType" type="xs:localSimpleType"/>
709
+ <xs:element name="complexType" type="xs:localComplexType"/>
710
+ </xs:choice>
711
+ <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
712
+ </xs:sequence>
713
+ <xs:attribute name="substitutionGroup" use="prohibited"/>
714
+ <xs:attribute name="final" use="prohibited"/>
715
+ <xs:attribute name="abstract" use="prohibited"/>
716
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
717
+ </xs:restriction>
718
+ </xs:complexContent>
719
+ </xs:complexType>
720
+
721
+ <xs:element name="element" type="xs:topLevelElement" id="element">
722
+ <xs:annotation>
723
+ <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-element"/>
724
+ </xs:annotation>
725
+ </xs:element>
726
+
727
+ <xs:complexType name="group" abstract="true">
728
+ <xs:annotation>
729
+ <xs:documentation>
730
+ group type for explicit groups, named top-level groups and
731
+ group references</xs:documentation>
732
+ </xs:annotation>
733
+ <xs:complexContent>
734
+ <xs:extension base="xs:annotated">
735
+ <xs:group ref="xs:particle" minOccurs="0" maxOccurs="unbounded"/>
736
+ <xs:attributeGroup ref="xs:defRef"/>
737
+ <xs:attributeGroup ref="xs:occurs"/>
738
+ </xs:extension>
739
+ </xs:complexContent>
740
+ </xs:complexType>
741
+
742
+ <xs:complexType name="realGroup">
743
+ <xs:complexContent>
744
+ <xs:restriction base="xs:group">
745
+ <xs:sequence>
746
+ <xs:element ref="xs:annotation" minOccurs="0"/>
747
+ <xs:choice minOccurs="0" maxOccurs="1">
748
+ <xs:element ref="xs:all"/>
749
+ <xs:element ref="xs:choice"/>
750
+ <xs:element ref="xs:sequence"/>
751
+ </xs:choice>
752
+ </xs:sequence>
753
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
754
+ </xs:restriction>
755
+ </xs:complexContent>
756
+ </xs:complexType>
757
+
758
+ <xs:complexType name="namedGroup">
759
+ <xs:complexContent>
760
+ <xs:restriction base="xs:realGroup">
761
+ <xs:sequence>
762
+ <xs:element ref="xs:annotation" minOccurs="0"/>
763
+ <xs:choice minOccurs="1" maxOccurs="1">
764
+ <xs:element name="all">
765
+ <xs:complexType>
766
+ <xs:complexContent>
767
+ <xs:restriction base="xs:all">
768
+ <xs:group ref="xs:allModel"/>
769
+ <xs:attribute name="minOccurs" use="prohibited"/>
770
+ <xs:attribute name="maxOccurs" use="prohibited"/>
771
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
772
+ </xs:restriction>
773
+ </xs:complexContent>
774
+ </xs:complexType>
775
+ </xs:element>
776
+ <xs:element name="choice" type="xs:simpleExplicitGroup"/>
777
+ <xs:element name="sequence" type="xs:simpleExplicitGroup"/>
778
+ </xs:choice>
779
+ </xs:sequence>
780
+ <xs:attribute name="name" use="required" type="xs:NCName"/>
781
+ <xs:attribute name="ref" use="prohibited"/>
782
+ <xs:attribute name="minOccurs" use="prohibited"/>
783
+ <xs:attribute name="maxOccurs" use="prohibited"/>
784
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
785
+ </xs:restriction>
786
+ </xs:complexContent>
787
+ </xs:complexType>
788
+
789
+ <xs:complexType name="groupRef">
790
+ <xs:complexContent>
791
+ <xs:restriction base="xs:realGroup">
792
+ <xs:sequence>
793
+ <xs:element ref="xs:annotation" minOccurs="0"/>
794
+ </xs:sequence>
795
+ <xs:attribute name="ref" use="required" type="xs:QName"/>
796
+ <xs:attribute name="name" use="prohibited"/>
797
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
798
+ </xs:restriction>
799
+ </xs:complexContent>
800
+ </xs:complexType>
801
+
802
+ <xs:complexType name="explicitGroup">
803
+ <xs:annotation>
804
+ <xs:documentation>
805
+ group type for the three kinds of group</xs:documentation>
806
+ </xs:annotation>
807
+ <xs:complexContent>
808
+ <xs:restriction base="xs:group">
809
+ <xs:sequence>
810
+ <xs:element ref="xs:annotation" minOccurs="0"/>
811
+ <xs:group ref="xs:nestedParticle" minOccurs="0" maxOccurs="unbounded"/>
812
+ </xs:sequence>
813
+ <xs:attribute name="name" type="xs:NCName" use="prohibited"/>
814
+ <xs:attribute name="ref" type="xs:QName" use="prohibited"/>
815
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
816
+ </xs:restriction>
817
+ </xs:complexContent>
818
+ </xs:complexType>
819
+
820
+ <xs:complexType name="simpleExplicitGroup">
821
+ <xs:complexContent>
822
+ <xs:restriction base="xs:explicitGroup">
823
+ <xs:sequence>
824
+ <xs:element ref="xs:annotation" minOccurs="0"/>
825
+ <xs:group ref="xs:nestedParticle" minOccurs="0" maxOccurs="unbounded"/>
826
+ </xs:sequence>
827
+ <xs:attribute name="minOccurs" use="prohibited"/>
828
+ <xs:attribute name="maxOccurs" use="prohibited"/>
829
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
830
+ </xs:restriction>
831
+ </xs:complexContent>
832
+ </xs:complexType>
833
+
834
+ <xs:group name="allModel">
835
+ <xs:sequence>
836
+ <xs:element ref="xs:annotation" minOccurs="0"/>
837
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
838
+ <xs:annotation>
839
+ <xs:documentation>This choice with min/max is here to
840
+ avoid a pblm with the Elt:All/Choice/Seq
841
+ Particle derivation constraint</xs:documentation>
842
+ </xs:annotation>
843
+ <xs:element name="element" type="xs:narrowMaxMin"/>
844
+ </xs:choice>
845
+ </xs:sequence>
846
+ </xs:group>
847
+
848
+
849
+ <xs:complexType name="narrowMaxMin">
850
+ <xs:annotation>
851
+ <xs:documentation>restricted max/min</xs:documentation>
852
+ </xs:annotation>
853
+ <xs:complexContent>
854
+ <xs:restriction base="xs:localElement">
855
+ <xs:sequence>
856
+ <xs:element ref="xs:annotation" minOccurs="0"/>
857
+ <xs:choice minOccurs="0">
858
+ <xs:element name="simpleType" type="xs:localSimpleType"/>
859
+ <xs:element name="complexType" type="xs:localComplexType"/>
860
+ </xs:choice>
861
+ <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
862
+ </xs:sequence>
863
+ <xs:attribute name="minOccurs" use="optional" default="1">
864
+ <xs:simpleType>
865
+ <xs:restriction base="xs:nonNegativeInteger">
866
+ <xs:enumeration value="0"/>
867
+ <xs:enumeration value="1"/>
868
+ </xs:restriction>
869
+ </xs:simpleType>
870
+ </xs:attribute>
871
+ <xs:attribute name="maxOccurs" use="optional" default="1">
872
+ <xs:simpleType>
873
+ <xs:restriction base="xs:allNNI">
874
+ <xs:enumeration value="0"/>
875
+ <xs:enumeration value="1"/>
876
+ </xs:restriction>
877
+ </xs:simpleType>
878
+ </xs:attribute>
879
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
880
+ </xs:restriction>
881
+ </xs:complexContent>
882
+ </xs:complexType>
883
+
884
+ <xs:complexType name="all">
885
+ <xs:annotation>
886
+ <xs:documentation>
887
+ Only elements allowed inside</xs:documentation>
888
+ </xs:annotation>
889
+ <xs:complexContent>
890
+ <xs:restriction base="xs:explicitGroup">
891
+ <xs:group ref="xs:allModel"/>
892
+ <xs:attribute name="minOccurs" use="optional" default="1">
893
+ <xs:simpleType>
894
+ <xs:restriction base="xs:nonNegativeInteger">
895
+ <xs:enumeration value="0"/>
896
+ <xs:enumeration value="1"/>
897
+ </xs:restriction>
898
+ </xs:simpleType>
899
+ </xs:attribute>
900
+ <xs:attribute name="maxOccurs" use="optional" default="1">
901
+ <xs:simpleType>
902
+ <xs:restriction base="xs:allNNI">
903
+ <xs:enumeration value="1"/>
904
+ </xs:restriction>
905
+ </xs:simpleType>
906
+ </xs:attribute>
907
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
908
+ </xs:restriction>
909
+ </xs:complexContent>
910
+ </xs:complexType>
911
+
912
+ <xs:element name="all" id="all" type="xs:all">
913
+ <xs:annotation>
914
+ <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-all"/>
915
+ </xs:annotation>
916
+ </xs:element>
917
+
918
+ <xs:element name="choice" type="xs:explicitGroup" id="choice">
919
+ <xs:annotation>
920
+ <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-choice"/>
921
+ </xs:annotation>
922
+ </xs:element>
923
+
924
+ <xs:element name="sequence" type="xs:explicitGroup" id="sequence">
925
+ <xs:annotation>
926
+ <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-sequence"/>
927
+ </xs:annotation>
928
+ </xs:element>
929
+
930
+ <xs:element name="group" type="xs:namedGroup" id="group">
931
+ <xs:annotation>
932
+ <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-group"/>
933
+ </xs:annotation>
934
+ </xs:element>
935
+
936
+ <xs:complexType name="wildcard">
937
+ <xs:complexContent>
938
+ <xs:extension base="xs:annotated">
939
+ <xs:attribute name="namespace" type="xs:namespaceList" use="optional" default="##any"/>
940
+ <xs:attribute name="processContents" use="optional" default="strict">
941
+ <xs:simpleType>
942
+ <xs:restriction base="xs:NMTOKEN">
943
+ <xs:enumeration value="skip"/>
944
+ <xs:enumeration value="lax"/>
945
+ <xs:enumeration value="strict"/>
946
+ </xs:restriction>
947
+ </xs:simpleType>
948
+ </xs:attribute>
949
+ </xs:extension>
950
+ </xs:complexContent>
951
+ </xs:complexType>
952
+
953
+ <xs:element name="any" id="any">
954
+ <xs:annotation>
955
+ <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-any"/>
956
+ </xs:annotation>
957
+ <xs:complexType>
958
+ <xs:complexContent>
959
+ <xs:extension base="xs:wildcard">
960
+ <xs:attributeGroup ref="xs:occurs"/>
961
+ </xs:extension>
962
+ </xs:complexContent>
963
+ </xs:complexType>
964
+ </xs:element>
965
+
966
+ <xs:annotation>
967
+ <xs:documentation>
968
+ simple type for the value of the 'namespace' attr of
969
+ 'any' and 'anyAttribute'</xs:documentation>
970
+ </xs:annotation>
971
+ <xs:annotation>
972
+ <xs:documentation>
973
+ Value is
974
+ ##any - - any non-conflicting WFXML/attribute at all
975
+
976
+ ##other - - any non-conflicting WFXML/attribute from
977
+ namespace other than targetNS
978
+
979
+ ##local - - any unqualified non-conflicting WFXML/attribute
980
+
981
+ one or - - any non-conflicting WFXML/attribute from
982
+ more URI the listed namespaces
983
+ references
984
+ (space separated)
985
+
986
+ ##targetNamespace or ##local may appear in the above list, to
987
+ refer to the targetNamespace of the enclosing
988
+ schema or an absent targetNamespace respectively</xs:documentation>
989
+ </xs:annotation>
990
+
991
+ <xs:simpleType name="namespaceList">
992
+ <xs:annotation>
993
+ <xs:documentation>
994
+ A utility type, not for public use</xs:documentation>
995
+ </xs:annotation>
996
+ <xs:union>
997
+ <xs:simpleType>
998
+ <xs:restriction base="xs:token">
999
+ <xs:enumeration value="##any"/>
1000
+ <xs:enumeration value="##other"/>
1001
+ </xs:restriction>
1002
+ </xs:simpleType>
1003
+ <xs:simpleType>
1004
+ <xs:list>
1005
+ <xs:simpleType>
1006
+ <xs:union memberTypes="xs:anyURI">
1007
+ <xs:simpleType>
1008
+ <xs:restriction base="xs:token">
1009
+ <xs:enumeration value="##targetNamespace"/>
1010
+ <xs:enumeration value="##local"/>
1011
+ </xs:restriction>
1012
+ </xs:simpleType>
1013
+ </xs:union>
1014
+ </xs:simpleType>
1015
+ </xs:list>
1016
+ </xs:simpleType>
1017
+ </xs:union>
1018
+ </xs:simpleType>
1019
+
1020
+ <xs:element name="attribute" type="xs:topLevelAttribute" id="attribute">
1021
+ <xs:annotation>
1022
+ <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-attribute"/>
1023
+ </xs:annotation>
1024
+ </xs:element>
1025
+
1026
+ <xs:complexType name="attributeGroup" abstract="true">
1027
+ <xs:complexContent>
1028
+ <xs:extension base="xs:annotated">
1029
+ <xs:group ref="xs:attrDecls"/>
1030
+ <xs:attributeGroup ref="xs:defRef"/>
1031
+ </xs:extension>
1032
+ </xs:complexContent>
1033
+ </xs:complexType>
1034
+
1035
+ <xs:complexType name="namedAttributeGroup">
1036
+ <xs:complexContent>
1037
+ <xs:restriction base="xs:attributeGroup">
1038
+ <xs:sequence>
1039
+ <xs:element ref="xs:annotation" minOccurs="0"/>
1040
+ <xs:group ref="xs:attrDecls"/>
1041
+ </xs:sequence>
1042
+ <xs:attribute name="name" use="required" type="xs:NCName"/>
1043
+ <xs:attribute name="ref" use="prohibited"/>
1044
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
1045
+ </xs:restriction>
1046
+ </xs:complexContent>
1047
+ </xs:complexType>
1048
+
1049
+ <xs:complexType name="attributeGroupRef">
1050
+ <xs:complexContent>
1051
+ <xs:restriction base="xs:attributeGroup">
1052
+ <xs:sequence>
1053
+ <xs:element ref="xs:annotation" minOccurs="0"/>
1054
+ </xs:sequence>
1055
+ <xs:attribute name="ref" use="required" type="xs:QName"/>
1056
+ <xs:attribute name="name" use="prohibited"/>
1057
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
1058
+ </xs:restriction>
1059
+ </xs:complexContent>
1060
+ </xs:complexType>
1061
+
1062
+ <xs:element name="attributeGroup" type="xs:namedAttributeGroup" id="attributeGroup">
1063
+ <xs:annotation>
1064
+ <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-attributeGroup"/>
1065
+ </xs:annotation>
1066
+ </xs:element>
1067
+
1068
+ <xs:element name="include" id="include">
1069
+ <xs:annotation>
1070
+ <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-include"/>
1071
+ </xs:annotation>
1072
+ <xs:complexType>
1073
+ <xs:complexContent>
1074
+ <xs:extension base="xs:annotated">
1075
+ <xs:attribute name="schemaLocation" type="xs:anyURI" use="required"/>
1076
+ </xs:extension>
1077
+ </xs:complexContent>
1078
+ </xs:complexType>
1079
+ </xs:element>
1080
+
1081
+ <xs:element name="redefine" id="redefine">
1082
+ <xs:annotation>
1083
+ <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-redefine"/>
1084
+ </xs:annotation>
1085
+ <xs:complexType>
1086
+ <xs:complexContent>
1087
+ <xs:extension base="xs:openAttrs">
1088
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
1089
+ <xs:element ref="xs:annotation"/>
1090
+ <xs:group ref="xs:redefinable"/>
1091
+ </xs:choice>
1092
+ <xs:attribute name="schemaLocation" type="xs:anyURI" use="required"/>
1093
+ <xs:attribute name="id" type="xs:ID"/>
1094
+ </xs:extension>
1095
+ </xs:complexContent>
1096
+ </xs:complexType>
1097
+ </xs:element>
1098
+
1099
+ <xs:element name="import" id="import">
1100
+ <xs:annotation>
1101
+ <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-import"/>
1102
+ </xs:annotation>
1103
+ <xs:complexType>
1104
+ <xs:complexContent>
1105
+ <xs:extension base="xs:annotated">
1106
+ <xs:attribute name="namespace" type="xs:anyURI"/>
1107
+ <xs:attribute name="schemaLocation" type="xs:anyURI"/>
1108
+ </xs:extension>
1109
+ </xs:complexContent>
1110
+ </xs:complexType>
1111
+ </xs:element>
1112
+
1113
+ <xs:element name="selector" id="selector">
1114
+ <xs:annotation>
1115
+ <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-selector"/>
1116
+ </xs:annotation>
1117
+ <xs:complexType>
1118
+ <xs:complexContent>
1119
+ <xs:extension base="xs:annotated">
1120
+ <xs:attribute name="xpath" use="required">
1121
+ <xs:simpleType>
1122
+ <xs:annotation>
1123
+ <xs:documentation>A subset of XPath expressions for use
1124
+ in selectors</xs:documentation>
1125
+ <xs:documentation>A utility type, not for public
1126
+ use</xs:documentation>
1127
+ </xs:annotation>
1128
+ <xs:restriction base="xs:token">
1129
+ <xs:annotation>
1130
+ <xs:documentation>The following pattern is intended to allow XPath
1131
+ expressions per the following EBNF:
1132
+ Selector ::= Path ( '|' Path )*
1133
+ Path ::= ('.//')? Step ( '/' Step )*
1134
+ Step ::= '.' | NameTest
1135
+ NameTest ::= QName | '*' | NCName ':' '*'
1136
+ child:: is also allowed
1137
+ </xs:documentation>
1138
+ </xs:annotation>
1139
+ <xs:pattern value="(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*(\|(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*)*">
1140
+ </xs:pattern>
1141
+ </xs:restriction>
1142
+ </xs:simpleType>
1143
+ </xs:attribute>
1144
+ </xs:extension>
1145
+ </xs:complexContent>
1146
+ </xs:complexType>
1147
+ </xs:element>
1148
+
1149
+ <xs:element name="field" id="field">
1150
+ <xs:annotation>
1151
+ <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-field"/>
1152
+ </xs:annotation>
1153
+ <xs:complexType>
1154
+ <xs:complexContent>
1155
+ <xs:extension base="xs:annotated">
1156
+ <xs:attribute name="xpath" use="required">
1157
+ <xs:simpleType>
1158
+ <xs:annotation>
1159
+ <xs:documentation>A subset of XPath expressions for use
1160
+ in fields</xs:documentation>
1161
+ <xs:documentation>A utility type, not for public
1162
+ use</xs:documentation>
1163
+ </xs:annotation>
1164
+ <xs:restriction base="xs:token">
1165
+ <xs:annotation>
1166
+ <xs:documentation>The following pattern is intended to allow XPath
1167
+ expressions per the same EBNF as for selector,
1168
+ with the following change:
1169
+ Path ::= ('.//')? ( Step '/' )* ( Step | '@' NameTest )
1170
+ </xs:documentation>
1171
+ </xs:annotation>
1172
+ <xs:pattern 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*|\*)))))*">
1173
+ </xs:pattern>
1174
+ </xs:restriction>
1175
+ </xs:simpleType>
1176
+ </xs:attribute>
1177
+ </xs:extension>
1178
+ </xs:complexContent>
1179
+ </xs:complexType>
1180
+ </xs:element>
1181
+
1182
+ <xs:complexType name="keybase">
1183
+ <xs:complexContent>
1184
+ <xs:extension base="xs:annotated">
1185
+ <xs:sequence>
1186
+ <xs:element ref="xs:selector"/>
1187
+ <xs:element ref="xs:field" minOccurs="1" maxOccurs="unbounded"/>
1188
+ </xs:sequence>
1189
+ <xs:attribute name="name" type="xs:NCName" use="required"/>
1190
+ </xs:extension>
1191
+ </xs:complexContent>
1192
+ </xs:complexType>
1193
+
1194
+ <xs:group name="identityConstraint">
1195
+ <xs:annotation>
1196
+ <xs:documentation>The three kinds of identity constraints, all with
1197
+ type of or derived from 'keybase'.
1198
+ </xs:documentation>
1199
+ </xs:annotation>
1200
+ <xs:choice>
1201
+ <xs:element ref="xs:unique"/>
1202
+ <xs:element ref="xs:key"/>
1203
+ <xs:element ref="xs:keyref"/>
1204
+ </xs:choice>
1205
+ </xs:group>
1206
+
1207
+ <xs:element name="unique" type="xs:keybase" id="unique">
1208
+ <xs:annotation>
1209
+ <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-unique"/>
1210
+ </xs:annotation>
1211
+ </xs:element>
1212
+ <xs:element name="key" type="xs:keybase" id="key">
1213
+ <xs:annotation>
1214
+ <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-key"/>
1215
+ </xs:annotation>
1216
+ </xs:element>
1217
+ <xs:element name="keyref" id="keyref">
1218
+ <xs:annotation>
1219
+ <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-keyref"/>
1220
+ </xs:annotation>
1221
+ <xs:complexType>
1222
+ <xs:complexContent>
1223
+ <xs:extension base="xs:keybase">
1224
+ <xs:attribute name="refer" type="xs:QName" use="required"/>
1225
+ </xs:extension>
1226
+ </xs:complexContent>
1227
+ </xs:complexType>
1228
+ </xs:element>
1229
+
1230
+ <xs:element name="notation" id="notation">
1231
+ <xs:annotation>
1232
+ <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-notation"/>
1233
+ </xs:annotation>
1234
+ <xs:complexType>
1235
+ <xs:complexContent>
1236
+ <xs:extension base="xs:annotated">
1237
+ <xs:attribute name="name" type="xs:NCName" use="required"/>
1238
+ <xs:attribute name="public" type="xs:public"/>
1239
+ <xs:attribute name="system" type="xs:anyURI"/>
1240
+ </xs:extension>
1241
+ </xs:complexContent>
1242
+ </xs:complexType>
1243
+ </xs:element>
1244
+
1245
+ <xs:simpleType name="public">
1246
+ <xs:annotation>
1247
+ <xs:documentation>
1248
+ A utility type, not for public use</xs:documentation>
1249
+ <xs:documentation>
1250
+ A public identifier, per ISO 8879</xs:documentation>
1251
+ </xs:annotation>
1252
+ <xs:restriction base="xs:token"/>
1253
+ </xs:simpleType>
1254
+
1255
+ <xs:element name="appinfo" id="appinfo">
1256
+ <xs:annotation>
1257
+ <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-appinfo"/>
1258
+ </xs:annotation>
1259
+ <xs:complexType mixed="true">
1260
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
1261
+ <xs:any processContents="lax"/>
1262
+ </xs:sequence>
1263
+ <xs:attribute name="source" type="xs:anyURI"/>
1264
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
1265
+ </xs:complexType>
1266
+ </xs:element>
1267
+
1268
+ <xs:element name="documentation" id="documentation">
1269
+ <xs:annotation>
1270
+ <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-documentation"/>
1271
+ </xs:annotation>
1272
+ <xs:complexType mixed="true">
1273
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
1274
+ <xs:any processContents="lax"/>
1275
+ </xs:sequence>
1276
+ <xs:attribute name="source" type="xs:anyURI"/>
1277
+ <xs:attribute ref="xml:lang"/>
1278
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
1279
+ </xs:complexType>
1280
+ </xs:element>
1281
+
1282
+ <xs:element name="annotation" id="annotation">
1283
+ <xs:annotation>
1284
+ <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-annotation"/>
1285
+ </xs:annotation>
1286
+ <xs:complexType>
1287
+ <xs:complexContent>
1288
+ <xs:extension base="xs:openAttrs">
1289
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
1290
+ <xs:element ref="xs:appinfo"/>
1291
+ <xs:element ref="xs:documentation"/>
1292
+ </xs:choice>
1293
+ <xs:attribute name="id" type="xs:ID"/>
1294
+ </xs:extension>
1295
+ </xs:complexContent>
1296
+ </xs:complexType>
1297
+ </xs:element>
1298
+
1299
+ <xs:annotation>
1300
+ <xs:documentation>
1301
+ notations for use within XML Schema schemas</xs:documentation>
1302
+ </xs:annotation>
1303
+
1304
+ <xs:notation name="XMLSchemaStructures" public="structures" system="http://www.w3.org/2000/08/XMLSchema.xsd"/>
1305
+ <xs:notation name="XML" public="REC-xml-19980210" system="http://www.w3.org/TR/1998/REC-xml-19980210"/>
1306
+
1307
+ <xs:complexType name="anyType" mixed="true">
1308
+ <xs:annotation>
1309
+ <xs:documentation>
1310
+ Not the real urType, but as close an approximation as we can
1311
+ get in the XML representation</xs:documentation>
1312
+ </xs:annotation>
1313
+ <xs:sequence>
1314
+ <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
1315
+ </xs:sequence>
1316
+ <xs:anyAttribute processContents="lax"/>
1317
+ </xs:complexType>
1318
+
1319
+ <xs:annotation>
1320
+ <xs:documentation>
1321
+ First the built-in primitive datatypes. These definitions are for
1322
+ information only, the real built-in definitions are magic.
1323
+ </xs:documentation>
1324
+
1325
+ <xs:documentation>
1326
+ For each built-in datatype in this schema (both primitive and
1327
+ derived) can be uniquely addressed via a URI constructed
1328
+ as follows:
1329
+ 1) the base URI is the URI of the XML Schema namespace
1330
+ 2) the fragment identifier is the name of the datatype
1331
+
1332
+ For example, to address the int datatype, the URI is:
1333
+
1334
+ http://www.w3.org/2001/XMLSchema#int
1335
+
1336
+ Additionally, each facet definition element can be uniquely
1337
+ addressed via a URI constructed as follows:
1338
+ 1) the base URI is the URI of the XML Schema namespace
1339
+ 2) the fragment identifier is the name of the facet
1340
+
1341
+ For example, to address the maxInclusive facet, the URI is:
1342
+
1343
+ http://www.w3.org/2001/XMLSchema#maxInclusive
1344
+
1345
+ Additionally, each facet usage in a built-in datatype definition
1346
+ can be uniquely addressed via a URI constructed as follows:
1347
+ 1) the base URI is the URI of the XML Schema namespace
1348
+ 2) the fragment identifier is the name of the datatype, followed
1349
+ by a period (".") followed by the name of the facet
1350
+
1351
+ For example, to address the usage of the maxInclusive facet in
1352
+ the definition of int, the URI is:
1353
+
1354
+ http://www.w3.org/2001/XMLSchema#int.maxInclusive
1355
+
1356
+ </xs:documentation>
1357
+ </xs:annotation>
1358
+
1359
+ <xs:simpleType name="string" id="string">
1360
+ <xs:annotation>
1361
+ <xs:appinfo>
1362
+ <hfp:hasFacet name="length"/>
1363
+ <hfp:hasFacet name="minLength"/>
1364
+ <hfp:hasFacet name="maxLength"/>
1365
+ <hfp:hasFacet name="pattern"/>
1366
+ <hfp:hasFacet name="enumeration"/>
1367
+ <hfp:hasFacet name="whiteSpace"/>
1368
+ <hfp:hasProperty name="ordered" value="false"/>
1369
+ <hfp:hasProperty name="bounded" value="false"/>
1370
+ <hfp:hasProperty name="cardinality" value="countably infinite"/>
1371
+ <hfp:hasProperty name="numeric" value="false"/>
1372
+ </xs:appinfo>
1373
+ <xs:documentation
1374
+ source="http://www.w3.org/TR/xmlschema-2/#string"/>
1375
+ </xs:annotation>
1376
+ <xs:restriction base="xs:anySimpleType">
1377
+ <xs:whiteSpace value="preserve" id="string.preserve"/>
1378
+ </xs:restriction>
1379
+ </xs:simpleType>
1380
+
1381
+ <xs:simpleType name="boolean" id="boolean">
1382
+ <xs:annotation>
1383
+ <xs:appinfo>
1384
+ <hfp:hasFacet name="pattern"/>
1385
+ <hfp:hasFacet name="whiteSpace"/>
1386
+ <hfp:hasProperty name="ordered" value="false"/>
1387
+ <hfp:hasProperty name="bounded" value="false"/>
1388
+ <hfp:hasProperty name="cardinality" value="finite"/>
1389
+ <hfp:hasProperty name="numeric" value="false"/>
1390
+ </xs:appinfo>
1391
+ <xs:documentation
1392
+ source="http://www.w3.org/TR/xmlschema-2/#boolean"/>
1393
+ </xs:annotation>
1394
+ <xs:restriction base="xs:anySimpleType">
1395
+ <xs:whiteSpace value="collapse" fixed="true"
1396
+ id="boolean.whiteSpace"/>
1397
+ </xs:restriction>
1398
+ </xs:simpleType>
1399
+
1400
+ <xs:simpleType name="float" id="float">
1401
+ <xs:annotation>
1402
+ <xs:appinfo>
1403
+ <hfp:hasFacet name="pattern"/>
1404
+ <hfp:hasFacet name="enumeration"/>
1405
+ <hfp:hasFacet name="whiteSpace"/>
1406
+ <hfp:hasFacet name="maxInclusive"/>
1407
+ <hfp:hasFacet name="maxExclusive"/>
1408
+ <hfp:hasFacet name="minInclusive"/>
1409
+ <hfp:hasFacet name="minExclusive"/>
1410
+ <hfp:hasProperty name="ordered" value="total"/>
1411
+ <hfp:hasProperty name="bounded" value="true"/>
1412
+ <hfp:hasProperty name="cardinality" value="finite"/>
1413
+ <hfp:hasProperty name="numeric" value="true"/>
1414
+ </xs:appinfo>
1415
+ <xs:documentation
1416
+ source="http://www.w3.org/TR/xmlschema-2/#float"/>
1417
+ </xs:annotation>
1418
+ <xs:restriction base="xs:anySimpleType">
1419
+ <xs:whiteSpace value="collapse" fixed="true"
1420
+ id="float.whiteSpace"/>
1421
+ </xs:restriction>
1422
+ </xs:simpleType>
1423
+
1424
+ <xs:simpleType name="double" id="double">
1425
+ <xs:annotation>
1426
+ <xs:appinfo>
1427
+ <hfp:hasFacet name="pattern"/>
1428
+ <hfp:hasFacet name="enumeration"/>
1429
+ <hfp:hasFacet name="whiteSpace"/>
1430
+ <hfp:hasFacet name="maxInclusive"/>
1431
+ <hfp:hasFacet name="maxExclusive"/>
1432
+ <hfp:hasFacet name="minInclusive"/>
1433
+ <hfp:hasFacet name="minExclusive"/>
1434
+ <hfp:hasProperty name="ordered" value="total"/>
1435
+ <hfp:hasProperty name="bounded" value="true"/>
1436
+ <hfp:hasProperty name="cardinality" value="finite"/>
1437
+ <hfp:hasProperty name="numeric" value="true"/>
1438
+ </xs:appinfo>
1439
+ <xs:documentation
1440
+ source="http://www.w3.org/TR/xmlschema-2/#double"/>
1441
+ </xs:annotation>
1442
+ <xs:restriction base="xs:anySimpleType">
1443
+ <xs:whiteSpace value="collapse" fixed="true"
1444
+ id="double.whiteSpace"/>
1445
+ </xs:restriction>
1446
+ </xs:simpleType>
1447
+
1448
+ <xs:simpleType name="decimal" id="decimal">
1449
+ <xs:annotation>
1450
+ <xs:appinfo>
1451
+ <hfp:hasFacet name="totalDigits"/>
1452
+ <hfp:hasFacet name="fractionDigits"/>
1453
+ <hfp:hasFacet name="pattern"/>
1454
+ <hfp:hasFacet name="whiteSpace"/>
1455
+ <hfp:hasFacet name="enumeration"/>
1456
+ <hfp:hasFacet name="maxInclusive"/>
1457
+ <hfp:hasFacet name="maxExclusive"/>
1458
+ <hfp:hasFacet name="minInclusive"/>
1459
+ <hfp:hasFacet name="minExclusive"/>
1460
+ <hfp:hasProperty name="ordered" value="total"/>
1461
+ <hfp:hasProperty name="bounded" value="false"/>
1462
+ <hfp:hasProperty name="cardinality"
1463
+ value="countably infinite"/>
1464
+ <hfp:hasProperty name="numeric" value="true"/>
1465
+ </xs:appinfo>
1466
+ <xs:documentation
1467
+ source="http://www.w3.org/TR/xmlschema-2/#decimal"/>
1468
+ </xs:annotation>
1469
+ <xs:restriction base="xs:anySimpleType">
1470
+ <xs:whiteSpace value="collapse" fixed="true"
1471
+ id="decimal.whiteSpace"/>
1472
+ </xs:restriction>
1473
+ </xs:simpleType>
1474
+
1475
+ <xs:simpleType name="duration" id="duration">
1476
+ <xs:annotation>
1477
+ <xs:appinfo>
1478
+ <hfp:hasFacet name="pattern"/>
1479
+ <hfp:hasFacet name="enumeration"/>
1480
+ <hfp:hasFacet name="whiteSpace"/>
1481
+ <hfp:hasFacet name="maxInclusive"/>
1482
+ <hfp:hasFacet name="maxExclusive"/>
1483
+ <hfp:hasFacet name="minInclusive"/>
1484
+ <hfp:hasFacet name="minExclusive"/>
1485
+ <hfp:hasProperty name="ordered" value="partial"/>
1486
+ <hfp:hasProperty name="bounded" value="false"/>
1487
+ <hfp:hasProperty name="cardinality"
1488
+ value="countably infinite"/>
1489
+ <hfp:hasProperty name="numeric" value="false"/>
1490
+ </xs:appinfo>
1491
+ <xs:documentation
1492
+ source="http://www.w3.org/TR/xmlschema-2/#duration"/>
1493
+ </xs:annotation>
1494
+ <xs:restriction base="xs:anySimpleType">
1495
+ <xs:whiteSpace value="collapse" fixed="true"
1496
+ id="duration.whiteSpace"/>
1497
+ </xs:restriction>
1498
+ </xs:simpleType>
1499
+
1500
+ <xs:simpleType name="dateTime" id="dateTime">
1501
+ <xs:annotation>
1502
+ <xs:appinfo>
1503
+ <hfp:hasFacet name="pattern"/>
1504
+ <hfp:hasFacet name="enumeration"/>
1505
+ <hfp:hasFacet name="whiteSpace"/>
1506
+ <hfp:hasFacet name="maxInclusive"/>
1507
+ <hfp:hasFacet name="maxExclusive"/>
1508
+ <hfp:hasFacet name="minInclusive"/>
1509
+ <hfp:hasFacet name="minExclusive"/>
1510
+ <hfp:hasProperty name="ordered" value="partial"/>
1511
+ <hfp:hasProperty name="bounded" value="false"/>
1512
+ <hfp:hasProperty name="cardinality"
1513
+ value="countably infinite"/>
1514
+ <hfp:hasProperty name="numeric" value="false"/>
1515
+ </xs:appinfo>
1516
+ <xs:documentation
1517
+ source="http://www.w3.org/TR/xmlschema-2/#dateTime"/>
1518
+ </xs:annotation>
1519
+ <xs:restriction base="xs:anySimpleType">
1520
+ <xs:whiteSpace value="collapse" fixed="true"
1521
+ id="dateTime.whiteSpace"/>
1522
+ </xs:restriction>
1523
+ </xs:simpleType>
1524
+
1525
+ <xs:simpleType name="time" id="time">
1526
+ <xs:annotation>
1527
+ <xs:appinfo>
1528
+ <hfp:hasFacet name="pattern"/>
1529
+ <hfp:hasFacet name="enumeration"/>
1530
+ <hfp:hasFacet name="whiteSpace"/>
1531
+ <hfp:hasFacet name="maxInclusive"/>
1532
+ <hfp:hasFacet name="maxExclusive"/>
1533
+ <hfp:hasFacet name="minInclusive"/>
1534
+ <hfp:hasFacet name="minExclusive"/>
1535
+ <hfp:hasProperty name="ordered" value="partial"/>
1536
+ <hfp:hasProperty name="bounded" value="false"/>
1537
+ <hfp:hasProperty name="cardinality"
1538
+ value="countably infinite"/>
1539
+ <hfp:hasProperty name="numeric" value="false"/>
1540
+ </xs:appinfo>
1541
+ <xs:documentation
1542
+ source="http://www.w3.org/TR/xmlschema-2/#time"/>
1543
+ </xs:annotation>
1544
+ <xs:restriction base="xs:anySimpleType">
1545
+ <xs:whiteSpace value="collapse" fixed="true"
1546
+ id="time.whiteSpace"/>
1547
+ </xs:restriction>
1548
+ </xs:simpleType>
1549
+
1550
+ <xs:simpleType name="date" id="date">
1551
+ <xs:annotation>
1552
+ <xs:appinfo>
1553
+ <hfp:hasFacet name="pattern"/>
1554
+ <hfp:hasFacet name="enumeration"/>
1555
+ <hfp:hasFacet name="whiteSpace"/>
1556
+ <hfp:hasFacet name="maxInclusive"/>
1557
+ <hfp:hasFacet name="maxExclusive"/>
1558
+ <hfp:hasFacet name="minInclusive"/>
1559
+ <hfp:hasFacet name="minExclusive"/>
1560
+ <hfp:hasProperty name="ordered" value="partial"/>
1561
+ <hfp:hasProperty name="bounded" value="false"/>
1562
+ <hfp:hasProperty name="cardinality"
1563
+ value="countably infinite"/>
1564
+ <hfp:hasProperty name="numeric" value="false"/>
1565
+ </xs:appinfo>
1566
+ <xs:documentation
1567
+ source="http://www.w3.org/TR/xmlschema-2/#date"/>
1568
+ </xs:annotation>
1569
+ <xs:restriction base="xs:anySimpleType">
1570
+ <xs:whiteSpace value="collapse" fixed="true"
1571
+ id="date.whiteSpace"/>
1572
+ </xs:restriction>
1573
+ </xs:simpleType>
1574
+
1575
+ <xs:simpleType name="gYearMonth" id="gYearMonth">
1576
+ <xs:annotation>
1577
+ <xs:appinfo>
1578
+ <hfp:hasFacet name="pattern"/>
1579
+ <hfp:hasFacet name="enumeration"/>
1580
+ <hfp:hasFacet name="whiteSpace"/>
1581
+ <hfp:hasFacet name="maxInclusive"/>
1582
+ <hfp:hasFacet name="maxExclusive"/>
1583
+ <hfp:hasFacet name="minInclusive"/>
1584
+ <hfp:hasFacet name="minExclusive"/>
1585
+ <hfp:hasProperty name="ordered" value="partial"/>
1586
+ <hfp:hasProperty name="bounded" value="false"/>
1587
+ <hfp:hasProperty name="cardinality"
1588
+ value="countably infinite"/>
1589
+ <hfp:hasProperty name="numeric" value="false"/>
1590
+ </xs:appinfo>
1591
+ <xs:documentation
1592
+ source="http://www.w3.org/TR/xmlschema-2/#gYearMonth"/>
1593
+ </xs:annotation>
1594
+ <xs:restriction base="xs:anySimpleType">
1595
+ <xs:whiteSpace value="collapse" fixed="true"
1596
+ id="gYearMonth.whiteSpace"/>
1597
+ </xs:restriction>
1598
+ </xs:simpleType>
1599
+
1600
+ <xs:simpleType name="gYear" id="gYear">
1601
+ <xs:annotation>
1602
+ <xs:appinfo>
1603
+ <hfp:hasFacet name="pattern"/>
1604
+ <hfp:hasFacet name="enumeration"/>
1605
+ <hfp:hasFacet name="whiteSpace"/>
1606
+ <hfp:hasFacet name="maxInclusive"/>
1607
+ <hfp:hasFacet name="maxExclusive"/>
1608
+ <hfp:hasFacet name="minInclusive"/>
1609
+ <hfp:hasFacet name="minExclusive"/>
1610
+ <hfp:hasProperty name="ordered" value="partial"/>
1611
+ <hfp:hasProperty name="bounded" value="false"/>
1612
+ <hfp:hasProperty name="cardinality"
1613
+ value="countably infinite"/>
1614
+ <hfp:hasProperty name="numeric" value="false"/>
1615
+ </xs:appinfo>
1616
+ <xs:documentation
1617
+ source="http://www.w3.org/TR/xmlschema-2/#gYear"/>
1618
+ </xs:annotation>
1619
+ <xs:restriction base="xs:anySimpleType">
1620
+ <xs:whiteSpace value="collapse" fixed="true"
1621
+ id="gYear.whiteSpace"/>
1622
+ </xs:restriction>
1623
+ </xs:simpleType>
1624
+
1625
+ <xs:simpleType name="gMonthDay" id="gMonthDay">
1626
+ <xs:annotation>
1627
+ <xs:appinfo>
1628
+ <hfp:hasFacet name="pattern"/>
1629
+ <hfp:hasFacet name="enumeration"/>
1630
+ <hfp:hasFacet name="whiteSpace"/>
1631
+ <hfp:hasFacet name="maxInclusive"/>
1632
+ <hfp:hasFacet name="maxExclusive"/>
1633
+ <hfp:hasFacet name="minInclusive"/>
1634
+ <hfp:hasFacet name="minExclusive"/>
1635
+ <hfp:hasProperty name="ordered" value="partial"/>
1636
+ <hfp:hasProperty name="bounded" value="false"/>
1637
+ <hfp:hasProperty name="cardinality"
1638
+ value="countably infinite"/>
1639
+ <hfp:hasProperty name="numeric" value="false"/>
1640
+ </xs:appinfo>
1641
+ <xs:documentation
1642
+ source="http://www.w3.org/TR/xmlschema-2/#gMonthDay"/>
1643
+ </xs:annotation>
1644
+ <xs:restriction base="xs:anySimpleType">
1645
+ <xs:whiteSpace value="collapse" fixed="true"
1646
+ id="gMonthDay.whiteSpace"/>
1647
+ </xs:restriction>
1648
+ </xs:simpleType>
1649
+
1650
+ <xs:simpleType name="gDay" id="gDay">
1651
+ <xs:annotation>
1652
+ <xs:appinfo>
1653
+ <hfp:hasFacet name="pattern"/>
1654
+ <hfp:hasFacet name="enumeration"/>
1655
+ <hfp:hasFacet name="whiteSpace"/>
1656
+ <hfp:hasFacet name="maxInclusive"/>
1657
+ <hfp:hasFacet name="maxExclusive"/>
1658
+ <hfp:hasFacet name="minInclusive"/>
1659
+ <hfp:hasFacet name="minExclusive"/>
1660
+ <hfp:hasProperty name="ordered" value="partial"/>
1661
+ <hfp:hasProperty name="bounded" value="false"/>
1662
+ <hfp:hasProperty name="cardinality"
1663
+ value="countably infinite"/>
1664
+ <hfp:hasProperty name="numeric" value="false"/>
1665
+ </xs:appinfo>
1666
+ <xs:documentation
1667
+ source="http://www.w3.org/TR/xmlschema-2/#gDay"/>
1668
+ </xs:annotation>
1669
+ <xs:restriction base="xs:anySimpleType">
1670
+ <xs:whiteSpace value="collapse" fixed="true"
1671
+ id="gDay.whiteSpace"/>
1672
+ </xs:restriction>
1673
+ </xs:simpleType>
1674
+
1675
+ <xs:simpleType name="gMonth" id="gMonth">
1676
+ <xs:annotation>
1677
+ <xs:appinfo>
1678
+ <hfp:hasFacet name="pattern"/>
1679
+ <hfp:hasFacet name="enumeration"/>
1680
+ <hfp:hasFacet name="whiteSpace"/>
1681
+ <hfp:hasFacet name="maxInclusive"/>
1682
+ <hfp:hasFacet name="maxExclusive"/>
1683
+ <hfp:hasFacet name="minInclusive"/>
1684
+ <hfp:hasFacet name="minExclusive"/>
1685
+ <hfp:hasProperty name="ordered" value="partial"/>
1686
+ <hfp:hasProperty name="bounded" value="false"/>
1687
+ <hfp:hasProperty name="cardinality"
1688
+ value="countably infinite"/>
1689
+ <hfp:hasProperty name="numeric" value="false"/>
1690
+ </xs:appinfo>
1691
+ <xs:documentation
1692
+ source="http://www.w3.org/TR/xmlschema-2/#gMonth"/>
1693
+ </xs:annotation>
1694
+ <xs:restriction base="xs:anySimpleType">
1695
+ <xs:whiteSpace value="collapse" fixed="true"
1696
+ id="gMonth.whiteSpace"/>
1697
+ </xs:restriction>
1698
+ </xs:simpleType>
1699
+
1700
+ <xs:simpleType name="hexBinary" id="hexBinary">
1701
+ <xs:annotation>
1702
+ <xs:appinfo>
1703
+ <hfp:hasFacet name="length"/>
1704
+ <hfp:hasFacet name="minLength"/>
1705
+ <hfp:hasFacet name="maxLength"/>
1706
+ <hfp:hasFacet name="pattern"/>
1707
+ <hfp:hasFacet name="enumeration"/>
1708
+ <hfp:hasFacet name="whiteSpace"/>
1709
+ <hfp:hasProperty name="ordered" value="false"/>
1710
+ <hfp:hasProperty name="bounded" value="false"/>
1711
+ <hfp:hasProperty name="cardinality"
1712
+ value="countably infinite"/>
1713
+ <hfp:hasProperty name="numeric" value="false"/>
1714
+ </xs:appinfo>
1715
+ <xs:documentation
1716
+ source="http://www.w3.org/TR/xmlschema-2/#binary"/>
1717
+ </xs:annotation>
1718
+ <xs:restriction base="xs:anySimpleType">
1719
+ <xs:whiteSpace value="collapse" fixed="true"
1720
+ id="hexBinary.whiteSpace"/>
1721
+ </xs:restriction>
1722
+ </xs:simpleType>
1723
+
1724
+ <xs:simpleType name="base64Binary" id="base64Binary">
1725
+ <xs:annotation>
1726
+ <xs:appinfo>
1727
+ <hfp:hasFacet name="length"/>
1728
+ <hfp:hasFacet name="minLength"/>
1729
+ <hfp:hasFacet name="maxLength"/>
1730
+ <hfp:hasFacet name="pattern"/>
1731
+ <hfp:hasFacet name="enumeration"/>
1732
+ <hfp:hasFacet name="whiteSpace"/>
1733
+ <hfp:hasProperty name="ordered" value="false"/>
1734
+ <hfp:hasProperty name="bounded" value="false"/>
1735
+ <hfp:hasProperty name="cardinality"
1736
+ value="countably infinite"/>
1737
+ <hfp:hasProperty name="numeric" value="false"/>
1738
+ </xs:appinfo>
1739
+ <xs:documentation
1740
+ source="http://www.w3.org/TR/xmlschema-2/#base64Binary"/>
1741
+ </xs:annotation>
1742
+ <xs:restriction base="xs:anySimpleType">
1743
+ <xs:whiteSpace value="collapse" fixed="true"
1744
+ id="base64Binary.whiteSpace"/>
1745
+ </xs:restriction>
1746
+ </xs:simpleType>
1747
+
1748
+ <xs:simpleType name="anyURI" id="anyURI">
1749
+ <xs:annotation>
1750
+ <xs:appinfo>
1751
+ <hfp:hasFacet name="length"/>
1752
+ <hfp:hasFacet name="minLength"/>
1753
+ <hfp:hasFacet name="maxLength"/>
1754
+ <hfp:hasFacet name="pattern"/>
1755
+ <hfp:hasFacet name="enumeration"/>
1756
+ <hfp:hasFacet name="whiteSpace"/>
1757
+ <hfp:hasProperty name="ordered" value="false"/>
1758
+ <hfp:hasProperty name="bounded" value="false"/>
1759
+ <hfp:hasProperty name="cardinality"
1760
+ value="countably infinite"/>
1761
+ <hfp:hasProperty name="numeric" value="false"/>
1762
+ </xs:appinfo>
1763
+ <xs:documentation
1764
+ source="http://www.w3.org/TR/xmlschema-2/#anyURI"/>
1765
+ </xs:annotation>
1766
+ <xs:restriction base="xs:anySimpleType">
1767
+ <xs:whiteSpace value="collapse" fixed="true"
1768
+ id="anyURI.whiteSpace"/>
1769
+ </xs:restriction>
1770
+ </xs:simpleType>
1771
+
1772
+ <xs:simpleType name="QName" id="QName">
1773
+ <xs:annotation>
1774
+ <xs:appinfo>
1775
+ <hfp:hasFacet name="length"/>
1776
+ <hfp:hasFacet name="minLength"/>
1777
+ <hfp:hasFacet name="maxLength"/>
1778
+ <hfp:hasFacet name="pattern"/>
1779
+ <hfp:hasFacet name="enumeration"/>
1780
+ <hfp:hasFacet name="whiteSpace"/>
1781
+ <hfp:hasProperty name="ordered" value="false"/>
1782
+ <hfp:hasProperty name="bounded" value="false"/>
1783
+ <hfp:hasProperty name="cardinality"
1784
+ value="countably infinite"/>
1785
+ <hfp:hasProperty name="numeric" value="false"/>
1786
+ </xs:appinfo>
1787
+ <xs:documentation
1788
+ source="http://www.w3.org/TR/xmlschema-2/#QName"/>
1789
+ </xs:annotation>
1790
+ <xs:restriction base="xs:anySimpleType">
1791
+ <xs:whiteSpace value="collapse" fixed="true"
1792
+ id="QName.whiteSpace"/>
1793
+ </xs:restriction>
1794
+ </xs:simpleType>
1795
+
1796
+ <xs:simpleType name="NOTATION" id="NOTATION">
1797
+ <xs:annotation>
1798
+ <xs:appinfo>
1799
+ <hfp:hasFacet name="length"/>
1800
+ <hfp:hasFacet name="minLength"/>
1801
+ <hfp:hasFacet name="maxLength"/>
1802
+ <hfp:hasFacet name="pattern"/>
1803
+ <hfp:hasFacet name="enumeration"/>
1804
+ <hfp:hasFacet name="whiteSpace"/>
1805
+ <hfp:hasProperty name="ordered" value="false"/>
1806
+ <hfp:hasProperty name="bounded" value="false"/>
1807
+ <hfp:hasProperty name="cardinality"
1808
+ value="countably infinite"/>
1809
+ <hfp:hasProperty name="numeric" value="false"/>
1810
+ </xs:appinfo>
1811
+ <xs:documentation
1812
+ source="http://www.w3.org/TR/xmlschema-2/#NOTATION"/>
1813
+ <xs:documentation>
1814
+ NOTATION cannot be used directly in a schema; rather a type
1815
+ must be derived from it by specifying at least one enumeration
1816
+ facet whose value is the name of a NOTATION declared in the
1817
+ schema.
1818
+ </xs:documentation>
1819
+ </xs:annotation>
1820
+ <xs:restriction base="xs:anySimpleType">
1821
+ <xs:whiteSpace value="collapse" fixed="true"
1822
+ id="NOTATION.whiteSpace"/>
1823
+ </xs:restriction>
1824
+ </xs:simpleType>
1825
+
1826
+ <xs:annotation>
1827
+ <xs:documentation>
1828
+ Now the derived primitive types
1829
+ </xs:documentation>
1830
+ </xs:annotation>
1831
+
1832
+ <xs:simpleType name="normalizedString" id="normalizedString">
1833
+ <xs:annotation>
1834
+ <xs:documentation
1835
+ source="http://www.w3.org/TR/xmlschema-2/#normalizedString"/>
1836
+ </xs:annotation>
1837
+ <xs:restriction base="xs:string">
1838
+ <xs:whiteSpace value="replace"
1839
+ id="normalizedString.whiteSpace"/>
1840
+ </xs:restriction>
1841
+ </xs:simpleType>
1842
+
1843
+ <xs:simpleType name="token" id="token">
1844
+ <xs:annotation>
1845
+ <xs:documentation
1846
+ source="http://www.w3.org/TR/xmlschema-2/#token"/>
1847
+ </xs:annotation>
1848
+ <xs:restriction base="xs:normalizedString">
1849
+ <xs:whiteSpace value="collapse" id="token.whiteSpace"/>
1850
+ </xs:restriction>
1851
+ </xs:simpleType>
1852
+
1853
+ <xs:simpleType name="language" id="language">
1854
+ <xs:annotation>
1855
+ <xs:documentation
1856
+ source="http://www.w3.org/TR/xmlschema-2/#language"/>
1857
+ </xs:annotation>
1858
+ <xs:restriction base="xs:token">
1859
+ <xs:pattern
1860
+ value="[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*"
1861
+ id="language.pattern">
1862
+ <xs:annotation>
1863
+ <xs:documentation
1864
+ source="http://www.ietf.org/rfc/rfc3066.txt">
1865
+ pattern specifies the content of section 2.12 of XML 1.0e2
1866
+ and RFC 3066 (Revised version of RFC 1766).
1867
+ </xs:documentation>
1868
+ </xs:annotation>
1869
+ </xs:pattern>
1870
+ </xs:restriction>
1871
+ </xs:simpleType>
1872
+
1873
+ <xs:simpleType name="IDREFS" id="IDREFS">
1874
+ <xs:annotation>
1875
+ <xs:appinfo>
1876
+ <hfp:hasFacet name="length"/>
1877
+ <hfp:hasFacet name="minLength"/>
1878
+ <hfp:hasFacet name="maxLength"/>
1879
+ <hfp:hasFacet name="enumeration"/>
1880
+ <hfp:hasFacet name="whiteSpace"/>
1881
+ <hfp:hasFacet name="pattern"/>
1882
+ <hfp:hasProperty name="ordered" value="false"/>
1883
+ <hfp:hasProperty name="bounded" value="false"/>
1884
+ <hfp:hasProperty name="cardinality"
1885
+ value="countably infinite"/>
1886
+ <hfp:hasProperty name="numeric" value="false"/>
1887
+ </xs:appinfo>
1888
+ <xs:documentation
1889
+ source="http://www.w3.org/TR/xmlschema-2/#IDREFS"/>
1890
+ </xs:annotation>
1891
+ <xs:restriction>
1892
+ <xs:simpleType>
1893
+ <xs:list itemType="xs:IDREF"/>
1894
+ </xs:simpleType>
1895
+ <xs:minLength value="1" id="IDREFS.minLength"/>
1896
+ </xs:restriction>
1897
+ </xs:simpleType>
1898
+
1899
+ <xs:simpleType name="ENTITIES" id="ENTITIES">
1900
+ <xs:annotation>
1901
+ <xs:appinfo>
1902
+ <hfp:hasFacet name="length"/>
1903
+ <hfp:hasFacet name="minLength"/>
1904
+ <hfp:hasFacet name="maxLength"/>
1905
+ <hfp:hasFacet name="enumeration"/>
1906
+ <hfp:hasFacet name="whiteSpace"/>
1907
+ <hfp:hasFacet name="pattern"/>
1908
+ <hfp:hasProperty name="ordered" value="false"/>
1909
+ <hfp:hasProperty name="bounded" value="false"/>
1910
+ <hfp:hasProperty name="cardinality"
1911
+ value="countably infinite"/>
1912
+ <hfp:hasProperty name="numeric" value="false"/>
1913
+ </xs:appinfo>
1914
+ <xs:documentation
1915
+ source="http://www.w3.org/TR/xmlschema-2/#ENTITIES"/>
1916
+ </xs:annotation>
1917
+ <xs:restriction>
1918
+ <xs:simpleType>
1919
+ <xs:list itemType="xs:ENTITY"/>
1920
+ </xs:simpleType>
1921
+ <xs:minLength value="1" id="ENTITIES.minLength"/>
1922
+ </xs:restriction>
1923
+ </xs:simpleType>
1924
+
1925
+ <xs:simpleType name="NMTOKEN" id="NMTOKEN">
1926
+ <xs:annotation>
1927
+ <xs:documentation
1928
+ source="http://www.w3.org/TR/xmlschema-2/#NMTOKEN"/>
1929
+ </xs:annotation>
1930
+ <xs:restriction base="xs:token">
1931
+ <xs:pattern value="\c+" id="NMTOKEN.pattern">
1932
+ <xs:annotation>
1933
+ <xs:documentation
1934
+ source="http://www.w3.org/TR/REC-xml#NT-Nmtoken">
1935
+ pattern matches production 7 from the XML spec
1936
+ </xs:documentation>
1937
+ </xs:annotation>
1938
+ </xs:pattern>
1939
+ </xs:restriction>
1940
+ </xs:simpleType>
1941
+
1942
+ <xs:simpleType name="NMTOKENS" id="NMTOKENS">
1943
+ <xs:annotation>
1944
+ <xs:appinfo>
1945
+ <hfp:hasFacet name="length"/>
1946
+ <hfp:hasFacet name="minLength"/>
1947
+ <hfp:hasFacet name="maxLength"/>
1948
+ <hfp:hasFacet name="enumeration"/>
1949
+ <hfp:hasFacet name="whiteSpace"/>
1950
+ <hfp:hasFacet name="pattern"/>
1951
+ <hfp:hasProperty name="ordered" value="false"/>
1952
+ <hfp:hasProperty name="bounded" value="false"/>
1953
+ <hfp:hasProperty name="cardinality"
1954
+ value="countably infinite"/>
1955
+ <hfp:hasProperty name="numeric" value="false"/>
1956
+ </xs:appinfo>
1957
+ <xs:documentation
1958
+ source="http://www.w3.org/TR/xmlschema-2/#NMTOKENS"/>
1959
+ </xs:annotation>
1960
+ <xs:restriction>
1961
+ <xs:simpleType>
1962
+ <xs:list itemType="xs:NMTOKEN"/>
1963
+ </xs:simpleType>
1964
+ <xs:minLength value="1" id="NMTOKENS.minLength"/>
1965
+ </xs:restriction>
1966
+ </xs:simpleType>
1967
+
1968
+ <xs:simpleType name="Name" id="Name">
1969
+ <xs:annotation>
1970
+ <xs:documentation
1971
+ source="http://www.w3.org/TR/xmlschema-2/#Name"/>
1972
+ </xs:annotation>
1973
+ <xs:restriction base="xs:token">
1974
+ <xs:pattern value="\i\c*" id="Name.pattern">
1975
+ <xs:annotation>
1976
+ <xs:documentation
1977
+ source="http://www.w3.org/TR/REC-xml#NT-Name">
1978
+ pattern matches production 5 from the XML spec
1979
+ </xs:documentation>
1980
+ </xs:annotation>
1981
+ </xs:pattern>
1982
+ </xs:restriction>
1983
+ </xs:simpleType>
1984
+
1985
+ <xs:simpleType name="NCName" id="NCName">
1986
+ <xs:annotation>
1987
+ <xs:documentation
1988
+ source="http://www.w3.org/TR/xmlschema-2/#NCName"/>
1989
+ </xs:annotation>
1990
+ <xs:restriction base="xs:Name">
1991
+ <xs:pattern value="[\i-[:]][\c-[:]]*" id="NCName.pattern">
1992
+ <xs:annotation>
1993
+ <xs:documentation
1994
+ source="http://www.w3.org/TR/REC-xml-names/#NT-NCName">
1995
+ pattern matches production 4 from the Namespaces in XML spec
1996
+ </xs:documentation>
1997
+ </xs:annotation>
1998
+ </xs:pattern>
1999
+ </xs:restriction>
2000
+ </xs:simpleType>
2001
+
2002
+ <xs:simpleType name="ID" id="ID">
2003
+ <xs:annotation>
2004
+ <xs:documentation
2005
+ source="http://www.w3.org/TR/xmlschema-2/#ID"/>
2006
+ </xs:annotation>
2007
+ <xs:restriction base="xs:NCName"/>
2008
+ </xs:simpleType>
2009
+
2010
+ <xs:simpleType name="IDREF" id="IDREF">
2011
+ <xs:annotation>
2012
+ <xs:documentation
2013
+ source="http://www.w3.org/TR/xmlschema-2/#IDREF"/>
2014
+ </xs:annotation>
2015
+ <xs:restriction base="xs:NCName"/>
2016
+ </xs:simpleType>
2017
+
2018
+ <xs:simpleType name="ENTITY" id="ENTITY">
2019
+ <xs:annotation>
2020
+ <xs:documentation
2021
+ source="http://www.w3.org/TR/xmlschema-2/#ENTITY"/>
2022
+ </xs:annotation>
2023
+ <xs:restriction base="xs:NCName"/>
2024
+ </xs:simpleType>
2025
+
2026
+ <xs:simpleType name="integer" id="integer">
2027
+ <xs:annotation>
2028
+ <xs:documentation
2029
+ source="http://www.w3.org/TR/xmlschema-2/#integer"/>
2030
+ </xs:annotation>
2031
+ <xs:restriction base="xs:decimal">
2032
+ <xs:fractionDigits value="0" fixed="true" id="integer.fractionDigits"/>
2033
+ <xs:pattern value="[\-+]?[0-9]+"/>
2034
+ </xs:restriction>
2035
+ </xs:simpleType>
2036
+
2037
+ <xs:simpleType name="nonPositiveInteger" id="nonPositiveInteger">
2038
+ <xs:annotation>
2039
+ <xs:documentation
2040
+ source="http://www.w3.org/TR/xmlschema-2/#nonPositiveInteger"/>
2041
+ </xs:annotation>
2042
+ <xs:restriction base="xs:integer">
2043
+ <xs:maxInclusive value="0" id="nonPositiveInteger.maxInclusive"/>
2044
+ </xs:restriction>
2045
+ </xs:simpleType>
2046
+
2047
+ <xs:simpleType name="negativeInteger" id="negativeInteger">
2048
+ <xs:annotation>
2049
+ <xs:documentation
2050
+ source="http://www.w3.org/TR/xmlschema-2/#negativeInteger"/>
2051
+ </xs:annotation>
2052
+ <xs:restriction base="xs:nonPositiveInteger">
2053
+ <xs:maxInclusive value="-1" id="negativeInteger.maxInclusive"/>
2054
+ </xs:restriction>
2055
+ </xs:simpleType>
2056
+
2057
+ <xs:simpleType name="long" id="long">
2058
+ <xs:annotation>
2059
+ <xs:appinfo>
2060
+ <hfp:hasProperty name="bounded" value="true"/>
2061
+ <hfp:hasProperty name="cardinality" value="finite"/>
2062
+ </xs:appinfo>
2063
+ <xs:documentation
2064
+ source="http://www.w3.org/TR/xmlschema-2/#long"/>
2065
+ </xs:annotation>
2066
+ <xs:restriction base="xs:integer">
2067
+ <xs:minInclusive value="-9223372036854775808" id="long.minInclusive"/>
2068
+ <xs:maxInclusive value="9223372036854775807" id="long.maxInclusive"/>
2069
+ </xs:restriction>
2070
+ </xs:simpleType>
2071
+
2072
+ <xs:simpleType name="int" id="int">
2073
+ <xs:annotation>
2074
+ <xs:documentation
2075
+ source="http://www.w3.org/TR/xmlschema-2/#int"/>
2076
+ </xs:annotation>
2077
+ <xs:restriction base="xs:long">
2078
+ <xs:minInclusive value="-2147483648" id="int.minInclusive"/>
2079
+ <xs:maxInclusive value="2147483647" id="int.maxInclusive"/>
2080
+ </xs:restriction>
2081
+ </xs:simpleType>
2082
+
2083
+ <xs:simpleType name="short" id="short">
2084
+ <xs:annotation>
2085
+ <xs:documentation
2086
+ source="http://www.w3.org/TR/xmlschema-2/#short"/>
2087
+ </xs:annotation>
2088
+ <xs:restriction base="xs:int">
2089
+ <xs:minInclusive value="-32768" id="short.minInclusive"/>
2090
+ <xs:maxInclusive value="32767" id="short.maxInclusive"/>
2091
+ </xs:restriction>
2092
+ </xs:simpleType>
2093
+
2094
+ <xs:simpleType name="byte" id="byte">
2095
+ <xs:annotation>
2096
+ <xs:documentation
2097
+ source="http://www.w3.org/TR/xmlschema-2/#byte"/>
2098
+ </xs:annotation>
2099
+ <xs:restriction base="xs:short">
2100
+ <xs:minInclusive value="-128" id="byte.minInclusive"/>
2101
+ <xs:maxInclusive value="127" id="byte.maxInclusive"/>
2102
+ </xs:restriction>
2103
+ </xs:simpleType>
2104
+
2105
+ <xs:simpleType name="nonNegativeInteger" id="nonNegativeInteger">
2106
+ <xs:annotation>
2107
+ <xs:documentation
2108
+ source="http://www.w3.org/TR/xmlschema-2/#nonNegativeInteger"/>
2109
+ </xs:annotation>
2110
+ <xs:restriction base="xs:integer">
2111
+ <xs:minInclusive value="0" id="nonNegativeInteger.minInclusive"/>
2112
+ </xs:restriction>
2113
+ </xs:simpleType>
2114
+
2115
+ <xs:simpleType name="unsignedLong" id="unsignedLong">
2116
+ <xs:annotation>
2117
+ <xs:appinfo>
2118
+ <hfp:hasProperty name="bounded" value="true"/>
2119
+ <hfp:hasProperty name="cardinality" value="finite"/>
2120
+ </xs:appinfo>
2121
+ <xs:documentation
2122
+ source="http://www.w3.org/TR/xmlschema-2/#unsignedLong"/>
2123
+ </xs:annotation>
2124
+ <xs:restriction base="xs:nonNegativeInteger">
2125
+ <xs:maxInclusive value="18446744073709551615"
2126
+ id="unsignedLong.maxInclusive"/>
2127
+ </xs:restriction>
2128
+ </xs:simpleType>
2129
+
2130
+ <xs:simpleType name="unsignedInt" id="unsignedInt">
2131
+ <xs:annotation>
2132
+ <xs:documentation
2133
+ source="http://www.w3.org/TR/xmlschema-2/#unsignedInt"/>
2134
+ </xs:annotation>
2135
+ <xs:restriction base="xs:unsignedLong">
2136
+ <xs:maxInclusive value="4294967295"
2137
+ id="unsignedInt.maxInclusive"/>
2138
+ </xs:restriction>
2139
+ </xs:simpleType>
2140
+
2141
+ <xs:simpleType name="unsignedShort" id="unsignedShort">
2142
+ <xs:annotation>
2143
+ <xs:documentation
2144
+ source="http://www.w3.org/TR/xmlschema-2/#unsignedShort"/>
2145
+ </xs:annotation>
2146
+ <xs:restriction base="xs:unsignedInt">
2147
+ <xs:maxInclusive value="65535"
2148
+ id="unsignedShort.maxInclusive"/>
2149
+ </xs:restriction>
2150
+ </xs:simpleType>
2151
+
2152
+ <xs:simpleType name="unsignedByte" id="unsignedByte">
2153
+ <xs:annotation>
2154
+ <xs:documentation
2155
+ source="http://www.w3.org/TR/xmlschema-2/#unsignedByte"/>
2156
+ </xs:annotation>
2157
+ <xs:restriction base="xs:unsignedShort">
2158
+ <xs:maxInclusive value="255" id="unsignedByte.maxInclusive"/>
2159
+ </xs:restriction>
2160
+ </xs:simpleType>
2161
+
2162
+ <xs:simpleType name="positiveInteger" id="positiveInteger">
2163
+ <xs:annotation>
2164
+ <xs:documentation
2165
+ source="http://www.w3.org/TR/xmlschema-2/#positiveInteger"/>
2166
+ </xs:annotation>
2167
+ <xs:restriction base="xs:nonNegativeInteger">
2168
+ <xs:minInclusive value="1" id="positiveInteger.minInclusive"/>
2169
+ </xs:restriction>
2170
+ </xs:simpleType>
2171
+
2172
+ <xs:simpleType name="derivationControl">
2173
+ <xs:annotation>
2174
+ <xs:documentation>
2175
+ A utility type, not for public use</xs:documentation>
2176
+ </xs:annotation>
2177
+ <xs:restriction base="xs:NMTOKEN">
2178
+ <xs:enumeration value="substitution"/>
2179
+ <xs:enumeration value="extension"/>
2180
+ <xs:enumeration value="restriction"/>
2181
+ <xs:enumeration value="list"/>
2182
+ <xs:enumeration value="union"/>
2183
+ </xs:restriction>
2184
+ </xs:simpleType>
2185
+
2186
+ <xs:group name="simpleDerivation">
2187
+ <xs:choice>
2188
+ <xs:element ref="xs:restriction"/>
2189
+ <xs:element ref="xs:list"/>
2190
+ <xs:element ref="xs:union"/>
2191
+ </xs:choice>
2192
+ </xs:group>
2193
+
2194
+ <xs:simpleType name="simpleDerivationSet">
2195
+ <xs:annotation>
2196
+ <xs:documentation>
2197
+ #all or (possibly empty) subset of {restriction, union, list}
2198
+ </xs:documentation>
2199
+ <xs:documentation>
2200
+ A utility type, not for public use</xs:documentation>
2201
+ </xs:annotation>
2202
+ <xs:union>
2203
+ <xs:simpleType>
2204
+ <xs:restriction base="xs:token">
2205
+ <xs:enumeration value="#all"/>
2206
+ </xs:restriction>
2207
+ </xs:simpleType>
2208
+ <xs:simpleType>
2209
+ <xs:list>
2210
+ <xs:simpleType>
2211
+ <xs:restriction base="xs:derivationControl">
2212
+ <xs:enumeration value="list"/>
2213
+ <xs:enumeration value="union"/>
2214
+ <xs:enumeration value="restriction"/>
2215
+ </xs:restriction>
2216
+ </xs:simpleType>
2217
+ </xs:list>
2218
+ </xs:simpleType>
2219
+ </xs:union>
2220
+ </xs:simpleType>
2221
+
2222
+ <xs:complexType name="simpleType" abstract="true">
2223
+ <xs:complexContent>
2224
+ <xs:extension base="xs:annotated">
2225
+ <xs:group ref="xs:simpleDerivation"/>
2226
+ <xs:attribute name="final" type="xs:simpleDerivationSet"/>
2227
+ <xs:attribute name="name" type="xs:NCName">
2228
+ <xs:annotation>
2229
+ <xs:documentation>
2230
+ Can be restricted to required or forbidden
2231
+ </xs:documentation>
2232
+ </xs:annotation>
2233
+ </xs:attribute>
2234
+ </xs:extension>
2235
+ </xs:complexContent>
2236
+ </xs:complexType>
2237
+
2238
+ <xs:complexType name="topLevelSimpleType">
2239
+ <xs:complexContent>
2240
+ <xs:restriction base="xs:simpleType">
2241
+ <xs:sequence>
2242
+ <xs:element ref="xs:annotation" minOccurs="0"/>
2243
+ <xs:group ref="xs:simpleDerivation"/>
2244
+ </xs:sequence>
2245
+ <xs:attribute name="name" use="required"
2246
+ type="xs:NCName">
2247
+ <xs:annotation>
2248
+ <xs:documentation>
2249
+ Required at the top level
2250
+ </xs:documentation>
2251
+ </xs:annotation>
2252
+ </xs:attribute>
2253
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
2254
+ </xs:restriction>
2255
+ </xs:complexContent>
2256
+ </xs:complexType>
2257
+
2258
+ <xs:complexType name="localSimpleType">
2259
+ <xs:complexContent>
2260
+ <xs:restriction base="xs:simpleType">
2261
+ <xs:sequence>
2262
+ <xs:element ref="xs:annotation" minOccurs="0"/>
2263
+ <xs:group ref="xs:simpleDerivation"/>
2264
+ </xs:sequence>
2265
+ <xs:attribute name="name" use="prohibited">
2266
+ <xs:annotation>
2267
+ <xs:documentation>
2268
+ Forbidden when nested
2269
+ </xs:documentation>
2270
+ </xs:annotation>
2271
+ </xs:attribute>
2272
+ <xs:attribute name="final" use="prohibited"/>
2273
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
2274
+ </xs:restriction>
2275
+ </xs:complexContent>
2276
+ </xs:complexType>
2277
+
2278
+ <xs:element name="simpleType" type="xs:topLevelSimpleType" id="simpleType">
2279
+ <xs:annotation>
2280
+ <xs:documentation
2281
+ source="http://www.w3.org/TR/xmlschema-2/#element-simpleType"/>
2282
+ </xs:annotation>
2283
+ </xs:element>
2284
+
2285
+ <xs:group name="facets">
2286
+ <xs:annotation>
2287
+ <xs:documentation>
2288
+ We should use a substitution group for facets, but
2289
+ that's ruled out because it would allow users to
2290
+ add their own, which we're not ready for yet.
2291
+ </xs:documentation>
2292
+ </xs:annotation>
2293
+ <xs:choice>
2294
+ <xs:element ref="xs:minExclusive"/>
2295
+ <xs:element ref="xs:minInclusive"/>
2296
+ <xs:element ref="xs:maxExclusive"/>
2297
+ <xs:element ref="xs:maxInclusive"/>
2298
+ <xs:element ref="xs:totalDigits"/>
2299
+ <xs:element ref="xs:fractionDigits"/>
2300
+ <xs:element ref="xs:length"/>
2301
+ <xs:element ref="xs:minLength"/>
2302
+ <xs:element ref="xs:maxLength"/>
2303
+ <xs:element ref="xs:enumeration"/>
2304
+ <xs:element ref="xs:whiteSpace"/>
2305
+ <xs:element ref="xs:pattern"/>
2306
+ </xs:choice>
2307
+ </xs:group>
2308
+
2309
+ <xs:group name="simpleRestrictionModel">
2310
+ <xs:sequence>
2311
+ <xs:element name="simpleType" type="xs:localSimpleType" minOccurs="0"/>
2312
+ <xs:group ref="xs:facets" minOccurs="0" maxOccurs="unbounded"/>
2313
+ </xs:sequence>
2314
+ </xs:group>
2315
+
2316
+ <xs:element name="restriction" id="restriction">
2317
+ <xs:complexType>
2318
+ <xs:annotation>
2319
+ <xs:documentation
2320
+ source="http://www.w3.org/TR/xmlschema-2/#element-restriction">
2321
+ base attribute and simpleType child are mutually
2322
+ exclusive, but one or other is required
2323
+ </xs:documentation>
2324
+ </xs:annotation>
2325
+ <xs:complexContent>
2326
+ <xs:extension base="xs:annotated">
2327
+ <xs:group ref="xs:simpleRestrictionModel"/>
2328
+ <xs:attribute name="base" type="xs:QName" use="optional"/>
2329
+ </xs:extension>
2330
+ </xs:complexContent>
2331
+ </xs:complexType>
2332
+ </xs:element>
2333
+
2334
+ <xs:element name="list" id="list">
2335
+ <xs:complexType>
2336
+ <xs:annotation>
2337
+ <xs:documentation
2338
+ source="http://www.w3.org/TR/xmlschema-2/#element-list">
2339
+ itemType attribute and simpleType child are mutually
2340
+ exclusive, but one or other is required
2341
+ </xs:documentation>
2342
+ </xs:annotation>
2343
+ <xs:complexContent>
2344
+ <xs:extension base="xs:annotated">
2345
+ <xs:sequence>
2346
+ <xs:element name="simpleType" type="xs:localSimpleType"
2347
+ minOccurs="0"/>
2348
+ </xs:sequence>
2349
+ <xs:attribute name="itemType" type="xs:QName" use="optional"/>
2350
+ </xs:extension>
2351
+ </xs:complexContent>
2352
+ </xs:complexType>
2353
+ </xs:element>
2354
+
2355
+ <xs:element name="union" id="union">
2356
+ <xs:complexType>
2357
+ <xs:annotation>
2358
+ <xs:documentation
2359
+ source="http://www.w3.org/TR/xmlschema-2/#element-union">
2360
+ memberTypes attribute must be non-empty or there must be
2361
+ at least one simpleType child
2362
+ </xs:documentation>
2363
+ </xs:annotation>
2364
+ <xs:complexContent>
2365
+ <xs:extension base="xs:annotated">
2366
+ <xs:sequence>
2367
+ <xs:element name="simpleType" type="xs:localSimpleType"
2368
+ minOccurs="0" maxOccurs="unbounded"/>
2369
+ </xs:sequence>
2370
+ <xs:attribute name="memberTypes" use="optional">
2371
+ <xs:simpleType>
2372
+ <xs:list itemType="xs:QName"/>
2373
+ </xs:simpleType>
2374
+ </xs:attribute>
2375
+ </xs:extension>
2376
+ </xs:complexContent>
2377
+ </xs:complexType>
2378
+ </xs:element>
2379
+
2380
+ <xs:complexType name="facet">
2381
+ <xs:complexContent>
2382
+ <xs:extension base="xs:annotated">
2383
+ <xs:attribute name="value" use="required"/>
2384
+ <xs:attribute name="fixed" type="xs:boolean" use="optional"
2385
+ default="false"/>
2386
+ </xs:extension>
2387
+ </xs:complexContent>
2388
+ </xs:complexType>
2389
+
2390
+ <xs:complexType name="noFixedFacet">
2391
+ <xs:complexContent>
2392
+ <xs:restriction base="xs:facet">
2393
+ <xs:sequence>
2394
+ <xs:element ref="xs:annotation" minOccurs="0"/>
2395
+ </xs:sequence>
2396
+ <xs:attribute name="fixed" use="prohibited"/>
2397
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
2398
+ </xs:restriction>
2399
+ </xs:complexContent>
2400
+ </xs:complexType>
2401
+
2402
+ <xs:element name="minExclusive" id="minExclusive" type="xs:facet">
2403
+ <xs:annotation>
2404
+ <xs:documentation
2405
+ source="http://www.w3.org/TR/xmlschema-2/#element-minExclusive"/>
2406
+ </xs:annotation>
2407
+ </xs:element>
2408
+ <xs:element name="minInclusive" id="minInclusive" type="xs:facet">
2409
+ <xs:annotation>
2410
+ <xs:documentation
2411
+ source="http://www.w3.org/TR/xmlschema-2/#element-minInclusive"/>
2412
+ </xs:annotation>
2413
+ </xs:element>
2414
+
2415
+ <xs:element name="maxExclusive" id="maxExclusive" type="xs:facet">
2416
+ <xs:annotation>
2417
+ <xs:documentation
2418
+ source="http://www.w3.org/TR/xmlschema-2/#element-maxExclusive"/>
2419
+ </xs:annotation>
2420
+ </xs:element>
2421
+ <xs:element name="maxInclusive" id="maxInclusive" type="xs:facet">
2422
+ <xs:annotation>
2423
+ <xs:documentation
2424
+ source="http://www.w3.org/TR/xmlschema-2/#element-maxInclusive"/>
2425
+ </xs:annotation>
2426
+ </xs:element>
2427
+
2428
+ <xs:complexType name="numFacet">
2429
+ <xs:complexContent>
2430
+ <xs:restriction base="xs:facet">
2431
+ <xs:sequence>
2432
+ <xs:element ref="xs:annotation" minOccurs="0"/>
2433
+ </xs:sequence>
2434
+ <xs:attribute name="value" type="xs:nonNegativeInteger" use="required"/>
2435
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
2436
+ </xs:restriction>
2437
+ </xs:complexContent>
2438
+ </xs:complexType>
2439
+
2440
+ <xs:element name="totalDigits" id="totalDigits">
2441
+ <xs:annotation>
2442
+ <xs:documentation
2443
+ source="http://www.w3.org/TR/xmlschema-2/#element-totalDigits"/>
2444
+ </xs:annotation>
2445
+ <xs:complexType>
2446
+ <xs:complexContent>
2447
+ <xs:restriction base="xs:numFacet">
2448
+ <xs:sequence>
2449
+ <xs:element ref="xs:annotation" minOccurs="0"/>
2450
+ </xs:sequence>
2451
+ <xs:attribute name="value" type="xs:positiveInteger" use="required"/>
2452
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
2453
+ </xs:restriction>
2454
+ </xs:complexContent>
2455
+ </xs:complexType>
2456
+ </xs:element>
2457
+ <xs:element name="fractionDigits" id="fractionDigits" type="xs:numFacet">
2458
+ <xs:annotation>
2459
+ <xs:documentation
2460
+ source="http://www.w3.org/TR/xmlschema-2/#element-fractionDigits"/>
2461
+ </xs:annotation>
2462
+ </xs:element>
2463
+
2464
+ <xs:element name="length" id="length" type="xs:numFacet">
2465
+ <xs:annotation>
2466
+ <xs:documentation
2467
+ source="http://www.w3.org/TR/xmlschema-2/#element-length"/>
2468
+ </xs:annotation>
2469
+ </xs:element>
2470
+ <xs:element name="minLength" id="minLength" type="xs:numFacet">
2471
+ <xs:annotation>
2472
+ <xs:documentation
2473
+ source="http://www.w3.org/TR/xmlschema-2/#element-minLength"/>
2474
+ </xs:annotation>
2475
+ </xs:element>
2476
+ <xs:element name="maxLength" id="maxLength" type="xs:numFacet">
2477
+ <xs:annotation>
2478
+ <xs:documentation
2479
+ source="http://www.w3.org/TR/xmlschema-2/#element-maxLength"/>
2480
+ </xs:annotation>
2481
+ </xs:element>
2482
+
2483
+ <xs:element name="enumeration" id="enumeration" type="xs:noFixedFacet">
2484
+ <xs:annotation>
2485
+ <xs:documentation
2486
+ source="http://www.w3.org/TR/xmlschema-2/#element-enumeration"/>
2487
+ </xs:annotation>
2488
+ </xs:element>
2489
+
2490
+ <xs:element name="whiteSpace" id="whiteSpace">
2491
+ <xs:annotation>
2492
+ <xs:documentation
2493
+ source="http://www.w3.org/TR/xmlschema-2/#element-whiteSpace"/>
2494
+ </xs:annotation>
2495
+ <xs:complexType>
2496
+ <xs:complexContent>
2497
+ <xs:restriction base="xs:facet">
2498
+ <xs:sequence>
2499
+ <xs:element ref="xs:annotation" minOccurs="0"/>
2500
+ </xs:sequence>
2501
+ <xs:attribute name="value" use="required">
2502
+ <xs:simpleType>
2503
+ <xs:restriction base="xs:NMTOKEN">
2504
+ <xs:enumeration value="preserve"/>
2505
+ <xs:enumeration value="replace"/>
2506
+ <xs:enumeration value="collapse"/>
2507
+ </xs:restriction>
2508
+ </xs:simpleType>
2509
+ </xs:attribute>
2510
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
2511
+ </xs:restriction>
2512
+ </xs:complexContent>
2513
+ </xs:complexType>
2514
+ </xs:element>
2515
+
2516
+ <xs:element name="pattern" id="pattern">
2517
+ <xs:annotation>
2518
+ <xs:documentation
2519
+ source="http://www.w3.org/TR/xmlschema-2/#element-pattern"/>
2520
+ </xs:annotation>
2521
+ <xs:complexType>
2522
+ <xs:complexContent>
2523
+ <xs:restriction base="xs:noFixedFacet">
2524
+ <xs:sequence>
2525
+ <xs:element ref="xs:annotation" minOccurs="0"/>
2526
+ </xs:sequence>
2527
+ <xs:attribute name="value" type="xs:string" use="required"/>
2528
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
2529
+ </xs:restriction>
2530
+ </xs:complexContent>
2531
+ </xs:complexType>
2532
+ </xs:element>
2533
+
2534
+ </xs:schema>