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