proiel 1.0.0 → 1.0.1

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