1 <?xml version="1.0" encoding="UTF-8"?>
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
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" [
20 <!-- provide ID type information even for parsers which only read the
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>
46 keep this schema XML1.0 DTD valid
48 <!ENTITY % schemaAttrs 'xmlns:hfp CDATA #IMPLIED'>
50 <!ELEMENT hfp:hasFacet EMPTY>
51 <!ATTLIST hfp:hasFacet
52 name NMTOKEN #REQUIRED>
54 <!ELEMENT hfp:hasProperty EMPTY>
55 <!ATTLIST hfp:hasProperty
56 name NMTOKEN #REQUIRED
57 value CDATA #REQUIRED>
59 Make sure that processors that do not read the external
60 subset will know about the various IDs we declare
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>
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">
83 <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd">
86 <xs:complexType name="openAttrs">
88 <xs:restriction base="xs:anyType">
89 <xs:anyAttribute namespace="##other" processContents="lax"/>
94 <xs:complexType name="annotated">
96 <xs:extension base="xs:openAttrs">
98 <xs:element ref="xs:annotation" minOccurs="0"/>
100 <xs:attribute name="id" type="xs:ID"/>
105 <xs:group name="schemaTop">
107 <xs:group ref="xs:redefinable"/>
108 <xs:element ref="xs:element"/>
109 <xs:element ref="xs:attribute"/>
110 <xs:element ref="xs:notation"/>
114 <xs:group name="redefinable">
116 <xs:element ref="xs:simpleType"/>
117 <xs:element ref="xs:complexType"/>
118 <xs:element ref="xs:group"/>
119 <xs:element ref="xs:attributeGroup"/>
123 <xs:simpleType name="formChoice">
124 <xs:restriction base="xs:NMTOKEN">
125 <xs:enumeration value="qualified"/>
126 <xs:enumeration value="unqualified"/>
130 <xs:simpleType name="reducedDerivationControl">
131 <xs:restriction base="xs:derivationControl">
132 <xs:enumeration value="extension"/>
133 <xs:enumeration value="restriction"/>
137 <xs:simpleType name="derivationSet">
140 <xs:restriction base="xs:token">
141 <xs:enumeration value="#all"/>
145 <xs:list itemType="xs:reducedDerivationControl"/>
150 <xs:simpleType name="typeDerivationControl">
151 <xs:restriction base="xs:derivationControl">
152 <xs:enumeration value="extension"/>
153 <xs:enumeration value="restriction"/>
154 <xs:enumeration value="list"/>
155 <xs:enumeration value="union"/>
159 <xs:simpleType name="fullDerivationSet">
162 <xs:restriction base="xs:token">
163 <xs:enumeration value="#all"/>
167 <xs:list itemType="xs:typeDerivationControl"/>
172 <xs:element name="schema" id="schema">
175 <xs:extension base="xs:openAttrs">
177 <xs:choice minOccurs="0" maxOccurs="unbounded">
178 <xs:element ref="xs:include"/>
179 <xs:element ref="xs:import"/>
180 <xs:element ref="xs:redefine"/>
181 <xs:element ref="xs:annotation"/>
183 <xs:sequence minOccurs="0" maxOccurs="unbounded">
184 <xs:group ref="xs:schemaTop"/>
185 <xs:element ref="xs:annotation" minOccurs="0" maxOccurs="unbounded"/>
188 <xs:attribute name="targetNamespace" type="xs:anyURI"/>
189 <xs:attribute name="version" type="xs:token"/>
190 <xs:attribute name="finalDefault" type="xs:fullDerivationSet" use="optional" default=""/>
191 <xs:attribute name="blockDefault" type="xs:blockSet" use="optional" default=""/>
192 <xs:attribute name="attributeFormDefault" type="xs:formChoice" use="optional" default="unqualified"/>
193 <xs:attribute name="elementFormDefault" type="xs:formChoice" use="optional" default="unqualified"/>
194 <xs:attribute name="id" type="xs:ID"/>
195 <xs:attribute ref="xml:lang"/>
200 <xs:key name="element">
201 <xs:selector xpath="xs:element"/>
202 <xs:field xpath="@name"/>
205 <xs:key name="attribute">
206 <xs:selector xpath="xs:attribute"/>
207 <xs:field xpath="@name"/>
211 <xs:selector xpath="xs:complexType|xs:simpleType"/>
212 <xs:field xpath="@name"/>
215 <xs:key name="group">
216 <xs:selector xpath="xs:group"/>
217 <xs:field xpath="@name"/>
220 <xs:key name="attributeGroup">
221 <xs:selector xpath="xs:attributeGroup"/>
222 <xs:field xpath="@name"/>
225 <xs:key name="notation">
226 <xs:selector xpath="xs:notation"/>
227 <xs:field xpath="@name"/>
230 <xs:key name="identityConstraint">
231 <xs:selector xpath=".//xs:key|.//xs:unique|.//xs:keyref"/>
232 <xs:field xpath="@name"/>
237 <xs:simpleType name="allNNI">
238 <xs:union memberTypes="xs:nonNegativeInteger">
240 <xs:restriction base="xs:NMTOKEN">
241 <xs:enumeration value="unbounded"/>
247 <xs:attributeGroup name="occurs">
248 <xs:attribute name="minOccurs" type="xs:nonNegativeInteger" use="optional" default="1"/>
249 <xs:attribute name="maxOccurs" type="xs:allNNI" use="optional" default="1"/>
252 <xs:attributeGroup name="defRef">
253 <xs:attribute name="name" type="xs:NCName"/>
254 <xs:attribute name="ref" type="xs:QName"/>
257 <xs:group name="typeDefParticle">
259 <xs:element name="group" type="xs:groupRef"/>
260 <xs:element ref="xs:all"/>
261 <xs:element ref="xs:choice"/>
262 <xs:element ref="xs:sequence"/>
268 <xs:group name="nestedParticle">
270 <xs:element name="element" type="xs:localElement"/>
271 <xs:element name="group" type="xs:groupRef"/>
272 <xs:element ref="xs:choice"/>
273 <xs:element ref="xs:sequence"/>
274 <xs:element ref="xs:any"/>
278 <xs:group name="particle">
280 <xs:element name="element" type="xs:localElement"/>
281 <xs:element name="group" type="xs:groupRef"/>
282 <xs:element ref="xs:all"/>
283 <xs:element ref="xs:choice"/>
284 <xs:element ref="xs:sequence"/>
285 <xs:element ref="xs:any"/>
289 <xs:complexType name="attribute">
291 <xs:extension base="xs:annotated">
293 <xs:element name="simpleType" minOccurs="0" type="xs:localSimpleType"/>
295 <xs:attributeGroup ref="xs:defRef"/>
296 <xs:attribute name="type" type="xs:QName"/>
297 <xs:attribute name="use" use="optional" default="optional">
299 <xs:restriction base="xs:NMTOKEN">
300 <xs:enumeration value="prohibited"/>
301 <xs:enumeration value="optional"/>
302 <xs:enumeration value="required"/>
306 <xs:attribute name="default" type="xs:string"/>
307 <xs:attribute name="fixed" type="xs:string"/>
308 <xs:attribute name="form" type="xs:formChoice"/>
313 <xs:complexType name="topLevelAttribute">
315 <xs:restriction base="xs:attribute">
317 <xs:element ref="xs:annotation" minOccurs="0"/>
318 <xs:element name="simpleType" minOccurs="0" type="xs:localSimpleType"/>
320 <xs:attribute name="ref" use="prohibited"/>
321 <xs:attribute name="form" use="prohibited"/>
322 <xs:attribute name="use" use="prohibited"/>
323 <xs:attribute name="name" use="required" type="xs:NCName"/>
324 <xs:anyAttribute namespace="##other" processContents="lax"/>
329 <xs:group name="attrDecls">
331 <xs:choice minOccurs="0" maxOccurs="unbounded">
332 <xs:element name="attribute" type="xs:attribute"/>
333 <xs:element name="attributeGroup" type="xs:attributeGroupRef"/>
335 <xs:element ref="xs:anyAttribute" minOccurs="0"/>
339 <xs:element name="anyAttribute" type="xs:wildcard" id="anyAttribute">
342 <xs:group name="complexTypeModel">
344 <xs:element ref="xs:simpleContent"/>
345 <xs:element ref="xs:complexContent"/>
347 <xs:group ref="xs:typeDefParticle" minOccurs="0"/>
348 <xs:group ref="xs:attrDecls"/>
353 <xs:complexType name="complexType" abstract="true">
355 <xs:extension base="xs:annotated">
356 <xs:group ref="xs:complexTypeModel"/>
357 <xs:attribute name="name" type="xs:NCName">
359 <xs:attribute name="mixed" type="xs:boolean" use="optional" default="false">
361 <xs:attribute name="abstract" type="xs:boolean" use="optional" default="false"/>
362 <xs:attribute name="final" type="xs:derivationSet"/>
363 <xs:attribute name="block" type="xs:derivationSet"/>
368 <xs:complexType name="topLevelComplexType">
370 <xs:restriction base="xs:complexType">
372 <xs:element ref="xs:annotation" minOccurs="0"/>
373 <xs:group ref="xs:complexTypeModel"/>
375 <xs:attribute name="name" type="xs:NCName" use="required"/>
376 <xs:anyAttribute namespace="##other" processContents="lax"/>
381 <xs:complexType name="localComplexType">
383 <xs:restriction base="xs:complexType">
385 <xs:element ref="xs:annotation" minOccurs="0"/>
386 <xs:group ref="xs:complexTypeModel"/>
388 <xs:attribute name="name" use="prohibited"/>
389 <xs:attribute name="abstract" use="prohibited"/>
390 <xs:attribute name="final" use="prohibited"/>
391 <xs:attribute name="block" use="prohibited"/>
392 <xs:anyAttribute namespace="##other" processContents="lax"/>
397 <xs:complexType name="restrictionType">
399 <xs:extension base="xs:annotated">
401 <xs:choice minOccurs="0">
402 <xs:group ref="xs:typeDefParticle"/>
403 <xs:group ref="xs:simpleRestrictionModel"/>
405 <xs:group ref="xs:attrDecls"/>
407 <xs:attribute name="base" type="xs:QName" use="required"/>
412 <xs:complexType name="complexRestrictionType">
414 <xs:restriction base="xs:restrictionType">
416 <xs:element ref="xs:annotation" minOccurs="0"/>
417 <xs:choice minOccurs="0">
418 <xs:group ref="xs:typeDefParticle"/>
420 <xs:group ref="xs:attrDecls"/>
422 <xs:anyAttribute namespace="##other" processContents="lax"/>
427 <xs:complexType name="extensionType">
429 <xs:extension base="xs:annotated">
431 <xs:group ref="xs:typeDefParticle" minOccurs="0"/>
432 <xs:group ref="xs:attrDecls"/>
434 <xs:attribute name="base" type="xs:QName" use="required"/>
439 <xs:element name="complexContent" id="complexContent">
442 <xs:extension base="xs:annotated">
444 <xs:element name="restriction" type="xs:complexRestrictionType"/>
445 <xs:element name="extension" type="xs:extensionType"/>
447 <xs:attribute name="mixed" type="xs:boolean">
454 <xs:complexType name="simpleRestrictionType">
456 <xs:restriction base="xs:restrictionType">
458 <xs:element ref="xs:annotation" minOccurs="0"/>
459 <xs:choice minOccurs="0">
460 <xs:group ref="xs:simpleRestrictionModel"/>
462 <xs:group ref="xs:attrDecls"/>
464 <xs:anyAttribute namespace="##other" processContents="lax"/>
469 <xs:complexType name="simpleExtensionType">
471 <xs:restriction base="xs:extensionType">
473 <xs:element ref="xs:annotation" minOccurs="0"/>
474 <xs:group ref="xs:attrDecls"/>
476 <xs:anyAttribute namespace="##other" processContents="lax"/>
481 <xs:element name="simpleContent" id="simpleContent">
484 <xs:extension base="xs:annotated">
486 <xs:element name="restriction" type="xs:simpleRestrictionType"/>
487 <xs:element name="extension" type="xs:simpleExtensionType"/>
494 <xs:element name="complexType" type="xs:topLevelComplexType" id="complexType">
498 <xs:simpleType name="blockSet">
501 <xs:restriction base="xs:token">
502 <xs:enumeration value="#all"/>
508 <xs:restriction base="xs:derivationControl">
509 <xs:enumeration value="extension"/>
510 <xs:enumeration value="restriction"/>
511 <xs:enumeration value="substitution"/>
519 <xs:complexType name="element" abstract="true">
522 <xs:extension base="xs:annotated">
524 <xs:choice minOccurs="0">
525 <xs:element name="simpleType" type="xs:localSimpleType"/>
526 <xs:element name="complexType" type="xs:localComplexType"/>
528 <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
530 <xs:attributeGroup ref="xs:defRef"/>
531 <xs:attribute name="type" type="xs:QName"/>
532 <xs:attribute name="substitutionGroup" type="xs:QName"/>
533 <xs:attributeGroup ref="xs:occurs"/>
534 <xs:attribute name="default" type="xs:string"/>
535 <xs:attribute name="fixed" type="xs:string"/>
536 <xs:attribute name="nillable" type="xs:boolean" use="optional" default="false"/>
537 <xs:attribute name="abstract" type="xs:boolean" use="optional" default="false"/>
538 <xs:attribute name="final" type="xs:derivationSet"/>
539 <xs:attribute name="block" type="xs:blockSet"/>
540 <xs:attribute name="form" type="xs:formChoice"/>
545 <xs:complexType name="topLevelElement">
547 <xs:restriction base="xs:element">
549 <xs:element ref="xs:annotation" minOccurs="0"/>
550 <xs:choice minOccurs="0">
551 <xs:element name="simpleType" type="xs:localSimpleType"/>
552 <xs:element name="complexType" type="xs:localComplexType"/>
554 <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
556 <xs:attribute name="ref" use="prohibited"/>
557 <xs:attribute name="form" use="prohibited"/>
558 <xs:attribute name="minOccurs" use="prohibited"/>
559 <xs:attribute name="maxOccurs" use="prohibited"/>
560 <xs:attribute name="name" use="required" type="xs:NCName"/>
561 <xs:anyAttribute namespace="##other" processContents="lax"/>
566 <xs:complexType name="localElement">
568 <xs:restriction base="xs:element">
570 <xs:element ref="xs:annotation" minOccurs="0"/>
571 <xs:choice minOccurs="0">
572 <xs:element name="simpleType" type="xs:localSimpleType"/>
573 <xs:element name="complexType" type="xs:localComplexType"/>
575 <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
577 <xs:attribute name="substitutionGroup" use="prohibited"/>
578 <xs:attribute name="final" use="prohibited"/>
579 <xs:attribute name="abstract" use="prohibited"/>
580 <xs:anyAttribute namespace="##other" processContents="lax"/>
585 <xs:element name="element" type="xs:topLevelElement" id="element">
588 <xs:complexType name="group" abstract="true">
590 <xs:extension base="xs:annotated">
591 <xs:group ref="xs:particle" minOccurs="0" maxOccurs="unbounded"/>
592 <xs:attributeGroup ref="xs:defRef"/>
593 <xs:attributeGroup ref="xs:occurs"/>
598 <xs:complexType name="realGroup">
600 <xs:restriction base="xs:group">
602 <xs:element ref="xs:annotation" minOccurs="0"/>
603 <xs:choice minOccurs="0" maxOccurs="1">
604 <xs:element ref="xs:all"/>
605 <xs:element ref="xs:choice"/>
606 <xs:element ref="xs:sequence"/>
609 <xs:anyAttribute namespace="##other" processContents="lax"/>
614 <xs:complexType name="namedGroup">
616 <xs:restriction base="xs:realGroup">
618 <xs:element ref="xs:annotation" minOccurs="0"/>
619 <xs:choice minOccurs="1" maxOccurs="1">
620 <xs:element name="all">
623 <xs:restriction base="xs:all">
624 <xs:group ref="xs:allModel"/>
625 <xs:attribute name="minOccurs" use="prohibited"/>
626 <xs:attribute name="maxOccurs" use="prohibited"/>
627 <xs:anyAttribute namespace="##other" processContents="lax"/>
632 <xs:element name="choice" type="xs:simpleExplicitGroup"/>
633 <xs:element name="sequence" type="xs:simpleExplicitGroup"/>
636 <xs:attribute name="name" use="required" type="xs:NCName"/>
637 <xs:attribute name="ref" use="prohibited"/>
638 <xs:attribute name="minOccurs" use="prohibited"/>
639 <xs:attribute name="maxOccurs" use="prohibited"/>
640 <xs:anyAttribute namespace="##other" processContents="lax"/>
645 <xs:complexType name="groupRef">
647 <xs:restriction base="xs:realGroup">
649 <xs:element ref="xs:annotation" minOccurs="0"/>
651 <xs:attribute name="ref" use="required" type="xs:QName"/>
652 <xs:attribute name="name" use="prohibited"/>
653 <xs:anyAttribute namespace="##other" processContents="lax"/>
658 <xs:complexType name="explicitGroup">
660 <xs:restriction base="xs:group">
662 <xs:element ref="xs:annotation" minOccurs="0"/>
663 <xs:group ref="xs:nestedParticle" minOccurs="0" maxOccurs="unbounded"/>
665 <xs:attribute name="name" type="xs:NCName" use="prohibited"/>
666 <xs:attribute name="ref" type="xs:QName" use="prohibited"/>
667 <xs:anyAttribute namespace="##other" processContents="lax"/>
672 <xs:complexType name="simpleExplicitGroup">
674 <xs:restriction base="xs:explicitGroup">
676 <xs:element ref="xs:annotation" minOccurs="0"/>
677 <xs:group ref="xs:nestedParticle" minOccurs="0" maxOccurs="unbounded"/>
679 <xs:attribute name="minOccurs" use="prohibited"/>
680 <xs:attribute name="maxOccurs" use="prohibited"/>
681 <xs:anyAttribute namespace="##other" processContents="lax"/>
686 <xs:group name="allModel">
688 <xs:element ref="xs:annotation" minOccurs="0"/>
689 <xs:choice minOccurs="0" maxOccurs="unbounded">
690 <xs:element name="element" type="xs:narrowMaxMin"/>
696 <xs:complexType name="narrowMaxMin">
698 <xs:restriction base="xs:localElement">
700 <xs:element ref="xs:annotation" minOccurs="0"/>
701 <xs:choice minOccurs="0">
702 <xs:element name="simpleType" type="xs:localSimpleType"/>
703 <xs:element name="complexType" type="xs:localComplexType"/>
705 <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
707 <xs:attribute name="minOccurs" use="optional" default="1">
709 <xs:restriction base="xs:nonNegativeInteger">
710 <xs:enumeration value="0"/>
711 <xs:enumeration value="1"/>
715 <xs:attribute name="maxOccurs" use="optional" default="1">
717 <xs:restriction base="xs:allNNI">
718 <xs:enumeration value="0"/>
719 <xs:enumeration value="1"/>
723 <xs:anyAttribute namespace="##other" processContents="lax"/>
728 <xs:complexType name="all">
730 <xs:restriction base="xs:explicitGroup">
731 <xs:group ref="xs:allModel"/>
732 <xs:attribute name="minOccurs" use="optional" default="1">
734 <xs:restriction base="xs:nonNegativeInteger">
735 <xs:enumeration value="0"/>
736 <xs:enumeration value="1"/>
740 <xs:attribute name="maxOccurs" use="optional" default="1">
742 <xs:restriction base="xs:allNNI">
743 <xs:enumeration value="1"/>
747 <xs:anyAttribute namespace="##other" processContents="lax"/>
752 <xs:element name="all" id="all" type="xs:all">
755 <xs:element name="choice" type="xs:explicitGroup" id="choice">
758 <xs:element name="sequence" type="xs:explicitGroup" id="sequence">
761 <xs:element name="group" type="xs:namedGroup" id="group">
764 <xs:complexType name="wildcard">
766 <xs:extension base="xs:annotated">
767 <xs:attribute name="namespace" type="xs:namespaceList" use="optional" default="##any"/>
768 <xs:attribute name="processContents" use="optional" default="strict">
770 <xs:restriction base="xs:NMTOKEN">
771 <xs:enumeration value="skip"/>
772 <xs:enumeration value="lax"/>
773 <xs:enumeration value="strict"/>
781 <xs:element name="any" id="any">
784 <xs:extension base="xs:wildcard">
785 <xs:attributeGroup ref="xs:occurs"/>
792 <xs:simpleType name="namespaceList">
795 <xs:restriction base="xs:token">
796 <xs:enumeration value="##any"/>
797 <xs:enumeration value="##other"/>
803 <xs:union memberTypes="xs:anyURI">
805 <xs:restriction base="xs:token">
806 <xs:enumeration value="##targetNamespace"/>
807 <xs:enumeration value="##local"/>
817 <xs:element name="attribute" type="xs:topLevelAttribute" id="attribute">
820 <xs:complexType name="attributeGroup" abstract="true">
822 <xs:extension base="xs:annotated">
823 <xs:group ref="xs:attrDecls"/>
824 <xs:attributeGroup ref="xs:defRef"/>
829 <xs:complexType name="namedAttributeGroup">
831 <xs:restriction base="xs:attributeGroup">
833 <xs:element ref="xs:annotation" minOccurs="0"/>
834 <xs:group ref="xs:attrDecls"/>
836 <xs:attribute name="name" use="required" type="xs:NCName"/>
837 <xs:attribute name="ref" use="prohibited"/>
838 <xs:anyAttribute namespace="##other" processContents="lax"/>
843 <xs:complexType name="attributeGroupRef">
845 <xs:restriction base="xs:attributeGroup">
847 <xs:element ref="xs:annotation" minOccurs="0"/>
849 <xs:attribute name="ref" use="required" type="xs:QName"/>
850 <xs:attribute name="name" use="prohibited"/>
851 <xs:anyAttribute namespace="##other" processContents="lax"/>
856 <xs:element name="attributeGroup" type="xs:namedAttributeGroup" id="attributeGroup">
859 <xs:element name="include" id="include">
862 <xs:extension base="xs:annotated">
863 <xs:attribute name="schemaLocation" type="xs:anyURI" use="required"/>
869 <xs:element name="redefine" id="redefine">
872 <xs:extension base="xs:openAttrs">
873 <xs:choice minOccurs="0" maxOccurs="unbounded">
874 <xs:element ref="xs:annotation"/>
875 <xs:group ref="xs:redefinable"/>
877 <xs:attribute name="schemaLocation" type="xs:anyURI" use="required"/>
878 <xs:attribute name="id" type="xs:ID"/>
884 <xs:element name="import" id="import">
887 <xs:extension base="xs:annotated">
888 <xs:attribute name="namespace" type="xs:anyURI"/>
889 <xs:attribute name="schemaLocation" type="xs:anyURI"/>
895 <xs:element name="selector" id="selector">
898 <xs:extension base="xs:annotated">
899 <xs:attribute name="xpath" use="required">
901 <xs:restriction base="xs:token">
902 <xs:pattern value="(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*(\|(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*)*">
912 <xs:element name="field" id="field">
915 <xs:extension base="xs:annotated">
916 <xs:attribute name="xpath" use="required">
918 <xs:restriction base="xs:token">
919 <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*|\*)))))*">
929 <xs:complexType name="keybase">
931 <xs:extension base="xs:annotated">
933 <xs:element ref="xs:selector"/>
934 <xs:element ref="xs:field" minOccurs="1" maxOccurs="unbounded"/>
936 <xs:attribute name="name" type="xs:NCName" use="required"/>
941 <xs:group name="identityConstraint">
943 <xs:element ref="xs:unique"/>
944 <xs:element ref="xs:key"/>
945 <xs:element ref="xs:keyref"/>
949 <xs:element name="unique" type="xs:keybase" id="unique">
951 <xs:element name="key" type="xs:keybase" id="key">
953 <xs:element name="keyref" id="keyref">
956 <xs:extension base="xs:keybase">
957 <xs:attribute name="refer" type="xs:QName" use="required"/>
963 <xs:element name="notation" id="notation">
966 <xs:extension base="xs:annotated">
967 <xs:attribute name="name" type="xs:NCName" use="required"/>
968 <xs:attribute name="public" type="xs:public"/>
969 <xs:attribute name="system" type="xs:anyURI"/>
975 <xs:simpleType name="public">
976 <xs:restriction base="xs:token"/>
979 <xs:element name="appinfo" id="appinfo">
980 <xs:complexType mixed="true">
981 <xs:sequence minOccurs="0" maxOccurs="unbounded">
982 <xs:any processContents="lax"/>
984 <xs:attribute name="source" type="xs:anyURI"/>
985 <xs:anyAttribute namespace="##other" processContents="lax"/>
989 <xs:element name="documentation" id="documentation">
990 <xs:complexType mixed="true">
991 <xs:sequence minOccurs="0" maxOccurs="unbounded">
992 <xs:any processContents="lax"/>
994 <xs:attribute name="source" type="xs:anyURI"/>
995 <xs:attribute ref="xml:lang"/>
996 <xs:anyAttribute namespace="##other" processContents="lax"/>
1000 <xs:element name="annotation" id="annotation">
1003 <xs:extension base="xs:openAttrs">
1004 <xs:choice minOccurs="0" maxOccurs="unbounded">
1005 <xs:element ref="xs:appinfo"/>
1006 <xs:element ref="xs:documentation"/>
1008 <xs:attribute name="id" type="xs:ID"/>
1010 </xs:complexContent>
1015 <xs:notation name="XMLSchemaStructures" public="structures" system="http://www.w3.org/2000/08/XMLSchema.xsd"/>
1016 <xs:notation name="XML" public="REC-xml-19980210" system="http://www.w3.org/TR/1998/REC-xml-19980210"/>
1018 <xs:complexType name="anyType" mixed="true">
1020 <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
1022 <xs:anyAttribute processContents="lax"/>
1026 <xs:simpleType name="string" id="string">
1027 <xs:restriction base="xs:anySimpleType">
1028 <xs:whiteSpace value="preserve" id="string.preserve"/>
1032 <xs:simpleType name="boolean" id="boolean">
1033 <xs:restriction base="xs:anySimpleType">
1034 <xs:whiteSpace value="collapse" fixed="true" id="boolean.whiteSpace"/>
1038 <xs:simpleType name="float" id="float">
1039 <xs:restriction base="xs:anySimpleType">
1040 <xs:whiteSpace value="collapse" fixed="true" id="float.whiteSpace"/>
1044 <xs:simpleType name="double" id="double">
1045 <xs:restriction base="xs:anySimpleType">
1046 <xs:whiteSpace value="collapse" fixed="true" id="double.whiteSpace"/>
1050 <xs:simpleType name="decimal" id="decimal">
1051 <xs:restriction base="xs:anySimpleType">
1052 <xs:whiteSpace value="collapse" fixed="true" id="decimal.whiteSpace"/>
1056 <xs:simpleType name="duration" id="duration">
1057 <xs:restriction base="xs:anySimpleType">
1058 <xs:whiteSpace value="collapse" fixed="true" id="duration.whiteSpace"/>
1062 <xs:simpleType name="dateTime" id="dateTime">
1063 <xs:restriction base="xs:anySimpleType">
1064 <xs:whiteSpace value="collapse" fixed="true" id="dateTime.whiteSpace"/>
1068 <xs:simpleType name="time" id="time">
1069 <xs:restriction base="xs:anySimpleType">
1070 <xs:whiteSpace value="collapse" fixed="true" id="time.whiteSpace"/>
1074 <xs:simpleType name="date" id="date">
1075 <xs:restriction base="xs:anySimpleType">
1076 <xs:whiteSpace value="collapse" fixed="true" id="date.whiteSpace"/>
1080 <xs:simpleType name="gYearMonth" id="gYearMonth">
1081 <xs:restriction base="xs:anySimpleType">
1082 <xs:whiteSpace value="collapse" fixed="true" id="gYearMonth.whiteSpace"/>
1086 <xs:simpleType name="gYear" id="gYear">
1087 <xs:restriction base="xs:anySimpleType">
1088 <xs:whiteSpace value="collapse" fixed="true" id="gYear.whiteSpace"/>
1092 <xs:simpleType name="gMonthDay" id="gMonthDay">
1093 <xs:restriction base="xs:anySimpleType">
1094 <xs:whiteSpace value="collapse" fixed="true" id="gMonthDay.whiteSpace"/>
1098 <xs:simpleType name="gDay" id="gDay">
1099 <xs:restriction base="xs:anySimpleType">
1100 <xs:whiteSpace value="collapse" fixed="true" id="gDay.whiteSpace"/>
1104 <xs:simpleType name="gMonth" id="gMonth">
1105 <xs:restriction base="xs:anySimpleType">
1106 <xs:whiteSpace value="collapse" fixed="true" id="gMonth.whiteSpace"/>
1110 <xs:simpleType name="hexBinary" id="hexBinary">
1111 <xs:restriction base="xs:anySimpleType">
1112 <xs:whiteSpace value="collapse" fixed="true" id="hexBinary.whiteSpace"/>
1116 <xs:simpleType name="base64Binary" id="base64Binary">
1117 <xs:restriction base="xs:anySimpleType">
1118 <xs:whiteSpace value="collapse" fixed="true" id="base64Binary.whiteSpace"/>
1122 <xs:simpleType name="anyURI" id="anyURI">
1123 <xs:restriction base="xs:anySimpleType">
1124 <xs:whiteSpace value="collapse" fixed="true" id="anyURI.whiteSpace"/>
1128 <xs:simpleType name="QName" id="QName">
1129 <xs:restriction base="xs:anySimpleType">
1130 <xs:whiteSpace value="collapse" fixed="true" id="QName.whiteSpace"/>
1134 <xs:simpleType name="NOTATION" id="NOTATION">
1135 <xs:restriction base="xs:anySimpleType">
1136 <xs:whiteSpace value="collapse" fixed="true" id="NOTATION.whiteSpace"/>
1141 <xs:simpleType name="normalizedString" id="normalizedString">
1142 <xs:restriction base="xs:string">
1143 <xs:whiteSpace value="replace" id="normalizedString.whiteSpace"/>
1147 <xs:simpleType name="token" id="token">
1148 <xs:restriction base="xs:normalizedString">
1149 <xs:whiteSpace value="collapse" id="token.whiteSpace"/>
1153 <xs:simpleType name="language" id="language">
1154 <xs:restriction base="xs:token">
1155 <xs:pattern value="[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*" id="language.pattern">
1160 <xs:simpleType name="IDREFS" id="IDREFS">
1163 <xs:list itemType="xs:IDREF"/>
1165 <xs:minLength value="1" id="IDREFS.minLength"/>
1169 <xs:simpleType name="ENTITIES" id="ENTITIES">
1172 <xs:list itemType="xs:ENTITY"/>
1174 <xs:minLength value="1" id="ENTITIES.minLength"/>
1178 <xs:simpleType name="NMTOKEN" id="NMTOKEN">
1179 <xs:restriction base="xs:token">
1180 <xs:pattern value="\c+" id="NMTOKEN.pattern">
1185 <xs:simpleType name="NMTOKENS" id="NMTOKENS">
1188 <xs:list itemType="xs:NMTOKEN"/>
1190 <xs:minLength value="1" id="NMTOKENS.minLength"/>
1194 <xs:simpleType name="Name" id="Name">
1195 <xs:restriction base="xs:token">
1196 <xs:pattern value="\i\c*" id="Name.pattern">
1201 <xs:simpleType name="NCName" id="NCName">
1202 <xs:restriction base="xs:Name">
1203 <xs:pattern value="[\i-[:]][\c-[:]]*" id="NCName.pattern">
1208 <xs:simpleType name="ID" id="ID">
1209 <xs:restriction base="xs:NCName"/>
1212 <xs:simpleType name="IDREF" id="IDREF">
1213 <xs:restriction base="xs:NCName"/>
1216 <xs:simpleType name="ENTITY" id="ENTITY">
1217 <xs:restriction base="xs:NCName"/>
1220 <xs:simpleType name="integer" id="integer">
1221 <xs:restriction base="xs:decimal">
1222 <xs:fractionDigits value="0" fixed="true" id="integer.fractionDigits"/>
1223 <xs:pattern value="[\-+]?[0-9]+"/>
1227 <xs:simpleType name="nonPositiveInteger" id="nonPositiveInteger">
1228 <xs:restriction base="xs:integer">
1229 <xs:maxInclusive value="0" id="nonPositiveInteger.maxInclusive"/>
1233 <xs:simpleType name="negativeInteger" id="negativeInteger">
1234 <xs:restriction base="xs:nonPositiveInteger">
1235 <xs:maxInclusive value="-1" id="negativeInteger.maxInclusive"/>
1239 <xs:simpleType name="long" id="long">
1240 <xs:restriction base="xs:integer">
1241 <xs:minInclusive value="-9223372036854775808" id="long.minInclusive"/>
1242 <xs:maxInclusive value="9223372036854775807" id="long.maxInclusive"/>
1246 <xs:simpleType name="int" id="int">
1247 <xs:restriction base="xs:long">
1248 <xs:minInclusive value="-2147483648" id="int.minInclusive"/>
1249 <xs:maxInclusive value="2147483647" id="int.maxInclusive"/>
1253 <xs:simpleType name="short" id="short">
1254 <xs:restriction base="xs:int">
1255 <xs:minInclusive value="-32768" id="short.minInclusive"/>
1256 <xs:maxInclusive value="32767" id="short.maxInclusive"/>
1260 <xs:simpleType name="byte" id="byte">
1261 <xs:restriction base="xs:short">
1262 <xs:minInclusive value="-128" id="byte.minInclusive"/>
1263 <xs:maxInclusive value="127" id="byte.maxInclusive"/>
1267 <xs:simpleType name="nonNegativeInteger" id="nonNegativeInteger">
1268 <xs:restriction base="xs:integer">
1269 <xs:minInclusive value="0" id="nonNegativeInteger.minInclusive"/>
1273 <xs:simpleType name="unsignedLong" id="unsignedLong">
1274 <xs:restriction base="xs:nonNegativeInteger">
1275 <xs:maxInclusive value="18446744073709551615" id="unsignedLong.maxInclusive"/>
1279 <xs:simpleType name="unsignedInt" id="unsignedInt">
1280 <xs:restriction base="xs:unsignedLong">
1281 <xs:maxInclusive value="4294967295" id="unsignedInt.maxInclusive"/>
1285 <xs:simpleType name="unsignedShort" id="unsignedShort">
1286 <xs:restriction base="xs:unsignedInt">
1287 <xs:maxInclusive value="65535" id="unsignedShort.maxInclusive"/>
1291 <xs:simpleType name="unsignedByte" id="unsignedByte">
1292 <xs:restriction base="xs:unsignedShort">
1293 <xs:maxInclusive value="255" id="unsignedByte.maxInclusive"/>
1297 <xs:simpleType name="positiveInteger" id="positiveInteger">
1298 <xs:restriction base="xs:nonNegativeInteger">
1299 <xs:minInclusive value="1" id="positiveInteger.minInclusive"/>
1303 <xs:simpleType name="derivationControl">
1304 <xs:restriction base="xs:NMTOKEN">
1305 <xs:enumeration value="substitution"/>
1306 <xs:enumeration value="extension"/>
1307 <xs:enumeration value="restriction"/>
1308 <xs:enumeration value="list"/>
1309 <xs:enumeration value="union"/>
1313 <xs:group name="simpleDerivation">
1315 <xs:element ref="xs:restriction"/>
1316 <xs:element ref="xs:list"/>
1317 <xs:element ref="xs:union"/>
1321 <xs:simpleType name="simpleDerivationSet">
1324 <xs:restriction base="xs:token">
1325 <xs:enumeration value="#all"/>
1331 <xs:restriction base="xs:derivationControl">
1332 <xs:enumeration value="list"/>
1333 <xs:enumeration value="union"/>
1334 <xs:enumeration value="restriction"/>
1342 <xs:complexType name="simpleType" abstract="true">
1344 <xs:extension base="xs:annotated">
1345 <xs:group ref="xs:simpleDerivation"/>
1346 <xs:attribute name="final" type="xs:simpleDerivationSet"/>
1347 <xs:attribute name="name" type="xs:NCName">
1350 </xs:complexContent>
1353 <xs:complexType name="topLevelSimpleType">
1355 <xs:restriction base="xs:simpleType">
1357 <xs:element ref="xs:annotation" minOccurs="0"/>
1358 <xs:group ref="xs:simpleDerivation"/>
1360 <xs:attribute name="name" use="required" type="xs:NCName">
1362 <xs:anyAttribute namespace="##other" processContents="lax"/>
1364 </xs:complexContent>
1367 <xs:complexType name="localSimpleType">
1369 <xs:restriction base="xs:simpleType">
1371 <xs:element ref="xs:annotation" minOccurs="0"/>
1372 <xs:group ref="xs:simpleDerivation"/>
1374 <xs:attribute name="name" use="prohibited">
1376 <xs:attribute name="final" use="prohibited"/>
1377 <xs:anyAttribute namespace="##other" processContents="lax"/>
1379 </xs:complexContent>
1382 <xs:element name="simpleType" type="xs:topLevelSimpleType" id="simpleType">
1385 <xs:group name="facets">
1387 <xs:element ref="xs:minExclusive"/>
1388 <xs:element ref="xs:minInclusive"/>
1389 <xs:element ref="xs:maxExclusive"/>
1390 <xs:element ref="xs:maxInclusive"/>
1391 <xs:element ref="xs:totalDigits"/>
1392 <xs:element ref="xs:fractionDigits"/>
1393 <xs:element ref="xs:length"/>
1394 <xs:element ref="xs:minLength"/>
1395 <xs:element ref="xs:maxLength"/>
1396 <xs:element ref="xs:enumeration"/>
1397 <xs:element ref="xs:whiteSpace"/>
1398 <xs:element ref="xs:pattern"/>
1402 <xs:group name="simpleRestrictionModel">
1404 <xs:element name="simpleType" type="xs:localSimpleType" minOccurs="0"/>
1405 <xs:group ref="xs:facets" minOccurs="0" maxOccurs="unbounded"/>
1409 <xs:element name="restriction" id="restriction">
1412 <xs:extension base="xs:annotated">
1413 <xs:group ref="xs:simpleRestrictionModel"/>
1414 <xs:attribute name="base" type="xs:QName" use="optional"/>
1416 </xs:complexContent>
1420 <xs:element name="list" id="list">
1423 <xs:extension base="xs:annotated">
1425 <xs:element name="simpleType" type="xs:localSimpleType" minOccurs="0"/>
1427 <xs:attribute name="itemType" type="xs:QName" use="optional"/>
1429 </xs:complexContent>
1433 <xs:element name="union" id="union">
1436 <xs:extension base="xs:annotated">
1438 <xs:element name="simpleType" type="xs:localSimpleType" minOccurs="0" maxOccurs="unbounded"/>
1440 <xs:attribute name="memberTypes" use="optional">
1442 <xs:list itemType="xs:QName"/>
1446 </xs:complexContent>
1450 <xs:complexType name="facet">
1452 <xs:extension base="xs:annotated">
1453 <xs:attribute name="value" use="required"/>
1454 <xs:attribute name="fixed" type="xs:boolean" use="optional" default="false"/>
1456 </xs:complexContent>
1459 <xs:complexType name="noFixedFacet">
1461 <xs:restriction base="xs:facet">
1463 <xs:element ref="xs:annotation" minOccurs="0"/>
1465 <xs:attribute name="fixed" use="prohibited"/>
1466 <xs:anyAttribute namespace="##other" processContents="lax"/>
1468 </xs:complexContent>
1471 <xs:element name="minExclusive" id="minExclusive" type="xs:facet">
1473 <xs:element name="minInclusive" id="minInclusive" type="xs:facet">
1476 <xs:element name="maxExclusive" id="maxExclusive" type="xs:facet">
1478 <xs:element name="maxInclusive" id="maxInclusive" type="xs:facet">
1481 <xs:complexType name="numFacet">
1483 <xs:restriction base="xs:facet">
1485 <xs:element ref="xs:annotation" minOccurs="0"/>
1487 <xs:attribute name="value" type="xs:nonNegativeInteger" use="required"/>
1488 <xs:anyAttribute namespace="##other" processContents="lax"/>
1490 </xs:complexContent>
1493 <xs:element name="totalDigits" id="totalDigits">
1496 <xs:restriction base="xs:numFacet">
1498 <xs:element ref="xs:annotation" minOccurs="0"/>
1500 <xs:attribute name="value" type="xs:positiveInteger" use="required"/>
1501 <xs:anyAttribute namespace="##other" processContents="lax"/>
1503 </xs:complexContent>
1506 <xs:element name="fractionDigits" id="fractionDigits" type="xs:numFacet">
1509 <xs:element name="length" id="length" type="xs:numFacet">
1511 <xs:element name="minLength" id="minLength" type="xs:numFacet">
1513 <xs:element name="maxLength" id="maxLength" type="xs:numFacet">
1516 <xs:element name="enumeration" id="enumeration" type="xs:noFixedFacet">
1519 <xs:element name="whiteSpace" id="whiteSpace">
1522 <xs:restriction base="xs:facet">
1524 <xs:element ref="xs:annotation" minOccurs="0"/>
1526 <xs:attribute name="value" use="required">
1528 <xs:restriction base="xs:NMTOKEN">
1529 <xs:enumeration value="preserve"/>
1530 <xs:enumeration value="replace"/>
1531 <xs:enumeration value="collapse"/>
1535 <xs:anyAttribute namespace="##other" processContents="lax"/>
1537 </xs:complexContent>
1541 <xs:element name="pattern" id="pattern">
1544 <xs:restriction base="xs:noFixedFacet">
1546 <xs:element ref="xs:annotation" minOccurs="0"/>
1548 <xs:attribute name="value" type="xs:string" use="required"/>
1549 <xs:anyAttribute namespace="##other" processContents="lax"/>
1551 </xs:complexContent>