~ubuntu-branches/ubuntu/trusty/monodevelop/trusty-proposed

« back to all changes in this revision

Viewing changes to src/addins/MonoDevelop.XmlEditor/Tests/Resources/XMLSchema.xsd

  • Committer: Package Import Robot
  • Author(s): Jo Shields
  • Date: 2013-05-12 09:46:03 UTC
  • mto: This revision was merged to the branch mainline in revision 29.
  • Revision ID: package-import@ubuntu.com-20130512094603-mad323bzcxvmcam0
Tags: upstream-4.0.5+dfsg
ImportĀ upstreamĀ versionĀ 4.0.5+dfsg

Show diffs side-by-side

added added

removed removed

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