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" [
9
<!-- provide ID type information even for parsers which only read the
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>
35
keep this schema XML1.0 DTD valid
37
<!ENTITY % schemaAttrs 'xmlns:hfp CDATA #IMPLIED'>
39
<!ELEMENT hfp:hasFacet EMPTY>
40
<!ATTLIST hfp:hasFacet
41
name NMTOKEN #REQUIRED>
43
<!ELEMENT hfp:hasProperty EMPTY>
44
<!ATTLIST hfp:hasProperty
45
name NMTOKEN #REQUIRED
46
value CDATA #REQUIRED>
48
Make sure that processors that do not read the external
49
subset will know about the various IDs we declare
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>
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">
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
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 <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>
87
The simpleType element and all of its members are defined
88
towards the end of this schema document</xs:documentation>
91
<xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd">
94
Get access to the xml: attribute groups for xml:lang
95
as declared on 'schema' and 'documentation' below
100
<xs:complexType name="openAttrs">
103
This type is extended by almost all schema types
104
to allow attributes from other namespaces to be
105
added to user schemas.
109
<xs:restriction base="xs:anyType">
110
<xs:anyAttribute namespace="##other" processContents="lax"/>
115
<xs:complexType name="annotated">
118
This type is extended by all types which allow annotation
119
other than <schema> itself
123
<xs:extension base="xs:openAttrs">
125
<xs:element ref="xs:annotation" minOccurs="0"/>
127
<xs:attribute name="id" type="xs:ID"/>
132
<xs:group name="schemaTop">
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>
140
<xs:group ref="xs:redefinable"/>
141
<xs:element ref="xs:element"/>
142
<xs:element ref="xs:attribute"/>
143
<xs:element ref="xs:notation"/>
147
<xs:group name="redefinable">
150
This group is for the
151
elements which can self-redefine (see <redefine> below).</xs:documentation>
154
<xs:element ref="xs:simpleType"/>
155
<xs:element ref="xs:complexType"/>
156
<xs:element ref="xs:group"/>
157
<xs:element ref="xs:attributeGroup"/>
161
<xs:simpleType name="formChoice">
164
A utility type, not for public use</xs:documentation>
166
<xs:restriction base="xs:NMTOKEN">
167
<xs:enumeration value="qualified"/>
168
<xs:enumeration value="unqualified"/>
172
<xs:simpleType name="reducedDerivationControl">
175
A utility type, not for public use</xs:documentation>
177
<xs:restriction base="xs:derivationControl">
178
<xs:enumeration value="extension"/>
179
<xs:enumeration value="restriction"/>
183
<xs:simpleType name="derivationSet">
186
A utility type, not for public use</xs:documentation>
188
#all or (possibly empty) subset of {extension, restriction}</xs:documentation>
192
<xs:restriction base="xs:token">
193
<xs:enumeration value="#all"/>
197
<xs:list itemType="xs:reducedDerivationControl"/>
202
<xs:simpleType name="typeDerivationControl">
205
A utility type, not for public use</xs:documentation>
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"/>
215
<xs:simpleType name="fullDerivationSet">
218
A utility type, not for public use</xs:documentation>
220
#all or (possibly empty) subset of {extension, restriction, list, union}</xs:documentation>
224
<xs:restriction base="xs:token">
225
<xs:enumeration value="#all"/>
229
<xs:list itemType="xs:typeDerivationControl"/>
234
<xs:element name="schema" id="schema">
236
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-schema"/>
240
<xs:extension base="xs:openAttrs">
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"/>
248
<xs:sequence minOccurs="0" maxOccurs="unbounded">
249
<xs:group ref="xs:schemaTop"/>
250
<xs:element ref="xs:annotation" minOccurs="0" maxOccurs="unbounded"/>
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"/>
265
<xs:key name="element">
266
<xs:selector xpath="xs:element"/>
267
<xs:field xpath="@name"/>
270
<xs:key name="attribute">
271
<xs:selector xpath="xs:attribute"/>
272
<xs:field xpath="@name"/>
276
<xs:selector xpath="xs:complexType|xs:simpleType"/>
277
<xs:field xpath="@name"/>
280
<xs:key name="group">
281
<xs:selector xpath="xs:group"/>
282
<xs:field xpath="@name"/>
285
<xs:key name="attributeGroup">
286
<xs:selector xpath="xs:attributeGroup"/>
287
<xs:field xpath="@name"/>
290
<xs:key name="notation">
291
<xs:selector xpath="xs:notation"/>
292
<xs:field xpath="@name"/>
295
<xs:key name="identityConstraint">
296
<xs:selector xpath=".//xs:key|.//xs:unique|.//xs:keyref"/>
297
<xs:field xpath="@name"/>
302
<xs:simpleType name="allNNI">
303
<xs:annotation><xs:documentation>
304
for maxOccurs</xs:documentation></xs:annotation>
305
<xs:union memberTypes="xs:nonNegativeInteger">
307
<xs:restriction base="xs:NMTOKEN">
308
<xs:enumeration value="unbounded"/>
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"/>
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"/>
329
<xs:group name="typeDefParticle">
332
'complexType' uses this</xs:documentation></xs:annotation>
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"/>
343
<xs:group name="nestedParticle">
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"/>
353
<xs:group name="particle">
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"/>
364
<xs:complexType name="attribute">
366
<xs:extension base="xs:annotated">
368
<xs:element name="simpleType" minOccurs="0" type="xs:localSimpleType"/>
370
<xs:attributeGroup ref="xs:defRef"/>
371
<xs:attribute name="type" type="xs:QName"/>
372
<xs:attribute name="use" use="optional" default="optional">
374
<xs:restriction base="xs:NMTOKEN">
375
<xs:enumeration value="prohibited"/>
376
<xs:enumeration value="optional"/>
377
<xs:enumeration value="required"/>
381
<xs:attribute name="default" type="xs:string"/>
382
<xs:attribute name="fixed" type="xs:string"/>
383
<xs:attribute name="form" type="xs:formChoice"/>
388
<xs:complexType name="topLevelAttribute">
390
<xs:restriction base="xs:attribute">
392
<xs:element ref="xs:annotation" minOccurs="0"/>
393
<xs:element name="simpleType" minOccurs="0" type="xs:localSimpleType"/>
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"/>
404
<xs:group name="attrDecls">
406
<xs:choice minOccurs="0" maxOccurs="unbounded">
407
<xs:element name="attribute" type="xs:attribute"/>
408
<xs:element name="attributeGroup" type="xs:attributeGroupRef"/>
410
<xs:element ref="xs:anyAttribute" minOccurs="0"/>
414
<xs:element name="anyAttribute" type="xs:wildcard" id="anyAttribute">
416
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-anyAttribute"/>
420
<xs:group name="complexTypeModel">
422
<xs:element ref="xs:simpleContent"/>
423
<xs:element ref="xs:complexContent"/>
427
This branch is short for
429
<restriction base="xs:anyType">
432
</complexContent></xs:documentation>
434
<xs:group ref="xs:typeDefParticle" minOccurs="0"/>
435
<xs:group ref="xs:attrDecls"/>
440
<xs:complexType name="complexType" abstract="true">
442
<xs:extension base="xs:annotated">
443
<xs:group ref="xs:complexTypeModel"/>
444
<xs:attribute name="name" type="xs:NCName">
447
Will be restricted to required or forbidden</xs:documentation>
450
<xs:attribute name="mixed" type="xs:boolean" use="optional" default="false">
453
Not allowed if simpleContent child is chosen.
454
May be overriden by setting on complexContent child.</xs:documentation>
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"/>
464
<xs:complexType name="topLevelComplexType">
466
<xs:restriction base="xs:complexType">
468
<xs:element ref="xs:annotation" minOccurs="0"/>
469
<xs:group ref="xs:complexTypeModel"/>
471
<xs:attribute name="name" type="xs:NCName" use="required"/>
472
<xs:anyAttribute namespace="##other" processContents="lax"/>
477
<xs:complexType name="localComplexType">
479
<xs:restriction base="xs:complexType">
481
<xs:element ref="xs:annotation" minOccurs="0"/>
482
<xs:group ref="xs:complexTypeModel"/>
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"/>
493
<xs:complexType name="restrictionType">
495
<xs:extension base="xs:annotated">
497
<xs:choice minOccurs="0">
498
<xs:group ref="xs:typeDefParticle"/>
499
<xs:group ref="xs:simpleRestrictionModel"/>
501
<xs:group ref="xs:attrDecls"/>
503
<xs:attribute name="base" type="xs:QName" use="required"/>
508
<xs:complexType name="complexRestrictionType">
510
<xs:restriction base="xs:restrictionType">
512
<xs:element ref="xs:annotation" minOccurs="0"/>
513
<xs:choice minOccurs="0">
515
<xs:documentation>This choice is added simply to
516
make this a valid restriction per the REC</xs:documentation>
518
<xs:group ref="xs:typeDefParticle"/>
520
<xs:group ref="xs:attrDecls"/>
522
<xs:anyAttribute namespace="##other" processContents="lax"/>
527
<xs:complexType name="extensionType">
529
<xs:extension base="xs:annotated">
531
<xs:group ref="xs:typeDefParticle" minOccurs="0"/>
532
<xs:group ref="xs:attrDecls"/>
534
<xs:attribute name="base" type="xs:QName" use="required"/>
539
<xs:element name="complexContent" id="complexContent">
541
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-complexContent"/>
545
<xs:extension base="xs:annotated">
547
<xs:element name="restriction" type="xs:complexRestrictionType"/>
548
<xs:element name="extension" type="xs:extensionType"/>
550
<xs:attribute name="mixed" type="xs:boolean">
553
Overrides any setting on complexType parent.</xs:documentation>
561
<xs:complexType name="simpleRestrictionType">
563
<xs:restriction base="xs:restrictionType">
565
<xs:element ref="xs:annotation" minOccurs="0"/>
566
<xs:choice minOccurs="0">
568
<xs:documentation>This choice is added simply to
569
make this a valid restriction per the REC</xs:documentation>
571
<xs:group ref="xs:simpleRestrictionModel"/>
573
<xs:group ref="xs:attrDecls"/>
575
<xs:anyAttribute namespace="##other" processContents="lax"/>
580
<xs:complexType name="simpleExtensionType">
582
<xs:restriction base="xs:extensionType">
586
No typeDefParticle group reference</xs:documentation>
588
<xs:element ref="xs:annotation" minOccurs="0"/>
589
<xs:group ref="xs:attrDecls"/>
591
<xs:anyAttribute namespace="##other" processContents="lax"/>
596
<xs:element name="simpleContent" id="simpleContent">
598
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-simpleContent"/>
602
<xs:extension base="xs:annotated">
604
<xs:element name="restriction" type="xs:simpleRestrictionType"/>
605
<xs:element name="extension" type="xs:simpleExtensionType"/>
612
<xs:element name="complexType" type="xs:topLevelComplexType" id="complexType">
614
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-complexType"/>
619
<xs:simpleType name="blockSet">
622
A utility type, not for public use</xs:documentation>
624
#all or (possibly empty) subset of {substitution, extension,
625
restriction}</xs:documentation>
629
<xs:restriction base="xs:token">
630
<xs:enumeration value="#all"/>
636
<xs:restriction base="xs:derivationControl">
637
<xs:enumeration value="extension"/>
638
<xs:enumeration value="restriction"/>
639
<xs:enumeration value="substitution"/>
647
<xs:complexType name="element" abstract="true">
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>
658
<xs:extension base="xs:annotated">
660
<xs:choice minOccurs="0">
661
<xs:element name="simpleType" type="xs:localSimpleType"/>
662
<xs:element name="complexType" type="xs:localComplexType"/>
664
<xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
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"/>
681
<xs:complexType name="topLevelElement">
683
<xs:restriction base="xs:element">
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"/>
690
<xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
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"/>
702
<xs:complexType name="localElement">
704
<xs:restriction base="xs:element">
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"/>
711
<xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
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"/>
721
<xs:element name="element" type="xs:topLevelElement" id="element">
723
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-element"/>
727
<xs:complexType name="group" abstract="true">
730
group type for explicit groups, named top-level groups and
731
group references</xs:documentation>
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"/>
742
<xs:complexType name="realGroup">
744
<xs:restriction base="xs:group">
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"/>
753
<xs:anyAttribute namespace="##other" processContents="lax"/>
758
<xs:complexType name="namedGroup">
760
<xs:restriction base="xs:realGroup">
762
<xs:element ref="xs:annotation" minOccurs="0"/>
763
<xs:choice minOccurs="1" maxOccurs="1">
764
<xs:element name="all">
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"/>
776
<xs:element name="choice" type="xs:simpleExplicitGroup"/>
777
<xs:element name="sequence" type="xs:simpleExplicitGroup"/>
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"/>
789
<xs:complexType name="groupRef">
791
<xs:restriction base="xs:realGroup">
793
<xs:element ref="xs:annotation" minOccurs="0"/>
795
<xs:attribute name="ref" use="required" type="xs:QName"/>
796
<xs:attribute name="name" use="prohibited"/>
797
<xs:anyAttribute namespace="##other" processContents="lax"/>
802
<xs:complexType name="explicitGroup">
805
group type for the three kinds of group</xs:documentation>
808
<xs:restriction base="xs:group">
810
<xs:element ref="xs:annotation" minOccurs="0"/>
811
<xs:group ref="xs:nestedParticle" minOccurs="0" maxOccurs="unbounded"/>
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"/>
820
<xs:complexType name="simpleExplicitGroup">
822
<xs:restriction base="xs:explicitGroup">
824
<xs:element ref="xs:annotation" minOccurs="0"/>
825
<xs:group ref="xs:nestedParticle" minOccurs="0" maxOccurs="unbounded"/>
827
<xs:attribute name="minOccurs" use="prohibited"/>
828
<xs:attribute name="maxOccurs" use="prohibited"/>
829
<xs:anyAttribute namespace="##other" processContents="lax"/>
834
<xs:group name="allModel">
836
<xs:element ref="xs:annotation" minOccurs="0"/>
837
<xs:choice minOccurs="0" maxOccurs="unbounded">
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>
843
<xs:element name="element" type="xs:narrowMaxMin"/>
849
<xs:complexType name="narrowMaxMin">
851
<xs:documentation>restricted max/min</xs:documentation>
854
<xs:restriction base="xs:localElement">
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"/>
861
<xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
863
<xs:attribute name="minOccurs" use="optional" default="1">
865
<xs:restriction base="xs:nonNegativeInteger">
866
<xs:enumeration value="0"/>
867
<xs:enumeration value="1"/>
871
<xs:attribute name="maxOccurs" use="optional" default="1">
873
<xs:restriction base="xs:allNNI">
874
<xs:enumeration value="0"/>
875
<xs:enumeration value="1"/>
879
<xs:anyAttribute namespace="##other" processContents="lax"/>
884
<xs:complexType name="all">
887
Only elements allowed inside</xs:documentation>
890
<xs:restriction base="xs:explicitGroup">
891
<xs:group ref="xs:allModel"/>
892
<xs:attribute name="minOccurs" use="optional" default="1">
894
<xs:restriction base="xs:nonNegativeInteger">
895
<xs:enumeration value="0"/>
896
<xs:enumeration value="1"/>
900
<xs:attribute name="maxOccurs" use="optional" default="1">
902
<xs:restriction base="xs:allNNI">
903
<xs:enumeration value="1"/>
907
<xs:anyAttribute namespace="##other" processContents="lax"/>
912
<xs:element name="all" id="all" type="xs:all">
914
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-all"/>
918
<xs:element name="choice" type="xs:explicitGroup" id="choice">
920
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-choice"/>
924
<xs:element name="sequence" type="xs:explicitGroup" id="sequence">
926
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-sequence"/>
930
<xs:element name="group" type="xs:namedGroup" id="group">
932
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-group"/>
936
<xs:complexType name="wildcard">
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">
942
<xs:restriction base="xs:NMTOKEN">
943
<xs:enumeration value="skip"/>
944
<xs:enumeration value="lax"/>
945
<xs:enumeration value="strict"/>
953
<xs:element name="any" id="any">
955
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-any"/>
959
<xs:extension base="xs:wildcard">
960
<xs:attributeGroup ref="xs:occurs"/>
968
simple type for the value of the 'namespace' attr of
969
'any' and 'anyAttribute'</xs:documentation>
974
##any - - any non-conflicting WFXML/attribute at all
976
##other - - any non-conflicting WFXML/attribute from
977
namespace other than targetNS
979
##local - - any unqualified non-conflicting WFXML/attribute
981
one or - - any non-conflicting WFXML/attribute from
982
more URI the listed namespaces
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>
991
<xs:simpleType name="namespaceList">
994
A utility type, not for public use</xs:documentation>
998
<xs:restriction base="xs:token">
999
<xs:enumeration value="##any"/>
1000
<xs:enumeration value="##other"/>
1006
<xs:union memberTypes="xs:anyURI">
1008
<xs:restriction base="xs:token">
1009
<xs:enumeration value="##targetNamespace"/>
1010
<xs:enumeration value="##local"/>
1020
<xs:element name="attribute" type="xs:topLevelAttribute" id="attribute">
1022
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-attribute"/>
1026
<xs:complexType name="attributeGroup" abstract="true">
1028
<xs:extension base="xs:annotated">
1029
<xs:group ref="xs:attrDecls"/>
1030
<xs:attributeGroup ref="xs:defRef"/>
1032
</xs:complexContent>
1035
<xs:complexType name="namedAttributeGroup">
1037
<xs:restriction base="xs:attributeGroup">
1039
<xs:element ref="xs:annotation" minOccurs="0"/>
1040
<xs:group ref="xs:attrDecls"/>
1042
<xs:attribute name="name" use="required" type="xs:NCName"/>
1043
<xs:attribute name="ref" use="prohibited"/>
1044
<xs:anyAttribute namespace="##other" processContents="lax"/>
1046
</xs:complexContent>
1049
<xs:complexType name="attributeGroupRef">
1051
<xs:restriction base="xs:attributeGroup">
1053
<xs:element ref="xs:annotation" minOccurs="0"/>
1055
<xs:attribute name="ref" use="required" type="xs:QName"/>
1056
<xs:attribute name="name" use="prohibited"/>
1057
<xs:anyAttribute namespace="##other" processContents="lax"/>
1059
</xs:complexContent>
1062
<xs:element name="attributeGroup" type="xs:namedAttributeGroup" id="attributeGroup">
1064
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-attributeGroup"/>
1068
<xs:element name="include" id="include">
1070
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-include"/>
1074
<xs:extension base="xs:annotated">
1075
<xs:attribute name="schemaLocation" type="xs:anyURI" use="required"/>
1077
</xs:complexContent>
1081
<xs:element name="redefine" id="redefine">
1083
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-redefine"/>
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"/>
1092
<xs:attribute name="schemaLocation" type="xs:anyURI" use="required"/>
1093
<xs:attribute name="id" type="xs:ID"/>
1095
</xs:complexContent>
1099
<xs:element name="import" id="import">
1101
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-import"/>
1105
<xs:extension base="xs:annotated">
1106
<xs:attribute name="namespace" type="xs:anyURI"/>
1107
<xs:attribute name="schemaLocation" type="xs:anyURI"/>
1109
</xs:complexContent>
1113
<xs:element name="selector" id="selector">
1115
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-selector"/>
1119
<xs:extension base="xs:annotated">
1120
<xs:attribute name="xpath" use="required">
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>
1128
<xs:restriction base="xs:token">
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
1139
<xs:pattern value="(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*(\|(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*)*">
1145
</xs:complexContent>
1149
<xs:element name="field" id="field">
1151
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-field"/>
1155
<xs:extension base="xs:annotated">
1156
<xs:attribute name="xpath" use="required">
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>
1164
<xs:restriction base="xs:token">
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 )
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*|\*)))))*">
1178
</xs:complexContent>
1182
<xs:complexType name="keybase">
1184
<xs:extension base="xs:annotated">
1186
<xs:element ref="xs:selector"/>
1187
<xs:element ref="xs:field" minOccurs="1" maxOccurs="unbounded"/>
1189
<xs:attribute name="name" type="xs:NCName" use="required"/>
1191
</xs:complexContent>
1194
<xs:group name="identityConstraint">
1196
<xs:documentation>The three kinds of identity constraints, all with
1197
type of or derived from 'keybase'.
1201
<xs:element ref="xs:unique"/>
1202
<xs:element ref="xs:key"/>
1203
<xs:element ref="xs:keyref"/>
1207
<xs:element name="unique" type="xs:keybase" id="unique">
1209
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-unique"/>
1212
<xs:element name="key" type="xs:keybase" id="key">
1214
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-key"/>
1217
<xs:element name="keyref" id="keyref">
1219
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-keyref"/>
1223
<xs:extension base="xs:keybase">
1224
<xs:attribute name="refer" type="xs:QName" use="required"/>
1226
</xs:complexContent>
1230
<xs:element name="notation" id="notation">
1232
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-notation"/>
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"/>
1241
</xs:complexContent>
1245
<xs:simpleType name="public">
1248
A utility type, not for public use</xs:documentation>
1250
A public identifier, per ISO 8879</xs:documentation>
1252
<xs:restriction base="xs:token"/>
1255
<xs:element name="appinfo" id="appinfo">
1257
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-appinfo"/>
1259
<xs:complexType mixed="true">
1260
<xs:sequence minOccurs="0" maxOccurs="unbounded">
1261
<xs:any processContents="lax"/>
1263
<xs:attribute name="source" type="xs:anyURI"/>
1264
<xs:anyAttribute namespace="##other" processContents="lax"/>
1268
<xs:element name="documentation" id="documentation">
1270
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-documentation"/>
1272
<xs:complexType mixed="true">
1273
<xs:sequence minOccurs="0" maxOccurs="unbounded">
1274
<xs:any processContents="lax"/>
1276
<xs:attribute name="source" type="xs:anyURI"/>
1277
<xs:attribute ref="xml:lang"/>
1278
<xs:anyAttribute namespace="##other" processContents="lax"/>
1282
<xs:element name="annotation" id="annotation">
1284
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-annotation"/>
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"/>
1293
<xs:attribute name="id" type="xs:ID"/>
1295
</xs:complexContent>
1301
notations for use within XML Schema schemas</xs:documentation>
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"/>
1307
<xs:complexType name="anyType" mixed="true">
1310
Not the real urType, but as close an approximation as we can
1311
get in the XML representation</xs:documentation>
1314
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
1316
<xs:anyAttribute processContents="lax"/>
1321
First the built-in primitive datatypes. These definitions are for
1322
information only, the real built-in definitions are magic.
1326
For each built-in datatype in this schema (both primitive and
1327
derived) can be uniquely addressed via a URI constructed
1329
1) the base URI is the URI of the XML Schema namespace
1330
2) the fragment identifier is the name of the datatype
1332
For example, to address the int datatype, the URI is:
1334
http://www.w3.org/2001/XMLSchema#int
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
1341
For example, to address the maxInclusive facet, the URI is:
1343
http://www.w3.org/2001/XMLSchema#maxInclusive
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
1351
For example, to address the usage of the maxInclusive facet in
1352
the definition of int, the URI is:
1354
http://www.w3.org/2001/XMLSchema#int.maxInclusive
1359
<xs:simpleType name="string" id="string">
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"/>
1374
source="http://www.w3.org/TR/xmlschema-2/#string"/>
1376
<xs:restriction base="xs:anySimpleType">
1377
<xs:whiteSpace value="preserve" id="string.preserve"/>
1381
<xs:simpleType name="boolean" id="boolean">
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"/>
1392
source="http://www.w3.org/TR/xmlschema-2/#boolean"/>
1394
<xs:restriction base="xs:anySimpleType">
1395
<xs:whiteSpace value="collapse" fixed="true"
1396
id="boolean.whiteSpace"/>
1400
<xs:simpleType name="float" id="float">
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"/>
1416
source="http://www.w3.org/TR/xmlschema-2/#float"/>
1418
<xs:restriction base="xs:anySimpleType">
1419
<xs:whiteSpace value="collapse" fixed="true"
1420
id="float.whiteSpace"/>
1424
<xs:simpleType name="double" id="double">
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"/>
1440
source="http://www.w3.org/TR/xmlschema-2/#double"/>
1442
<xs:restriction base="xs:anySimpleType">
1443
<xs:whiteSpace value="collapse" fixed="true"
1444
id="double.whiteSpace"/>
1448
<xs:simpleType name="decimal" id="decimal">
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"/>
1467
source="http://www.w3.org/TR/xmlschema-2/#decimal"/>
1469
<xs:restriction base="xs:anySimpleType">
1470
<xs:whiteSpace value="collapse" fixed="true"
1471
id="decimal.whiteSpace"/>
1475
<xs:simpleType name="duration" id="duration">
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"/>
1492
source="http://www.w3.org/TR/xmlschema-2/#duration"/>
1494
<xs:restriction base="xs:anySimpleType">
1495
<xs:whiteSpace value="collapse" fixed="true"
1496
id="duration.whiteSpace"/>
1500
<xs:simpleType name="dateTime" id="dateTime">
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"/>
1517
source="http://www.w3.org/TR/xmlschema-2/#dateTime"/>
1519
<xs:restriction base="xs:anySimpleType">
1520
<xs:whiteSpace value="collapse" fixed="true"
1521
id="dateTime.whiteSpace"/>
1525
<xs:simpleType name="time" id="time">
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"/>
1542
source="http://www.w3.org/TR/xmlschema-2/#time"/>
1544
<xs:restriction base="xs:anySimpleType">
1545
<xs:whiteSpace value="collapse" fixed="true"
1546
id="time.whiteSpace"/>
1550
<xs:simpleType name="date" id="date">
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"/>
1567
source="http://www.w3.org/TR/xmlschema-2/#date"/>
1569
<xs:restriction base="xs:anySimpleType">
1570
<xs:whiteSpace value="collapse" fixed="true"
1571
id="date.whiteSpace"/>
1575
<xs:simpleType name="gYearMonth" id="gYearMonth">
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"/>
1592
source="http://www.w3.org/TR/xmlschema-2/#gYearMonth"/>
1594
<xs:restriction base="xs:anySimpleType">
1595
<xs:whiteSpace value="collapse" fixed="true"
1596
id="gYearMonth.whiteSpace"/>
1600
<xs:simpleType name="gYear" id="gYear">
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"/>
1617
source="http://www.w3.org/TR/xmlschema-2/#gYear"/>
1619
<xs:restriction base="xs:anySimpleType">
1620
<xs:whiteSpace value="collapse" fixed="true"
1621
id="gYear.whiteSpace"/>
1625
<xs:simpleType name="gMonthDay" id="gMonthDay">
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"/>
1642
source="http://www.w3.org/TR/xmlschema-2/#gMonthDay"/>
1644
<xs:restriction base="xs:anySimpleType">
1645
<xs:whiteSpace value="collapse" fixed="true"
1646
id="gMonthDay.whiteSpace"/>
1650
<xs:simpleType name="gDay" id="gDay">
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"/>
1667
source="http://www.w3.org/TR/xmlschema-2/#gDay"/>
1669
<xs:restriction base="xs:anySimpleType">
1670
<xs:whiteSpace value="collapse" fixed="true"
1671
id="gDay.whiteSpace"/>
1675
<xs:simpleType name="gMonth" id="gMonth">
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"/>
1692
source="http://www.w3.org/TR/xmlschema-2/#gMonth"/>
1694
<xs:restriction base="xs:anySimpleType">
1695
<xs:whiteSpace value="collapse" fixed="true"
1696
id="gMonth.whiteSpace"/>
1700
<xs:simpleType name="hexBinary" id="hexBinary">
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"/>
1716
source="http://www.w3.org/TR/xmlschema-2/#binary"/>
1718
<xs:restriction base="xs:anySimpleType">
1719
<xs:whiteSpace value="collapse" fixed="true"
1720
id="hexBinary.whiteSpace"/>
1724
<xs:simpleType name="base64Binary" id="base64Binary">
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"/>
1740
source="http://www.w3.org/TR/xmlschema-2/#base64Binary"/>
1742
<xs:restriction base="xs:anySimpleType">
1743
<xs:whiteSpace value="collapse" fixed="true"
1744
id="base64Binary.whiteSpace"/>
1748
<xs:simpleType name="anyURI" id="anyURI">
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"/>
1764
source="http://www.w3.org/TR/xmlschema-2/#anyURI"/>
1766
<xs:restriction base="xs:anySimpleType">
1767
<xs:whiteSpace value="collapse" fixed="true"
1768
id="anyURI.whiteSpace"/>
1772
<xs:simpleType name="QName" id="QName">
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"/>
1788
source="http://www.w3.org/TR/xmlschema-2/#QName"/>
1790
<xs:restriction base="xs:anySimpleType">
1791
<xs:whiteSpace value="collapse" fixed="true"
1792
id="QName.whiteSpace"/>
1796
<xs:simpleType name="NOTATION" id="NOTATION">
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"/>
1812
source="http://www.w3.org/TR/xmlschema-2/#NOTATION"/>
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
1820
<xs:restriction base="xs:anySimpleType">
1821
<xs:whiteSpace value="collapse" fixed="true"
1822
id="NOTATION.whiteSpace"/>
1828
Now the derived primitive types
1832
<xs:simpleType name="normalizedString" id="normalizedString">
1835
source="http://www.w3.org/TR/xmlschema-2/#normalizedString"/>
1837
<xs:restriction base="xs:string">
1838
<xs:whiteSpace value="replace"
1839
id="normalizedString.whiteSpace"/>
1843
<xs:simpleType name="token" id="token">
1846
source="http://www.w3.org/TR/xmlschema-2/#token"/>
1848
<xs:restriction base="xs:normalizedString">
1849
<xs:whiteSpace value="collapse" id="token.whiteSpace"/>
1853
<xs:simpleType name="language" id="language">
1856
source="http://www.w3.org/TR/xmlschema-2/#language"/>
1858
<xs:restriction base="xs:token">
1860
value="[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*"
1861
id="language.pattern">
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).
1873
<xs:simpleType name="IDREFS" id="IDREFS">
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"/>
1889
source="http://www.w3.org/TR/xmlschema-2/#IDREFS"/>
1893
<xs:list itemType="xs:IDREF"/>
1895
<xs:minLength value="1" id="IDREFS.minLength"/>
1899
<xs:simpleType name="ENTITIES" id="ENTITIES">
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"/>
1915
source="http://www.w3.org/TR/xmlschema-2/#ENTITIES"/>
1919
<xs:list itemType="xs:ENTITY"/>
1921
<xs:minLength value="1" id="ENTITIES.minLength"/>
1925
<xs:simpleType name="NMTOKEN" id="NMTOKEN">
1928
source="http://www.w3.org/TR/xmlschema-2/#NMTOKEN"/>
1930
<xs:restriction base="xs:token">
1931
<xs:pattern value="\c+" id="NMTOKEN.pattern">
1934
source="http://www.w3.org/TR/REC-xml#NT-Nmtoken">
1935
pattern matches production 7 from the XML spec
1942
<xs:simpleType name="NMTOKENS" id="NMTOKENS">
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"/>
1958
source="http://www.w3.org/TR/xmlschema-2/#NMTOKENS"/>
1962
<xs:list itemType="xs:NMTOKEN"/>
1964
<xs:minLength value="1" id="NMTOKENS.minLength"/>
1968
<xs:simpleType name="Name" id="Name">
1971
source="http://www.w3.org/TR/xmlschema-2/#Name"/>
1973
<xs:restriction base="xs:token">
1974
<xs:pattern value="\i\c*" id="Name.pattern">
1977
source="http://www.w3.org/TR/REC-xml#NT-Name">
1978
pattern matches production 5 from the XML spec
1985
<xs:simpleType name="NCName" id="NCName">
1988
source="http://www.w3.org/TR/xmlschema-2/#NCName"/>
1990
<xs:restriction base="xs:Name">
1991
<xs:pattern value="[\i-[:]][\c-[:]]*" id="NCName.pattern">
1994
source="http://www.w3.org/TR/REC-xml-names/#NT-NCName">
1995
pattern matches production 4 from the Namespaces in XML spec
2002
<xs:simpleType name="ID" id="ID">
2005
source="http://www.w3.org/TR/xmlschema-2/#ID"/>
2007
<xs:restriction base="xs:NCName"/>
2010
<xs:simpleType name="IDREF" id="IDREF">
2013
source="http://www.w3.org/TR/xmlschema-2/#IDREF"/>
2015
<xs:restriction base="xs:NCName"/>
2018
<xs:simpleType name="ENTITY" id="ENTITY">
2021
source="http://www.w3.org/TR/xmlschema-2/#ENTITY"/>
2023
<xs:restriction base="xs:NCName"/>
2026
<xs:simpleType name="integer" id="integer">
2029
source="http://www.w3.org/TR/xmlschema-2/#integer"/>
2031
<xs:restriction base="xs:decimal">
2032
<xs:fractionDigits value="0" fixed="true" id="integer.fractionDigits"/>
2033
<xs:pattern value="[\-+]?[0-9]+"/>
2037
<xs:simpleType name="nonPositiveInteger" id="nonPositiveInteger">
2040
source="http://www.w3.org/TR/xmlschema-2/#nonPositiveInteger"/>
2042
<xs:restriction base="xs:integer">
2043
<xs:maxInclusive value="0" id="nonPositiveInteger.maxInclusive"/>
2047
<xs:simpleType name="negativeInteger" id="negativeInteger">
2050
source="http://www.w3.org/TR/xmlschema-2/#negativeInteger"/>
2052
<xs:restriction base="xs:nonPositiveInteger">
2053
<xs:maxInclusive value="-1" id="negativeInteger.maxInclusive"/>
2057
<xs:simpleType name="long" id="long">
2060
<hfp:hasProperty name="bounded" value="true"/>
2061
<hfp:hasProperty name="cardinality" value="finite"/>
2064
source="http://www.w3.org/TR/xmlschema-2/#long"/>
2066
<xs:restriction base="xs:integer">
2067
<xs:minInclusive value="-9223372036854775808" id="long.minInclusive"/>
2068
<xs:maxInclusive value="9223372036854775807" id="long.maxInclusive"/>
2072
<xs:simpleType name="int" id="int">
2075
source="http://www.w3.org/TR/xmlschema-2/#int"/>
2077
<xs:restriction base="xs:long">
2078
<xs:minInclusive value="-2147483648" id="int.minInclusive"/>
2079
<xs:maxInclusive value="2147483647" id="int.maxInclusive"/>
2083
<xs:simpleType name="short" id="short">
2086
source="http://www.w3.org/TR/xmlschema-2/#short"/>
2088
<xs:restriction base="xs:int">
2089
<xs:minInclusive value="-32768" id="short.minInclusive"/>
2090
<xs:maxInclusive value="32767" id="short.maxInclusive"/>
2094
<xs:simpleType name="byte" id="byte">
2097
source="http://www.w3.org/TR/xmlschema-2/#byte"/>
2099
<xs:restriction base="xs:short">
2100
<xs:minInclusive value="-128" id="byte.minInclusive"/>
2101
<xs:maxInclusive value="127" id="byte.maxInclusive"/>
2105
<xs:simpleType name="nonNegativeInteger" id="nonNegativeInteger">
2108
source="http://www.w3.org/TR/xmlschema-2/#nonNegativeInteger"/>
2110
<xs:restriction base="xs:integer">
2111
<xs:minInclusive value="0" id="nonNegativeInteger.minInclusive"/>
2115
<xs:simpleType name="unsignedLong" id="unsignedLong">
2118
<hfp:hasProperty name="bounded" value="true"/>
2119
<hfp:hasProperty name="cardinality" value="finite"/>
2122
source="http://www.w3.org/TR/xmlschema-2/#unsignedLong"/>
2124
<xs:restriction base="xs:nonNegativeInteger">
2125
<xs:maxInclusive value="18446744073709551615"
2126
id="unsignedLong.maxInclusive"/>
2130
<xs:simpleType name="unsignedInt" id="unsignedInt">
2133
source="http://www.w3.org/TR/xmlschema-2/#unsignedInt"/>
2135
<xs:restriction base="xs:unsignedLong">
2136
<xs:maxInclusive value="4294967295"
2137
id="unsignedInt.maxInclusive"/>
2141
<xs:simpleType name="unsignedShort" id="unsignedShort">
2144
source="http://www.w3.org/TR/xmlschema-2/#unsignedShort"/>
2146
<xs:restriction base="xs:unsignedInt">
2147
<xs:maxInclusive value="65535"
2148
id="unsignedShort.maxInclusive"/>
2152
<xs:simpleType name="unsignedByte" id="unsignedByte">
2155
source="http://www.w3.org/TR/xmlschema-2/#unsignedByte"/>
2157
<xs:restriction base="xs:unsignedShort">
2158
<xs:maxInclusive value="255" id="unsignedByte.maxInclusive"/>
2162
<xs:simpleType name="positiveInteger" id="positiveInteger">
2165
source="http://www.w3.org/TR/xmlschema-2/#positiveInteger"/>
2167
<xs:restriction base="xs:nonNegativeInteger">
2168
<xs:minInclusive value="1" id="positiveInteger.minInclusive"/>
2172
<xs:simpleType name="derivationControl">
2175
A utility type, not for public use</xs:documentation>
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"/>
2186
<xs:group name="simpleDerivation">
2188
<xs:element ref="xs:restriction"/>
2189
<xs:element ref="xs:list"/>
2190
<xs:element ref="xs:union"/>
2194
<xs:simpleType name="simpleDerivationSet">
2197
#all or (possibly empty) subset of {restriction, union, list}
2200
A utility type, not for public use</xs:documentation>
2204
<xs:restriction base="xs:token">
2205
<xs:enumeration value="#all"/>
2211
<xs:restriction base="xs:derivationControl">
2212
<xs:enumeration value="list"/>
2213
<xs:enumeration value="union"/>
2214
<xs:enumeration value="restriction"/>
2222
<xs:complexType name="simpleType" abstract="true">
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">
2230
Can be restricted to required or forbidden
2235
</xs:complexContent>
2238
<xs:complexType name="topLevelSimpleType">
2240
<xs:restriction base="xs:simpleType">
2242
<xs:element ref="xs:annotation" minOccurs="0"/>
2243
<xs:group ref="xs:simpleDerivation"/>
2245
<xs:attribute name="name" use="required"
2249
Required at the top level
2253
<xs:anyAttribute namespace="##other" processContents="lax"/>
2255
</xs:complexContent>
2258
<xs:complexType name="localSimpleType">
2260
<xs:restriction base="xs:simpleType">
2262
<xs:element ref="xs:annotation" minOccurs="0"/>
2263
<xs:group ref="xs:simpleDerivation"/>
2265
<xs:attribute name="name" use="prohibited">
2268
Forbidden when nested
2272
<xs:attribute name="final" use="prohibited"/>
2273
<xs:anyAttribute namespace="##other" processContents="lax"/>
2275
</xs:complexContent>
2278
<xs:element name="simpleType" type="xs:topLevelSimpleType" id="simpleType">
2281
source="http://www.w3.org/TR/xmlschema-2/#element-simpleType"/>
2285
<xs:group name="facets">
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.
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"/>
2309
<xs:group name="simpleRestrictionModel">
2311
<xs:element name="simpleType" type="xs:localSimpleType" minOccurs="0"/>
2312
<xs:group ref="xs:facets" minOccurs="0" maxOccurs="unbounded"/>
2316
<xs:element name="restriction" id="restriction">
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
2326
<xs:extension base="xs:annotated">
2327
<xs:group ref="xs:simpleRestrictionModel"/>
2328
<xs:attribute name="base" type="xs:QName" use="optional"/>
2330
</xs:complexContent>
2334
<xs:element name="list" id="list">
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
2344
<xs:extension base="xs:annotated">
2346
<xs:element name="simpleType" type="xs:localSimpleType"
2349
<xs:attribute name="itemType" type="xs:QName" use="optional"/>
2351
</xs:complexContent>
2355
<xs:element name="union" id="union">
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
2365
<xs:extension base="xs:annotated">
2367
<xs:element name="simpleType" type="xs:localSimpleType"
2368
minOccurs="0" maxOccurs="unbounded"/>
2370
<xs:attribute name="memberTypes" use="optional">
2372
<xs:list itemType="xs:QName"/>
2376
</xs:complexContent>
2380
<xs:complexType name="facet">
2382
<xs:extension base="xs:annotated">
2383
<xs:attribute name="value" use="required"/>
2384
<xs:attribute name="fixed" type="xs:boolean" use="optional"
2387
</xs:complexContent>
2390
<xs:complexType name="noFixedFacet">
2392
<xs:restriction base="xs:facet">
2394
<xs:element ref="xs:annotation" minOccurs="0"/>
2396
<xs:attribute name="fixed" use="prohibited"/>
2397
<xs:anyAttribute namespace="##other" processContents="lax"/>
2399
</xs:complexContent>
2402
<xs:element name="minExclusive" id="minExclusive" type="xs:facet">
2405
source="http://www.w3.org/TR/xmlschema-2/#element-minExclusive"/>
2408
<xs:element name="minInclusive" id="minInclusive" type="xs:facet">
2411
source="http://www.w3.org/TR/xmlschema-2/#element-minInclusive"/>
2415
<xs:element name="maxExclusive" id="maxExclusive" type="xs:facet">
2418
source="http://www.w3.org/TR/xmlschema-2/#element-maxExclusive"/>
2421
<xs:element name="maxInclusive" id="maxInclusive" type="xs:facet">
2424
source="http://www.w3.org/TR/xmlschema-2/#element-maxInclusive"/>
2428
<xs:complexType name="numFacet">
2430
<xs:restriction base="xs:facet">
2432
<xs:element ref="xs:annotation" minOccurs="0"/>
2434
<xs:attribute name="value" type="xs:nonNegativeInteger" use="required"/>
2435
<xs:anyAttribute namespace="##other" processContents="lax"/>
2437
</xs:complexContent>
2440
<xs:element name="totalDigits" id="totalDigits">
2443
source="http://www.w3.org/TR/xmlschema-2/#element-totalDigits"/>
2447
<xs:restriction base="xs:numFacet">
2449
<xs:element ref="xs:annotation" minOccurs="0"/>
2451
<xs:attribute name="value" type="xs:positiveInteger" use="required"/>
2452
<xs:anyAttribute namespace="##other" processContents="lax"/>
2454
</xs:complexContent>
2457
<xs:element name="fractionDigits" id="fractionDigits" type="xs:numFacet">
2460
source="http://www.w3.org/TR/xmlschema-2/#element-fractionDigits"/>
2464
<xs:element name="length" id="length" type="xs:numFacet">
2467
source="http://www.w3.org/TR/xmlschema-2/#element-length"/>
2470
<xs:element name="minLength" id="minLength" type="xs:numFacet">
2473
source="http://www.w3.org/TR/xmlschema-2/#element-minLength"/>
2476
<xs:element name="maxLength" id="maxLength" type="xs:numFacet">
2479
source="http://www.w3.org/TR/xmlschema-2/#element-maxLength"/>
2483
<xs:element name="enumeration" id="enumeration" type="xs:noFixedFacet">
2486
source="http://www.w3.org/TR/xmlschema-2/#element-enumeration"/>
2490
<xs:element name="whiteSpace" id="whiteSpace">
2493
source="http://www.w3.org/TR/xmlschema-2/#element-whiteSpace"/>
2497
<xs:restriction base="xs:facet">
2499
<xs:element ref="xs:annotation" minOccurs="0"/>
2501
<xs:attribute name="value" use="required">
2503
<xs:restriction base="xs:NMTOKEN">
2504
<xs:enumeration value="preserve"/>
2505
<xs:enumeration value="replace"/>
2506
<xs:enumeration value="collapse"/>
2510
<xs:anyAttribute namespace="##other" processContents="lax"/>
2512
</xs:complexContent>
2516
<xs:element name="pattern" id="pattern">
2519
source="http://www.w3.org/TR/xmlschema-2/#element-pattern"/>
2523
<xs:restriction base="xs:noFixedFacet">
2525
<xs:element ref="xs:annotation" minOccurs="0"/>
2527
<xs:attribute name="value" type="xs:string" use="required"/>
2528
<xs:anyAttribute namespace="##other" processContents="lax"/>
2530
</xs:complexContent>