XML Schema for XML Schemas 1.0
25 Jul 2021, 20:24:18
Namespace Summary
Components:
elements (top-level / other; 41 global + 28 local), complexTypes (35), simpleTypes (55), element groups (12), attribute groups (2)
Components:
attribute groups (1), global attributes (4)
Schema Summary
About the XML namespace This schema document describes the XML namespace, in a form suitable for import by other schema documents.
Target Namespace:
Defined Components:
attribute groups (1), global attributes (4)
Default Namespace-Qualified Form:
Local Elements: unqualified; Local Attributes: unqualified
Schema Location:
http://www.w3.org/2001/xml.xsd; see XML source
Imported by Schemas (1):
Part 1 version: Id: structures.xsd,v 1.2 2004/01/15 11:34:25 ht Exp Part 2 version: Id: datatypes.xsd,v 1.3 2004/01/23 18:11:13 ht Exp
Target Namespace:
Version:
1.0
Defined Components:
elements (top-level / other; 41 global + 28 local), complexTypes (35), simpleTypes (55), element groups (12), attribute groups (2)
Default Namespace-Qualified Form:
Local Elements: qualified; Local Attributes: unqualified
Default Block Attribute:
"#all" (blocks all substitutions of elements and their types both through substitution groups and xsi:type attribute in instance XML documents)
Schema Location:
http://www.w3.org/2001/XMLSchema.xsd; see XML source
Imports Schemas (1):
Namespace "http://www.w3.org/2001/XMLSchema"
Targeting Schemas (1):
Targeting Components:
elements (top-level / other; 41 global + 28 local), complexTypes (35), simpleTypes (55), element groups (12), attribute groups (2)
Schema Summary
Part 1 version: Id: structures.xsd,v 1.2 2004/01/15 11:34:25 ht Exp Part 2 version: Id: datatypes.xsd,v 1.3 2004/01/23 18:11:13 ht Exp
Target Namespace:
Version:
1.0
Defined Components:
elements (top-level / other; 41 global + 28 local), complexTypes (35), simpleTypes (55), element groups (12), attribute groups (2)
Default Namespace-Qualified Form:
Local Elements: qualified; Local Attributes: unqualified
Default Block Attribute:
"#all" (blocks all substitutions of elements and their types both through substitution groups and xsi:type attribute in instance XML documents)
Schema Location:
http://www.w3.org/2001/XMLSchema.xsd; see XML source
Imports Schemas (1):
Top-Level Element Summary (root element candidates)
Type:
anonymous complexType (extension of xs:openAttrs)
Content:
complex, 8 attributes, attr. wildcard, 12 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definitions of 8 attributes, 5 elements
Used:
never
All Other Element Summary (local elements unified by type)
Type:
Content:
complex, 3 attributes, attr. wildcard, 2 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 3 locations
Type:
anonymous complexType (restriction of xs:all)
Content:
complex, 1 attribute, attr. wildcard, 2 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally within xs:namedGroup complexType in XMLSchema.xsd; see XML source
Includes:
definition of attr. wildcard; 2 attr. prohibitions
Type:
anonymous complexType (extension of xs:openAttrs)
Content:
complex, 1 attribute, attr. wildcard, 2 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definitions of 1 attribute, 2 elements
Used:
at 28 locations
Type:
anonymous complexType (extension of xs:wildcard)
Content:
complex, 5 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 2 locations
Type:
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 1 location
Type:
anonymous complexType
Content:
mixed (allows character data), 1 attribute, attr. wildcard, elem. wildcard
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definitions of 1 attribute, attr. wildcard, elem. wildcard
Used:
at 1 location
Type:
Content:
complex, 5 attributes, attr. wildcard, 2 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 1 location
Type:
Content:
complex, 8 attributes, attr. wildcard, 2 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally within xs:attrDecls group in XMLSchema.xsd; see XML source
Type:
Content:
complex, 2 attributes, attr. wildcard, 4 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 1 location
Type:
Content:
complex, 2 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally within xs:attrDecls group in XMLSchema.xsd; see XML source
Type:
Content:
complex, 3 attributes, attr. wildcard, 6 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 4 locations
Type:
Content:
complex, 1 attribute, attr. wildcard, 6 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally within xs:namedGroup complexType in XMLSchema.xsd; see XML source
Type:
anonymous complexType (extension of xs:annotated)
Content:
complex, 2 attributes, attr. wildcard, 3 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definitions of 1 attribute, 2 elements
Used:
at 1 location
Type:
Content:
complex, 6 attributes, attr. wildcard, 10 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 1 location
Type:
Content:
complex, 2 attributes, attr. wildcard, 10 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally at 4 locations in XMLSchema.xsd
Type:
anonymous complexType
Content:
mixed (allows character data), 2 attributes, attr. wildcard, elem. wildcard
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definitions of 2 attributes, attr. wildcard, elem. wildcard
Used:
at 1 location
Type:
Content:
complex, 10 attributes, attr. wildcard, 6 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 1 location
Type:
Content:
complex, 11 attributes, attr. wildcard, 6 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally at 2 locations in XMLSchema.xsd
Type:
Content:
complex, 11 attributes, attr. wildcard, 6 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally within xs:allModel group in XMLSchema.xsd; see XML source
Type:
Content:
complex, 2 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 1 location
Type:
Content:
complex, 2 attributes, attr. wildcard, 8 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally within xs:complexContent element in XMLSchema.xsd; see XML source
Type:
Content:
complex, 2 attributes, attr. wildcard, 4 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally within xs:simpleContent element in XMLSchema.xsd; see XML source
Type:
anonymous complexType (extension of xs:annotated)
Content:
complex, 2 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definition of 1 attribute
Used:
at 1 location
Type:
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 1 location
Type:
Content:
complex, 2 attributes, attr. wildcard, 4 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 1 location
Type:
Content:
complex, 4 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally at 3 locations in XMLSchema.xsd
Type:
anonymous complexType (extension of xs:annotated)
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definitions of 2 attributes
Used:
at 1 location
Type:
anonymous complexType (extension of xs:annotated)
Content:
complex, 2 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definition of 1 attribute
Used:
at 1 location
Type:
Content:
complex, 2 attributes, attr. wildcard, 3 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 1 location
Type:
anonymous complexType (extension of xs:keybase)
Content:
complex, 3 attributes, attr. wildcard, 3 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definition of 1 attribute
Used:
at 1 location
Type:
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 1 location
Type:
anonymous complexType (extension of xs:annotated)
Content:
complex, 2 attributes, attr. wildcard, 2 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definitions of 1 attribute, 1 element
Used:
at 1 location
Type:
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 1 location
Type:
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 1 location
Type:
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 1 location
Type:
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 1 location
Type:
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 1 location
Type:
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 1 location
Type:
anonymous complexType (extension of xs:annotated)
Content:
complex, 4 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definitions of 3 attributes
Used:
at 1 location
Type:
anonymous complexType (restriction of xs:noFixedFacet)
Content:
complex, 2 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definitions of 1 attribute, attr. wildcard, 1 element
Used:
at 1 location
Type:
anonymous complexType (extension of xs:openAttrs)
Content:
complex, 2 attributes, attr. wildcard, 5 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definitions of 2 attributes, 1 element
Used:
at 1 location
Type:
anonymous complexType (extension of xs:annotated)
Content:
complex, 2 attributes, attr. wildcard, 14 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definition of 1 attribute
Used:
at 1 location
Type:
Content:
complex, 2 attributes, attr. wildcard, 8 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally within xs:complexContent element in XMLSchema.xsd; see XML source
Type:
Content:
complex, 2 attributes, attr. wildcard, 17 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally within xs:simpleContent element in XMLSchema.xsd; see XML source
Type:
anonymous complexType (extension of xs:annotated)
Content:
complex, 2 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definition of 1 attribute
Used:
at 1 location
Type:
Content:
complex, 3 attributes, attr. wildcard, 6 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 4 locations
Type:
Content:
complex, 1 attribute, attr. wildcard, 6 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally within xs:namedGroup complexType in XMLSchema.xsd; see XML source
Type:
anonymous complexType (extension of xs:annotated)
Content:
complex, 1 attribute, attr. wildcard, 3 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definitions of 2 elements
Used:
at 1 location
Type:
Content:
complex, 3 attributes, attr. wildcard, 4 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 1 location
Type:
Content:
complex, 1 attribute, attr. wildcard, 4 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally at 9 locations in XMLSchema.xsd
Type:
anonymous complexType (restriction of xs:numFacet)
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definitions of 1 attribute, attr. wildcard, 1 element
Used:
at 1 location
Type:
anonymous complexType (extension of xs:annotated)
Content:
complex, 2 attributes, attr. wildcard, 2 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definitions of 1 attribute, 1 element
Used:
at 1 location
Type:
Content:
complex, 2 attributes, attr. wildcard, 3 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 1 location
Type:
anonymous complexType (restriction of xs:facet)
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definitions of 1 attribute, attr. wildcard, 1 element
Used:
at 1 location
element <xs:schema> (global)
Namespace:
Type:
anonymous complexType (extension of xs:openAttrs)
Content:
complex, 8 attributes, attr. wildcard, 12 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definitions of 8 attributes, 5 elements
Used:
never
Component Diagram
Annotation
See:  http://www.w3.org/TR/xmlschema-1/#element-schema
element <xs:all> (global)
Namespace:
Type:
Content:
complex, 3 attributes, attr. wildcard, 2 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 3 locations
Component Diagram

Included in content model of elements (4):
Annotation
See:  http://www.w3.org/TR/xmlschema-1/#element-all
element <xs:all> (local)
Namespace:
Type:
anonymous complexType (restriction of xs:all)
Content:
complex, 1 attribute, attr. wildcard, 2 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally within xs:namedGroup complexType in XMLSchema.xsd; see XML source
Includes:
definition of attr. wildcard; 2 attr. prohibitions
Component Diagram

Included in content model of elements (1):
element <xs:annotation> (global)
Namespace:
Type:
anonymous complexType (extension of xs:openAttrs)
Content:
complex, 1 attribute, attr. wildcard, 2 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definitions of 1 attribute, 2 elements
Used:
at 28 locations
Component Diagram

Included in content model of elements (52):
Annotation
See:  http://www.w3.org/TR/xmlschema-1/#element-annotation
element <xs:any> (global)
Namespace:
Type:
anonymous complexType (extension of xs:wildcard)
Content:
complex, 5 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 2 locations
Component Diagram

Included in content model of elements (4):
Annotation
See:  http://www.w3.org/TR/xmlschema-1/#element-any
element <xs:anyAttribute> (global)
Namespace:
Type:
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 1 location
Component Diagram

Included in content model of elements (7):
Annotation
See:  http://www.w3.org/TR/xmlschema-1/#element-anyAttribute
element <xs:appinfo> (global)
Namespace:
Type:
anonymous complexType
Content:
mixed (allows character data), 1 attribute, attr. wildcard, elem. wildcard
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definitions of 1 attribute, attr. wildcard, elem. wildcard
Used:
at 1 location
Component Diagram

Included in content model of elements (1):
Annotation
See:  http://www.w3.org/TR/xmlschema-1/#element-appinfo
element <xs:attribute> (global)
Namespace:
Type:
Content:
complex, 5 attributes, attr. wildcard, 2 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 1 location
Component Diagram

Included in content model of elements (1):
Annotation
See:  http://www.w3.org/TR/xmlschema-1/#element-attribute
element <xs:attribute> (local)
Namespace:
Type:
Content:
complex, 8 attributes, attr. wildcard, 2 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally within xs:attrDecls group in XMLSchema.xsd; see XML source
Component Diagram

Included in content model of elements (7):
element <xs:attributeGroup> (global)
Namespace:
Type:
Content:
complex, 2 attributes, attr. wildcard, 4 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 1 location
Component Diagram

Included in content model of elements (2):
Annotation
See:  http://www.w3.org/TR/xmlschema-1/#element-attributeGroup
element <xs:attributeGroup> (local)
Namespace:
Type:
Content:
complex, 2 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally within xs:attrDecls group in XMLSchema.xsd; see XML source
Component Diagram

Included in content model of elements (7):
element <xs:choice> (global)
Namespace:
Type:
Content:
complex, 3 attributes, attr. wildcard, 6 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 4 locations
Component Diagram

Included in content model of elements (8):
Annotation
See:  http://www.w3.org/TR/xmlschema-1/#element-choice
element <xs:choice> (local)
Namespace:
Type:
Content:
complex, 1 attribute, attr. wildcard, 6 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally within xs:namedGroup complexType in XMLSchema.xsd; see XML source
Component Diagram

Included in content model of elements (1):
element <xs:complexContent> (global)
Namespace:
Type:
anonymous complexType (extension of xs:annotated)
Content:
complex, 2 attributes, attr. wildcard, 3 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definitions of 1 attribute, 2 elements
Used:
at 1 location
Component Diagram

Included in content model of elements (2):
Annotation
See:  http://www.w3.org/TR/xmlschema-1/#element-complexContent
element <xs:complexType> (global)
Namespace:
Type:
Content:
complex, 6 attributes, attr. wildcard, 10 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 1 location
Component Diagram

Included in content model of elements (2):
Annotation
See:  http://www.w3.org/TR/xmlschema-1/#element-complexType
element <xs:complexType> (unified local)
Namespace:
Type:
Content:
complex, 2 attributes, attr. wildcard, 10 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally at 4 locations in XMLSchema.xsd
Component Diagram

Included in content model of elements (3):
Annotations (1) (by all definition locations)
Locations (4):
within xs:element complexType [def], within xs:topLevelElement complexType [def], within xs:localElement complexType [def], within xs:narrowMaxMin complexType [def]
Annotation:
element <xs:documentation> (global)
Namespace:
Type:
anonymous complexType
Content:
mixed (allows character data), 2 attributes, attr. wildcard, elem. wildcard
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definitions of 2 attributes, attr. wildcard, elem. wildcard
Used:
at 1 location
Component Diagram

Included in content model of elements (1):
Annotation
See:  http://www.w3.org/TR/xmlschema-1/#element-documentation
element <xs:element> (global)
Namespace:
Type:
Content:
complex, 10 attributes, attr. wildcard, 6 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 1 location
Component Diagram

Included in content model of elements (1):
Annotation
See:  http://www.w3.org/TR/xmlschema-1/#element-element
element <xs:element> (unified local)
Namespace:
Type:
Content:
complex, 11 attributes, attr. wildcard, 6 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally at 2 locations in XMLSchema.xsd
Component Diagram

Included in content model of elements (4):
Annotations (1) (by all definition locations)
Locations (2):
within xs:nestedParticle group [def], within xs:particle group [def]
Annotation:
element <xs:element> (local)
Namespace:
Type:
Content:
complex, 11 attributes, attr. wildcard, 6 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally within xs:allModel group in XMLSchema.xsd; see XML source
Component Diagram

Included in content model of elements (2):
element <xs:enumeration> (global)
Namespace:
Type:
Content:
complex, 2 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 1 location
Component Diagram

Included in content model of elements (2):
Annotation
See:  http://www.w3.org/TR/xmlschema-2/#element-enumeration
element <xs:extension> (local)
Namespace:
Type:
Content:
complex, 2 attributes, attr. wildcard, 8 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally within xs:complexContent element in XMLSchema.xsd; see XML source
Component Diagram

Included in content model of elements (1):
element <xs:extension> (local)
Namespace:
Type:
Content:
complex, 2 attributes, attr. wildcard, 4 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally within xs:simpleContent element in XMLSchema.xsd; see XML source
Component Diagram

Included in content model of elements (1):
element <xs:field> (global)
Namespace:
Type:
anonymous complexType (extension of xs:annotated)
Content:
complex, 2 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definition of 1 attribute
Used:
at 1 location
Component Diagram

Included in content model of elements (3):
Annotation
See:  http://www.w3.org/TR/xmlschema-1/#element-field
element <xs:fractionDigits> (global)
Namespace:
Type:
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 1 location
Component Diagram

Included in content model of elements (2):
Annotation
See:  http://www.w3.org/TR/xmlschema-2/#element-fractionDigits
element <xs:group> (global)
Namespace:
Type:
Content:
complex, 2 attributes, attr. wildcard, 4 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 1 location
Component Diagram

Included in content model of elements (2):
Annotation
See:  http://www.w3.org/TR/xmlschema-1/#element-group
element <xs:group> (unified local)
Namespace:
Type:
Content:
complex, 4 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally at 3 locations in XMLSchema.xsd
Component Diagram

Included in content model of elements (8):
Annotations (1) (by all definition locations)
Locations (3):
within xs:typeDefParticle group [def], within xs:nestedParticle group [def], within xs:particle group [def]
Annotation:
element <xs:import> (global)
Namespace:
Type:
anonymous complexType (extension of xs:annotated)
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definitions of 2 attributes
Used:
at 1 location
Component Diagram

Included in content model of elements (1):
Annotation
See:  http://www.w3.org/TR/xmlschema-1/#element-import
element <xs:include> (global)
Namespace:
Type:
anonymous complexType (extension of xs:annotated)
Content:
complex, 2 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definition of 1 attribute
Used:
at 1 location
Component Diagram

Included in content model of elements (1):
Annotation
See:  http://www.w3.org/TR/xmlschema-1/#element-include
element <xs:key> (global)
Namespace:
Type:
Content:
complex, 2 attributes, attr. wildcard, 3 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 1 location
Component Diagram

Included in content model of elements (3):
Annotation
See:  http://www.w3.org/TR/xmlschema-1/#element-key
element <xs:keyref> (global)
Namespace:
Type:
anonymous complexType (extension of xs:keybase)
Content:
complex, 3 attributes, attr. wildcard, 3 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definition of 1 attribute
Used:
at 1 location
Component Diagram

Included in content model of elements (3):
Annotation
See:  http://www.w3.org/TR/xmlschema-1/#element-keyref
element <xs:length> (global)
Namespace:
Type:
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 1 location
Component Diagram

Included in content model of elements (2):
Annotation
See:  http://www.w3.org/TR/xmlschema-2/#element-length
element <xs:list> (global)
Namespace:
Type:
anonymous complexType (extension of xs:annotated)
Content:
complex, 2 attributes, attr. wildcard, 2 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definitions of 1 attribute, 1 element
Used:
at 1 location
Component Diagram

Included in content model of elements (2):
element <xs:maxExclusive> (global)
Namespace:
Type:
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 1 location
Component Diagram

Included in content model of elements (2):
Annotation
See:  http://www.w3.org/TR/xmlschema-2/#element-maxExclusive
element <xs:maxInclusive> (global)
Namespace:
Type:
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 1 location
Component Diagram

Included in content model of elements (2):
Annotation
See:  http://www.w3.org/TR/xmlschema-2/#element-maxInclusive
element <xs:maxLength> (global)
Namespace:
Type:
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 1 location
Component Diagram

Included in content model of elements (2):
Annotation
See:  http://www.w3.org/TR/xmlschema-2/#element-maxLength
element <xs:minExclusive> (global)
Namespace:
Type:
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 1 location
Component Diagram

Included in content model of elements (2):
Annotation
See:  http://www.w3.org/TR/xmlschema-2/#element-minExclusive
element <xs:minInclusive> (global)
Namespace:
Type:
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 1 location
Component Diagram

Included in content model of elements (2):
Annotation
See:  http://www.w3.org/TR/xmlschema-2/#element-minInclusive
element <xs:minLength> (global)
Namespace:
Type:
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 1 location
Component Diagram

Included in content model of elements (2):
Annotation
See:  http://www.w3.org/TR/xmlschema-2/#element-minLength
element <xs:notation> (global)
Namespace:
Type:
anonymous complexType (extension of xs:annotated)
Content:
complex, 4 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definitions of 3 attributes
Used:
at 1 location
Component Diagram

Included in content model of elements (1):
Annotation
See:  http://www.w3.org/TR/xmlschema-1/#element-notation
element <xs:pattern> (global)
Namespace:
Type:
anonymous complexType (restriction of xs:noFixedFacet)
Content:
complex, 2 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definitions of 1 attribute, attr. wildcard, 1 element
Used:
at 1 location
Component Diagram

Included in content model of elements (2):
Annotation
See:  http://www.w3.org/TR/xmlschema-2/#element-pattern
element <xs:redefine> (global)
Namespace:
Type:
anonymous complexType (extension of xs:openAttrs)
Content:
complex, 2 attributes, attr. wildcard, 5 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definitions of 2 attributes, 1 element
Used:
at 1 location
Component Diagram

Included in content model of elements (1):
Annotation
See:  http://www.w3.org/TR/xmlschema-1/#element-redefine
element <xs:restriction> (global)
Namespace:
Type:
anonymous complexType (extension of xs:annotated)
Content:
complex, 2 attributes, attr. wildcard, 14 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definition of 1 attribute
Used:
at 1 location
Component Diagram

Included in content model of elements (2):
element <xs:restriction> (local)
Namespace:
Type:
Content:
complex, 2 attributes, attr. wildcard, 8 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally within xs:complexContent element in XMLSchema.xsd; see XML source
Component Diagram

Included in content model of elements (1):
element <xs:restriction> (local)
Namespace:
Type:
Content:
complex, 2 attributes, attr. wildcard, 17 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally within xs:simpleContent element in XMLSchema.xsd; see XML source
Component Diagram

Included in content model of elements (1):
element <xs:selector> (global)
Namespace:
Type:
anonymous complexType (extension of xs:annotated)
Content:
complex, 2 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definition of 1 attribute
Used:
at 1 location
Component Diagram

Included in content model of elements (3):
Annotation
See:  http://www.w3.org/TR/xmlschema-1/#element-selector
element <xs:sequence> (global)
Namespace:
Type:
Content:
complex, 3 attributes, attr. wildcard, 6 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 4 locations
Component Diagram

Included in content model of elements (8):
Annotation
See:  http://www.w3.org/TR/xmlschema-1/#element-sequence
element <xs:sequence> (local)
Namespace:
Type:
Content:
complex, 1 attribute, attr. wildcard, 6 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally within xs:namedGroup complexType in XMLSchema.xsd; see XML source
Component Diagram

Included in content model of elements (1):
element <xs:simpleContent> (global)
Namespace:
Type:
anonymous complexType (extension of xs:annotated)
Content:
complex, 1 attribute, attr. wildcard, 3 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definitions of 2 elements
Used:
at 1 location
Component Diagram

Included in content model of elements (2):
Annotation
See:  http://www.w3.org/TR/xmlschema-1/#element-simpleContent
element <xs:simpleType> (global)
Namespace:
Type:
Content:
complex, 3 attributes, attr. wildcard, 4 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 1 location
Component Diagram

Included in content model of elements (2):
Annotation
See:  http://www.w3.org/TR/xmlschema-2/#element-simpleType
element <xs:simpleType> (unified local)
Namespace:
Type:
Content:
complex, 1 attribute, attr. wildcard, 4 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally at 9 locations in XMLSchema.xsd
Component Diagram

Included in content model of elements (9):
Annotations (1) (by all definition locations)
Locations (9):
within xs:attribute complexType [def], within xs:topLevelAttribute complexType [def], within xs:element complexType [def], within xs:topLevelElement complexType [def], within xs:localElement complexType [def], within xs:narrowMaxMin complexType [def], within xs:simpleRestrictionModel group [def], within xs:list element [def], within xs:union element [def]
Annotation:
element <xs:totalDigits> (global)
Namespace:
Type:
anonymous complexType (restriction of xs:numFacet)
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definitions of 1 attribute, attr. wildcard, 1 element
Used:
at 1 location
Component Diagram

Included in content model of elements (2):
Annotation
See:  http://www.w3.org/TR/xmlschema-2/#element-totalDigits
element <xs:union> (global)
Namespace:
Type:
anonymous complexType (extension of xs:annotated)
Content:
complex, 2 attributes, attr. wildcard, 2 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definitions of 1 attribute, 1 element
Used:
at 1 location
Component Diagram

Included in content model of elements (2):
element <xs:unique> (global)
Namespace:
Type:
Content:
complex, 2 attributes, attr. wildcard, 3 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Used:
at 1 location
Component Diagram

Included in content model of elements (3):
Annotation
See:  http://www.w3.org/TR/xmlschema-1/#element-unique
element <xs:whiteSpace> (global)
Namespace:
Type:
anonymous complexType (restriction of xs:facet)
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally in XMLSchema.xsd; see XML source
Includes:
definitions of 1 attribute, attr. wildcard, 1 element
Used:
at 1 location
Component Diagram

Included in content model of elements (2):
Annotation
See:  http://www.w3.org/TR/xmlschema-2/#element-whiteSpace
Namespace "http://www.w3.org/XML/1998/namespace"
Targeting Schemas (1):
Targeting Components:
attribute groups (1), global attributes (4)
Schema Summary
About the XML namespace This schema document describes the XML namespace, in a form suitable for import by other schema documents.
Target Namespace:
Defined Components:
attribute groups (1), global attributes (4)
Default Namespace-Qualified Form:
Local Elements: unqualified; Local Attributes: unqualified
Schema Location:
http://www.w3.org/2001/xml.xsd; see XML source
Imported by Schemas (1):
Global Attribute Summary
base (as an attribute name) denotes an attribute whose value provides a URI to be used as the base for interpreting any relative URIs in the scope of the element on which it appears; its value is inherited.
Type:
Defined:
globally in xml.xsd; see XML source
Used:
at 1 location
id (as an attribute name) denotes an attribute whose value should be interpreted as if declared to be of type ID.
Type:
Defined:
globally in xml.xsd; see XML source
Used:
at 1 location
lang (as an attribute name) denotes an attribute whose value is a language code for the natural language of the content of any element; its value is inherited.
Type:
anonymous simpleType (union of (xs:language | restriction of xs:string))
Defined:
globally in xml.xsd; see XML source
Used:
at 3 locations
space (as an attribute name) denotes an attribute whose value is a keyword indicating what whitespace processing discipline is intended for the content of the element; its value is inherited.
Type:
anonymous simpleType (restriction of xs:NCName)
Defined:
globally in xml.xsd; see XML source
Used:
at 1 location
attribute "xml:base" (global)
Namespace:
Type:
Defined:
globally in xml.xsd; see XML source
Used:
at 1 location

Attribute Value Detail:
WhiteSpace:
collapse
Annotation

base (as an attribute name)

denotes an attribute whose value provides a URI to be used as the base for interpreting any relative URIs in the scope of the element on which it appears; its value is inherited. This name is reserved by virtue of its definition in the XML Base specification.

See http://www.w3.org/TR/xmlbase/ for information about this attribute.

attribute "xml:id" (global)
Namespace:
Type:
Defined:
globally in xml.xsd; see XML source
Used:
at 1 location
Annotation

id (as an attribute name)

denotes an attribute whose value should be interpreted as if declared to be of type ID. This name is reserved by virtue of its definition in the xml:id specification.

See http://www.w3.org/TR/xml-id/ for information about this attribute.

attribute "xml:lang" (global)
Namespace:
Type:
anonymous simpleType (union of (xs:language | restriction of xs:string))
Defined:
globally in xml.xsd; see XML source
Used:
at 3 locations
Annotation

lang (as an attribute name)

denotes an attribute whose value is a language code for the natural language of the content of any element; its value is inherited. This name is reserved by virtue of its definition in the XML specification.

Notes

Attempting to install the relevant ISO 2- and 3-letter codes as the enumerated possible values is probably never going to be a realistic possibility.

See BCP 47 at http://www.rfc-editor.org/rfc/bcp/bcp47.txt and the IANA language subtag registry at http://www.iana.org/assignments/language-subtag-registry for further information.

The union allows for the 'un-declaration' of xml:lang with the empty string.

attribute "xml:space" (global)
Namespace:
Type:
anonymous simpleType (restriction of xs:NCName)
Defined:
globally in xml.xsd; see XML source
Used:
at 1 location

Attribute Value Detail:
Enumeration:
"default", "preserve"
Annotation

space (as an attribute name)

denotes an attribute whose value is a keyword indicating what whitespace processing discipline is intended for the content of the element; its value is inherited. This name is reserved by virtue of its definition in the XML specification.

XML Schema "xml.xsd"
Target Namespace:
Defined Components:
attribute groups (1), global attributes (4)
Default Namespace-Qualified Form:
Local Elements: unqualified; Local Attributes: unqualified
Schema Location:
http://www.w3.org/2001/xml.xsd; see XML source
Imported by Schemas (1):
Annotation

About the XML namespace

This schema document describes the XML namespace, in a form suitable for import by other schema documents.

See http://www.w3.org/XML/1998/namespace.html and http://www.w3.org/TR/REC-xml for information about this namespace.

Note that local names in this namespace are intended to be defined only by the World Wide Web Consortium or its subgroups. The names currently defined in this namespace are listed below. They should not be used with conflicting semantics by any Working Group, specification, or document instance.

See further below in this document for more information about how to refer to this schema document from your own XSD schema documents and about the namespace-versioning policy governing this schema document.

Father (in any context at all)

denotes Jon Bosak, the chair of the original XML Working Group. This name is reserved by the following decision of the W3C XML Plenary and XML Coordination groups:

In appreciation for his vision, leadership and dedication the W3C XML Plenary on this 10th day of February, 2000, reserves for Jon Bosak in perpetuity the XML name "xml:Father".

About this schema document

This schema defines attributes and an attribute group suitable for use by schemas wishing to allow xml:base, xml:lang, xml:space or xml:id attributes on elements they define.

To enable this, such a schema must import this schema for the XML namespace, e.g. as follows:

          <schema . . .>
           . . .
           <import namespace="http://www.w3.org/XML/1998/namespace"
                      schemaLocation="http://www.w3.org/2001/xml.xsd"/>
     

or

           <import namespace="http://www.w3.org/XML/1998/namespace"
                      schemaLocation="http://www.w3.org/2009/01/xml.xsd"/>
     

Subsequently, qualified reference to any of the attributes or the group defined below will have the desired effect, e.g.

          <type . . .>
           . . .
           <attributeGroup ref="xml:specialAttrs"/>
     

will define a type which will schema-validate an instance element with any of those attributes.

Versioning policy for this schema document

In keeping with the XML Schema WG's standard versioning policy, this schema document will persist at http://www.w3.org/2009/01/xml.xsd.

At the date of issue it can also be found at http://www.w3.org/2001/xml.xsd.

The schema document at that URI may however change in the future, in order to remain compatible with the latest version of XML Schema itself, or with the XML namespace itself. In other words, if the XML Schema or XML namespaces change, the version of this document at http://www.w3.org/2001/xml.xsd will change accordingly; the version at http://www.w3.org/2009/01/xml.xsd will not change.

Previous dated (and unchanging) versions of this schema document are at:

Global Attribute Summary
base (as an attribute name) denotes an attribute whose value provides a URI to be used as the base for interpreting any relative URIs in the scope of the element on which it appears; its value is inherited.
Type:
Defined:
globally; see XML source
Used:
at 1 location
id (as an attribute name) denotes an attribute whose value should be interpreted as if declared to be of type ID.
Type:
Defined:
globally; see XML source
Used:
at 1 location
lang (as an attribute name) denotes an attribute whose value is a language code for the natural language of the content of any element; its value is inherited.
Type:
anonymous simpleType (union of (xs:language | restriction of xs:string))
Defined:
globally; see XML source
Used:
at 3 locations
space (as an attribute name) denotes an attribute whose value is a keyword indicating what whitespace processing discipline is intended for the content of the element; its value is inherited.
Type:
anonymous simpleType (restriction of xs:NCName)
Defined:
globally; see XML source
Used:
at 1 location
XML Source
<?xml version="1.0"?>
<?xml-stylesheet href="../2008/09/xsd.xsl" type="text/xsl"?>
<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:annotation>
<xs:documentation>
<div>
<h1>About the XML namespace</h1>
<div class="bodytext">
<p>
This schema document describes the XML namespace, in a form
suitable for import by other schema documents.
</p>
<p>
See
<a href="http://www.w3.org/XML/1998/namespace.html">
http://www.w3.org/XML/1998/namespace.html
</a>
and
<a href="http://www.w3.org/TR/REC-xml">
http://www.w3.org/TR/REC-xml
</a>
for information
about this namespace.
</p>
<p>
Note that local names in this namespace are intended to be
defined only by the World Wide Web Consortium or its subgroups.
The names currently defined in this namespace are listed below.
They should not be used with conflicting semantics by any Working
Group, specification, or document instance.
</p>
<p>
See further below in this document for more information about
<a href="#usage">
how to refer to this schema document from your own
XSD schema documents
</a>
and about
<a href="#nsversioning">
the
namespace-versioning policy governing this schema document
</a>
.
</p>
</div>
</div>
</xs:documentation>
</xs:annotation>
<xs:attribute name="lang">
<xs:annotation>
<xs:documentation>
<div>
<h3>lang (as an attribute name)</h3>
<p>
denotes an attribute whose value
is a language code for the natural language of the content of
any element; its value is inherited. This name is reserved
by virtue of its definition in the XML specification.
</p>
</div>
<div>
<h4>Notes</h4>
<p>
Attempting to install the relevant ISO 2- and 3-letter
codes as the enumerated possible values is probably never
going to be a realistic possibility.
</p>
<p>
See BCP 47 at
<a href="http://www.rfc-editor.org/rfc/bcp/bcp47.txt">
http://www.rfc-editor.org/rfc/bcp/bcp47.txt
</a>
and the IANA language subtag registry at
<a href="http://www.iana.org/assignments/language-subtag-registry">
http://www.iana.org/assignments/language-subtag-registry
</a>
for further information.
</p>
<p>
The union allows for the 'un-declaration' of xml:lang with
the empty string.
</p>
</div>
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:union memberTypes="xs:language">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value=""/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="space">
<xs:annotation>
<xs:documentation>
<div>
<h3>space (as an attribute name)</h3>
<p>
denotes an attribute whose
value is a keyword indicating what whitespace processing
discipline is intended for the content of the element; its
value is inherited. This name is reserved by virtue of its
definition in the XML specification.
</p>
</div>
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NCName">
<xs:enumeration value="default"/>
<xs:enumeration value="preserve"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="base" type="xs:anyURI">
<xs:annotation>
<xs:documentation>
<div>
<h3>base (as an attribute name)</h3>
<p>
denotes an attribute whose value
provides a URI to be used as the base for interpreting any
relative URIs in the scope of the element on which it
appears; its value is inherited. This name is reserved
by virtue of its definition in the XML Base specification.
</p>
<p>
See
<a href="http://www.w3.org/TR/xmlbase/">http://www.w3.org/TR/xmlbase/</a>
for information about this attribute.
</p>
</div>
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="id" type="xs:ID">
<xs:annotation>
<xs:documentation>
<div>
<h3>id (as an attribute name)</h3>
<p>
denotes an attribute whose value
should be interpreted as if declared to be of type ID.
This name is reserved by virtue of its definition in the
xml:id specification.
</p>
<p>
See
<a href="http://www.w3.org/TR/xml-id/">http://www.w3.org/TR/xml-id/</a>
for information about this attribute.
</p>
</div>
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup name="specialAttrs">
<xs:attribute ref="xml:base"/>
<xs:attribute ref="xml:lang"/>
<xs:attribute ref="xml:space"/>
<xs:attribute ref="xml:id"/>
</xs:attributeGroup>
<xs:annotation>
<xs:documentation>
<div>
<h3>Father (in any context at all)</h3>
<div class="bodytext">
<p>
denotes Jon Bosak, the chair of
the original XML Working Group. This name is reserved by
the following decision of the W3C XML Plenary and
XML Coordination groups:
</p>
<blockquote>
<p>
In appreciation for his vision, leadership and
dedication the W3C XML Plenary on this 10th day of
February, 2000, reserves for Jon Bosak in perpetuity
the XML name "xml:Father".
</p>
</blockquote>
</div>
</div>
</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>
<div id="usage" xml:id="usage">
<h2>
<a name="usage">About this schema document</a>
</h2>
<div class="bodytext">
<p>
This schema defines attributes and an attribute group suitable
for use by schemas wishing to allow
<code>xml:base</code>
,
<code>xml:lang</code>
,
<code>xml:space</code>
or
<code>xml:id</code>
attributes on elements they define.
</p>
<p>
To enable this, such a schema must import this schema for
the XML namespace, e.g. as follows:
</p>
<pre>
&lt;schema . . .&gt;
. . .
&lt;import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="http://www.w3.org/2001/xml.xsd"/&gt;
</pre>
<p>
or
</p>
<pre>
&lt;import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="http://www.w3.org/2009/01/xml.xsd"/&gt;
</pre>
<p>
Subsequently, qualified reference to any of the attributes or the
group defined below will have the desired effect, e.g.
</p>
<pre>
&lt;type . . .&gt;
. . .
&lt;attributeGroup ref="xml:specialAttrs"/&gt;
</pre>
<p>
will define a type which will schema-validate an instance element
with any of those attributes.
</p>
</div>
</div>
</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>
<div id="nsversioning" xml:id="nsversioning">
<h2>
<a name="nsversioning">Versioning policy for this schema document</a>
</h2>
<div class="bodytext">
<p>
In keeping with the XML Schema WG's standard versioning
policy, this schema document will persist at
<a href="http://www.w3.org/2009/01/xml.xsd">
http://www.w3.org/2009/01/xml.xsd
</a>
.
</p>
<p>
At the date of issue it can also be found at
<a href="http://www.w3.org/2001/xml.xsd">
http://www.w3.org/2001/xml.xsd
</a>
.
</p>
<p>
The schema document at that URI may however change in the future,
in order to remain compatible with the latest version of XML
Schema itself, or with the XML namespace itself. In other words,
if the XML Schema or XML namespaces change, the version of this
document at
<a href="http://www.w3.org/2001/xml.xsd">
http://www.w3.org/2001/xml.xsd
</a>
will change accordingly; the version at
<a href="http://www.w3.org/2009/01/xml.xsd">
http://www.w3.org/2009/01/xml.xsd
</a>
will not change.
</p>
<p>
Previous dated (and unchanging) versions of this schema
document are at:
</p>
<ul>
<li>
<a href="http://www.w3.org/2009/01/xml.xsd">
http://www.w3.org/2009/01/xml.xsd
</a>
</li>
<li>
<a href="http://www.w3.org/2007/08/xml.xsd">
http://www.w3.org/2007/08/xml.xsd
</a>
</li>
<li>
<a href="http://www.w3.org/2004/10/xml.xsd">
http://www.w3.org/2004/10/xml.xsd
</a>
</li>
<li>
<a href="http://www.w3.org/2001/03/xml.xsd">
http://www.w3.org/2001/03/xml.xsd
</a>
</li>
</ul>
</div>
</div>
</xs:documentation>
</xs:annotation>
</xs:schema>
XML Schema "XMLSchema.xsd"
Target Namespace:
Version:
1.0
Defined Components:
elements (top-level / other; 41 global + 28 local), complexTypes (35), simpleTypes (55), element groups (12), attribute groups (2)
Default Namespace-Qualified Form:
Local Elements: qualified; Local Attributes: unqualified
Default Block Attribute:
"#all" (blocks all substitutions of elements and their types both through substitution groups and xsi:type attribute in instance XML documents)
Schema Location:
http://www.w3.org/2001/XMLSchema.xsd; see XML source
Imports Schemas (1):
Annotation
Annotation 1 [src]:
Part 1 version: Id: structures.xsd,v 1.2 2004/01/15 11:34:25 ht Exp
Part 2 version: Id: datatypes.xsd,v 1.3 2004/01/23 18:11:13 ht Exp
Annotation 2 [src]:
The schema corresponding to this document is normative,
with respect to the syntactic constraints it expresses in the
XML Schema language. The documentation (within <documentation> elements)
below, is not normative, but rather highlights important aspects of
the W3C Recommendation of which this is a part
See:  http://www.w3.org/TR/2004/PER-xmlschema-1-20040318/structures.html
Annotation 3 [src]:
The simpleType element and all of its members are defined
towards the end of this schema document
Annotation 4 [src]:
simple type for the value of the 'namespace' attr of
'any' and 'anyAttribute'
Annotation 5 [src]:
Value is
##any - - any non-conflicting WFXML/attribute at all

##other - - any non-conflicting WFXML/attribute from
namespace other than targetNS

##local - - any unqualified non-conflicting WFXML/attribute

one or - - any non-conflicting WFXML/attribute from
more URI the listed namespaces
references
(space separated)

##targetNamespace or ##local may appear in the above list, to
refer to the targetNamespace of the enclosing
schema or an absent targetNamespace respectively
Annotation 6 [src]:
notations for use within XML Schema schemas
Annotation 7 [src]:
First the built-in primitive datatypes. These definitions are for
information only, the real built-in definitions are magic.
Annotation 8 [src]:
For each built-in datatype in this schema (both primitive and
derived) can be uniquely addressed via a URI constructed
as follows:
1) the base URI is the URI of the XML Schema namespace
2) the fragment identifier is the name of the datatype

For example, to address the int datatype, the URI is:

http://www.w3.org/2001/XMLSchema#int

Additionally, each facet definition element can be uniquely
addressed via a URI constructed as follows:
1) the base URI is the URI of the XML Schema namespace
2) the fragment identifier is the name of the facet

For example, to address the maxInclusive facet, the URI is:

http://www.w3.org/2001/XMLSchema#maxInclusive

Additionally, each facet usage in a built-in datatype definition
can be uniquely addressed via a URI constructed as follows:
1) the base URI is the URI of the XML Schema namespace
2) the fragment identifier is the name of the datatype, followed
by a period (".") followed by the name of the facet

For example, to address the usage of the maxInclusive facet in
the definition of int, the URI is:

http://www.w3.org/2001/XMLSchema#int.maxInclusive
Annotation 9 [src]:
Now the derived primitive types
Top-Level Element Summary (root element candidates)
Type:
anonymous complexType (extension of xs:openAttrs)
Content:
complex, 8 attributes, attr. wildcard, 12 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Includes:
definitions of 8 attributes, 5 elements
Used:
never
All Other Element Summary (local elements unified by type)
Type:
Content:
complex, 3 attributes, attr. wildcard, 2 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Used:
at 3 locations
Type:
anonymous complexType (restriction of xs:all)
Content:
complex, 1 attribute, attr. wildcard, 2 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally within xs:namedGroup complexType; see XML source
Includes:
definition of attr. wildcard; 2 attr. prohibitions
Type:
anonymous complexType (extension of xs:openAttrs)
Content:
complex, 1 attribute, attr. wildcard, 2 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Includes:
definitions of 1 attribute, 2 elements
Used:
at 28 locations
Type:
anonymous complexType (extension of xs:wildcard)
Content:
complex, 5 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Used:
at 2 locations
Type:
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Used:
at 1 location
Type:
anonymous complexType
Content:
mixed (allows character data), 1 attribute, attr. wildcard, elem. wildcard
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Includes:
definitions of 1 attribute, attr. wildcard, elem. wildcard
Used:
at 1 location
Type:
Content:
complex, 5 attributes, attr. wildcard, 2 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Used:
at 1 location
Type:
Content:
complex, 8 attributes, attr. wildcard, 2 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally within xs:attrDecls group; see XML source
Type:
Content:
complex, 2 attributes, attr. wildcard, 4 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Used:
at 1 location
Type:
Content:
complex, 2 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally within xs:attrDecls group; see XML source
Type:
Content:
complex, 3 attributes, attr. wildcard, 6 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Used:
at 4 locations
Type:
Content:
complex, 1 attribute, attr. wildcard, 6 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally within xs:namedGroup complexType; see XML source
Type:
anonymous complexType (extension of xs:annotated)
Content:
complex, 2 attributes, attr. wildcard, 3 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Includes:
definitions of 1 attribute, 2 elements
Used:
at 1 location
Type:
Content:
complex, 6 attributes, attr. wildcard, 10 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Used:
at 1 location
Type:
Content:
complex, 2 attributes, attr. wildcard, 10 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally at 4 locations
Type:
anonymous complexType
Content:
mixed (allows character data), 2 attributes, attr. wildcard, elem. wildcard
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Includes:
definitions of 2 attributes, attr. wildcard, elem. wildcard
Used:
at 1 location
Type:
Content:
complex, 10 attributes, attr. wildcard, 6 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Used:
at 1 location
Type:
Content:
complex, 11 attributes, attr. wildcard, 6 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally at 2 locations
Type:
Content:
complex, 11 attributes, attr. wildcard, 6 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally within xs:allModel group; see XML source
Type:
Content:
complex, 2 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Used:
at 1 location
Type:
Content:
complex, 2 attributes, attr. wildcard, 8 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally within xs:complexContent element; see XML source
Type:
Content:
complex, 2 attributes, attr. wildcard, 4 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally within xs:simpleContent element; see XML source
Type:
anonymous complexType (extension of xs:annotated)
Content:
complex, 2 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Includes:
definition of 1 attribute
Used:
at 1 location
Type:
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Used:
at 1 location
Type:
Content:
complex, 2 attributes, attr. wildcard, 4 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Used:
at 1 location
Type:
Content:
complex, 4 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally at 3 locations
Type:
anonymous complexType (extension of xs:annotated)
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Includes:
definitions of 2 attributes
Used:
at 1 location
Type:
anonymous complexType (extension of xs:annotated)
Content:
complex, 2 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Includes:
definition of 1 attribute
Used:
at 1 location
Type:
Content:
complex, 2 attributes, attr. wildcard, 3 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Used:
at 1 location
Type:
anonymous complexType (extension of xs:keybase)
Content:
complex, 3 attributes, attr. wildcard, 3 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Includes:
definition of 1 attribute
Used:
at 1 location
Type:
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Used:
at 1 location
Type:
anonymous complexType (extension of xs:annotated)
Content:
complex, 2 attributes, attr. wildcard, 2 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Includes:
definitions of 1 attribute, 1 element
Used:
at 1 location
Type:
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Used:
at 1 location
Type:
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Used:
at 1 location
Type:
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Used:
at 1 location
Type:
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Used:
at 1 location
Type:
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Used:
at 1 location
Type:
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Used:
at 1 location
Type:
anonymous complexType (extension of xs:annotated)
Content:
complex, 4 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Includes:
definitions of 3 attributes
Used:
at 1 location
Type:
anonymous complexType (restriction of xs:noFixedFacet)
Content:
complex, 2 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Includes:
definitions of 1 attribute, attr. wildcard, 1 element
Used:
at 1 location
Type:
anonymous complexType (extension of xs:openAttrs)
Content:
complex, 2 attributes, attr. wildcard, 5 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Includes:
definitions of 2 attributes, 1 element
Used:
at 1 location
Type:
anonymous complexType (extension of xs:annotated)
Content:
complex, 2 attributes, attr. wildcard, 14 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Includes:
definition of 1 attribute
Used:
at 1 location
Type:
Content:
complex, 2 attributes, attr. wildcard, 8 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally within xs:complexContent element; see XML source
Type:
Content:
complex, 2 attributes, attr. wildcard, 17 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally within xs:simpleContent element; see XML source
Type:
anonymous complexType (extension of xs:annotated)
Content:
complex, 2 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Includes:
definition of 1 attribute
Used:
at 1 location
Type:
Content:
complex, 3 attributes, attr. wildcard, 6 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Used:
at 4 locations
Type:
Content:
complex, 1 attribute, attr. wildcard, 6 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally within xs:namedGroup complexType; see XML source
Type:
anonymous complexType (extension of xs:annotated)
Content:
complex, 1 attribute, attr. wildcard, 3 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Includes:
definitions of 2 elements
Used:
at 1 location
Type:
Content:
complex, 3 attributes, attr. wildcard, 4 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Used:
at 1 location
Type:
Content:
complex, 1 attribute, attr. wildcard, 4 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally at 9 locations
Type:
anonymous complexType (restriction of xs:numFacet)
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Includes:
definitions of 1 attribute, attr. wildcard, 1 element
Used:
at 1 location
Type:
anonymous complexType (extension of xs:annotated)
Content:
complex, 2 attributes, attr. wildcard, 2 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Includes:
definitions of 1 attribute, 1 element
Used:
at 1 location
Type:
Content:
complex, 2 attributes, attr. wildcard, 3 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Used:
at 1 location
Type:
anonymous complexType (restriction of xs:facet)
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
globally; see XML source
Includes:
definitions of 1 attribute, attr. wildcard, 1 element
Used:
at 1 location
XML Source
<?xml version="1.0" encoding="UTF-8"?>
<!-- XML Schema schema for XML Schemas: Part 1: Structures -->
<!-- Note this schema is NOT the normative structures schema. -->
<!-- The prose copy in the structures REC is the normative -->
<!-- version (which shouldn't differ from this one except for -->
<!-- this comment and entity expansions, but just in case -->
<!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "XMLSchema.dtd" [
<!-- provide ID type information even for parsers which only read the
internal subset
-->
<!ATTLIST xs:schema id ID #IMPLIED>
<!ATTLIST xs:complexType id ID #IMPLIED>
<!ATTLIST xs:complexContent id ID #IMPLIED>
<!ATTLIST xs:simpleContent id ID #IMPLIED>
<!ATTLIST xs:extension id ID #IMPLIED>
<!ATTLIST xs:element id ID #IMPLIED>
<!ATTLIST xs:group id ID #IMPLIED>
<!ATTLIST xs:all id ID #IMPLIED>
<!ATTLIST xs:choice id ID #IMPLIED>
<!ATTLIST xs:sequence id ID #IMPLIED>
<!ATTLIST xs:any id ID #IMPLIED>
<!ATTLIST xs:anyAttribute id ID #IMPLIED>
<!ATTLIST xs:attribute id ID #IMPLIED>
<!ATTLIST xs:attributeGroup id ID #IMPLIED>
<!ATTLIST xs:unique id ID #IMPLIED>
<!ATTLIST xs:key id ID #IMPLIED>
<!ATTLIST xs:keyref id ID #IMPLIED>
<!ATTLIST xs:selector id ID #IMPLIED>
<!ATTLIST xs:field id ID #IMPLIED>
<!ATTLIST xs:include id ID #IMPLIED>
<!ATTLIST xs:import id ID #IMPLIED>
<!ATTLIST xs:redefine id ID #IMPLIED>
<!ATTLIST xs:notation id ID #IMPLIED>
<!--
keep this schema XML1.0 DTD valid
-->
<!ENTITY % schemaAttrs 'xmlns:hfp CDATA #IMPLIED'>
<!ELEMENT hfp:hasFacet EMPTY>
<!ATTLIST hfp:hasFacet name NMTOKEN #REQUIRED>
<!ELEMENT hfp:hasProperty EMPTY>
<!ATTLIST hfp:hasProperty name NMTOKEN #REQUIRED>
<!ATTLIST hfp:hasProperty value CDATA #REQUIRED>
<!--
Make sure that processors that do not read the external
subset will know about the various IDs we declare
-->
<!ATTLIST xs:simpleType id ID #IMPLIED>
<!ATTLIST xs:maxExclusive id ID #IMPLIED>
<!ATTLIST xs:minExclusive id ID #IMPLIED>
<!ATTLIST xs:maxInclusive id ID #IMPLIED>
<!ATTLIST xs:minInclusive id ID #IMPLIED>
<!ATTLIST xs:totalDigits id ID #IMPLIED>
<!ATTLIST xs:fractionDigits id ID #IMPLIED>
<!ATTLIST xs:length id ID #IMPLIED>
<!ATTLIST xs:minLength id ID #IMPLIED>
<!ATTLIST xs:maxLength id ID #IMPLIED>
<!ATTLIST xs:enumeration id ID #IMPLIED>
<!ATTLIST xs:pattern id ID #IMPLIED>
<!ATTLIST xs:appinfo id ID #IMPLIED>
<!ATTLIST xs:documentation id ID #IMPLIED>
<!ATTLIST xs:list id ID #IMPLIED>
<!ATTLIST xs:union id ID #IMPLIED>
]>
<xs:schema blockDefault="#all" elementFormDefault="qualified" targetNamespace="http://www.w3.org/2001/XMLSchema" version="1.0" xml:lang="EN" xmlns:hfp="http://www.w3.org/2001/XMLSchema-hasFacetAndProperty" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:annotation>
<xs:documentation>
Part 1 version: Id: structures.xsd,v 1.2 2004/01/15 11:34:25 ht Exp
Part 2 version: Id: datatypes.xsd,v 1.3 2004/01/23 18:11:13 ht Exp
</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/2004/PER-xmlschema-1-20040318/structures.html">
The schema corresponding to this document is normative,
with respect to the syntactic constraints it expresses in the
XML Schema language. The documentation (within &lt;documentation&gt; elements)
below, is not normative, but rather highlights important aspects of
the W3C Recommendation of which this is a part
</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>
The simpleType element and all of its members are defined
towards the end of this schema document
</xs:documentation>
</xs:annotation>
<xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd">
<xs:annotation>
<xs:documentation>
Get access to the xml: attribute groups for xml:lang
as declared on 'schema' and 'documentation' below
</xs:documentation>
</xs:annotation>
</xs:import>
<xs:complexType name="openAttrs">
<xs:annotation>
<xs:documentation>
This type is extended by almost all schema types
to allow attributes from other namespaces to be
added to user schemas.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:restriction base="xs:anyType">
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="annotated">
<xs:annotation>
<xs:documentation>
This type is extended by all types which allow annotation
other than &lt;schema&gt; itself
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="xs:openAttrs">
<xs:sequence>
<xs:element minOccurs="0" ref="xs:annotation"/>
</xs:sequence>
<xs:attribute name="id" type="xs:ID"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:group name="schemaTop">
<xs:annotation>
<xs:documentation>
This group is for the
elements which occur freely at the top level of schemas.
All of their types are based on the "annotated" type by extension.
</xs:documentation>
</xs:annotation>
<xs:choice>
<xs:group ref="xs:redefinable"/>
<xs:element ref="xs:element"/>
<xs:element ref="xs:attribute"/>
<xs:element ref="xs:notation"/>
</xs:choice>
</xs:group>
<xs:group name="redefinable">
<xs:annotation>
<xs:documentation>
This group is for the
elements which can self-redefine (see &lt;redefine&gt; below).
</xs:documentation>
</xs:annotation>
<xs:choice>
<xs:element ref="xs:simpleType"/>
<xs:element ref="xs:complexType"/>
<xs:element ref="xs:group"/>
<xs:element ref="xs:attributeGroup"/>
</xs:choice>
</xs:group>
<xs:simpleType name="formChoice">
<xs:annotation>
<xs:documentation>
A utility type, not for public use
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="qualified"/>
<xs:enumeration value="unqualified"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="reducedDerivationControl">
<xs:annotation>
<xs:documentation>
A utility type, not for public use
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:derivationControl">
<xs:enumeration value="extension"/>
<xs:enumeration value="restriction"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="derivationSet">
<xs:annotation>
<xs:documentation>
A utility type, not for public use
</xs:documentation>
<xs:documentation>
#all or (possibly empty) subset of {extension, restriction}
</xs:documentation>
</xs:annotation>
<xs:union>
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="#all"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:list itemType="xs:reducedDerivationControl"/>
</xs:simpleType>
</xs:union>
</xs:simpleType>
<xs:simpleType name="typeDerivationControl">
<xs:annotation>
<xs:documentation>
A utility type, not for public use
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:derivationControl">
<xs:enumeration value="extension"/>
<xs:enumeration value="restriction"/>
<xs:enumeration value="list"/>
<xs:enumeration value="union"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="fullDerivationSet">
<xs:annotation>
<xs:documentation>
A utility type, not for public use
</xs:documentation>
<xs:documentation>
#all or (possibly empty) subset of {extension, restriction, list, union}
</xs:documentation>
</xs:annotation>
<xs:union>
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="#all"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:list itemType="xs:typeDerivationControl"/>
</xs:simpleType>
</xs:union>
</xs:simpleType>
<xs:element id="schema" name="schema">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-schema"/>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="xs:openAttrs">
<xs:sequence>
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element ref="xs:include"/>
<xs:element ref="xs:import"/>
<xs:element ref="xs:redefine"/>
<xs:element ref="xs:annotation"/>
</xs:choice>
<xs:sequence maxOccurs="unbounded" minOccurs="0">
<xs:group ref="xs:schemaTop"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="xs:annotation"/>
</xs:sequence>
</xs:sequence>
<xs:attribute name="targetNamespace" type="xs:anyURI"/>
<xs:attribute name="version" type="xs:token"/>
<xs:attribute default="" name="finalDefault" type="xs:fullDerivationSet" use="optional"/>
<xs:attribute default="" name="blockDefault" type="xs:blockSet" use="optional"/>
<xs:attribute default="unqualified" name="attributeFormDefault" type="xs:formChoice" use="optional"/>
<xs:attribute default="unqualified" name="elementFormDefault" type="xs:formChoice" use="optional"/>
<xs:attribute name="id" type="xs:ID"/>
<xs:attribute ref="xml:lang"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:key name="element">
<xs:selector xpath="xs:element"/>
<xs:field xpath="@name"/>
</xs:key>
<xs:key name="attribute">
<xs:selector xpath="xs:attribute"/>
<xs:field xpath="@name"/>
</xs:key>
<xs:key name="type">
<xs:selector xpath="xs:complexType|xs:simpleType"/>
<xs:field xpath="@name"/>
</xs:key>
<xs:key name="group">
<xs:selector xpath="xs:group"/>
<xs:field xpath="@name"/>
</xs:key>
<xs:key name="attributeGroup">
<xs:selector xpath="xs:attributeGroup"/>
<xs:field xpath="@name"/>
</xs:key>
<xs:key name="notation">
<xs:selector xpath="xs:notation"/>
<xs:field xpath="@name"/>
</xs:key>
<xs:key name="identityConstraint">
<xs:selector xpath=".//xs:key|.//xs:unique|.//xs:keyref"/>
<xs:field xpath="@name"/>
</xs:key>
</xs:element>
<xs:simpleType name="allNNI">
<xs:annotation>
<xs:documentation>
for maxOccurs
</xs:documentation>
</xs:annotation>
<xs:union memberTypes="xs:nonNegativeInteger">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="unbounded"/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
<xs:attributeGroup name="occurs">
<xs:annotation>
<xs:documentation>
for all particles
</xs:documentation>
</xs:annotation>
<xs:attribute default="1" name="minOccurs" type="xs:nonNegativeInteger" use="optional"/>
<xs:attribute default="1" name="maxOccurs" type="xs:allNNI" use="optional"/>
</xs:attributeGroup>
<xs:attributeGroup name="defRef">
<xs:annotation>
<xs:documentation>
for element, group and attributeGroup,
which both define and reference
</xs:documentation>
</xs:annotation>
<xs:attribute name="name" type="xs:NCName"/>
<xs:attribute name="ref" type="xs:QName"/>
</xs:attributeGroup>
<xs:group name="typeDefParticle">
<xs:annotation>
<xs:documentation>
'complexType' uses this
</xs:documentation>
</xs:annotation>
<xs:choice>
<xs:element name="group" type="xs:groupRef"/>
<xs:element ref="xs:all"/>
<xs:element ref="xs:choice"/>
<xs:element ref="xs:sequence"/>
</xs:choice>
</xs:group>
<xs:group name="nestedParticle">
<xs:choice>
<xs:element name="element" type="xs:localElement"/>
<xs:element name="group" type="xs:groupRef"/>
<xs:element ref="xs:choice"/>
<xs:element ref="xs:sequence"/>
<xs:element ref="xs:any"/>
</xs:choice>
</xs:group>
<xs:group name="particle">
<xs:choice>
<xs:element name="element" type="xs:localElement"/>
<xs:element name="group" type="xs:groupRef"/>
<xs:element ref="xs:all"/>
<xs:element ref="xs:choice"/>
<xs:element ref="xs:sequence"/>
<xs:element ref="xs:any"/>
</xs:choice>
</xs:group>
<xs:complexType name="attribute">
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:sequence>
<xs:element minOccurs="0" name="simpleType" type="xs:localSimpleType"/>
</xs:sequence>
<xs:attributeGroup ref="xs:defRef"/>
<xs:attribute name="type" type="xs:QName"/>
<xs:attribute default="optional" name="use" use="optional">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="prohibited"/>
<xs:enumeration value="optional"/>
<xs:enumeration value="required"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="default" type="xs:string"/>
<xs:attribute name="fixed" type="xs:string"/>
<xs:attribute name="form" type="xs:formChoice"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="topLevelAttribute">
<xs:complexContent>
<xs:restriction base="xs:attribute">
<xs:sequence>
<xs:element minOccurs="0" ref="xs:annotation"/>
<xs:element minOccurs="0" name="simpleType" type="xs:localSimpleType"/>
</xs:sequence>
<xs:attribute name="ref" use="prohibited"/>
<xs:attribute name="form" use="prohibited"/>
<xs:attribute name="use" use="prohibited"/>
<xs:attribute name="name" type="xs:NCName" use="required"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
<xs:group name="attrDecls">
<xs:sequence>
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element name="attribute" type="xs:attribute"/>
<xs:element name="attributeGroup" type="xs:attributeGroupRef"/>
</xs:choice>
<xs:element minOccurs="0" ref="xs:anyAttribute"/>
</xs:sequence>
</xs:group>
<xs:element id="anyAttribute" name="anyAttribute" type="xs:wildcard">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-anyAttribute"/>
</xs:annotation>
</xs:element>
<xs:group name="complexTypeModel">
<xs:choice>
<xs:element ref="xs:simpleContent"/>
<xs:element ref="xs:complexContent"/>
<xs:sequence>
<xs:annotation>
<xs:documentation>
This branch is short for
&lt;complexContent&gt;
&lt;restriction base="xs:anyType"&gt;
...
&lt;/restriction&gt;
&lt;/complexContent&gt;
</xs:documentation>
</xs:annotation>
<xs:group minOccurs="0" ref="xs:typeDefParticle"/>
<xs:group ref="xs:attrDecls"/>
</xs:sequence>
</xs:choice>
</xs:group>
<xs:complexType abstract="true" name="complexType">
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:group ref="xs:complexTypeModel"/>
<xs:attribute name="name" type="xs:NCName">
<xs:annotation>
<xs:documentation>
Will be restricted to required or forbidden
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute default="false" name="mixed" type="xs:boolean" use="optional">
<xs:annotation>
<xs:documentation>
Not allowed if simpleContent child is chosen.
May be overriden by setting on complexContent child.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute default="false" name="abstract" type="xs:boolean" use="optional"/>
<xs:attribute name="final" type="xs:derivationSet"/>
<xs:attribute name="block" type="xs:derivationSet"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="topLevelComplexType">
<xs:complexContent>
<xs:restriction base="xs:complexType">
<xs:sequence>
<xs:element minOccurs="0" ref="xs:annotation"/>
<xs:group ref="xs:complexTypeModel"/>
</xs:sequence>
<xs:attribute name="name" type="xs:NCName" use="required"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="localComplexType">
<xs:complexContent>
<xs:restriction base="xs:complexType">
<xs:sequence>
<xs:element minOccurs="0" ref="xs:annotation"/>
<xs:group ref="xs:complexTypeModel"/>
</xs:sequence>
<xs:attribute name="name" use="prohibited"/>
<xs:attribute name="abstract" use="prohibited"/>
<xs:attribute name="final" use="prohibited"/>
<xs:attribute name="block" use="prohibited"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="restrictionType">
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:sequence>
<xs:choice minOccurs="0">
<xs:group ref="xs:typeDefParticle"/>
<xs:group ref="xs:simpleRestrictionModel"/>
</xs:choice>
<xs:group ref="xs:attrDecls"/>
</xs:sequence>
<xs:attribute name="base" type="xs:QName" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="complexRestrictionType">
<xs:complexContent>
<xs:restriction base="xs:restrictionType">
<xs:sequence>
<xs:element minOccurs="0" ref="xs:annotation"/>
<xs:choice minOccurs="0">
<xs:annotation>
<xs:documentation>
This choice is added simply to
make this a valid restriction per the REC
</xs:documentation>
</xs:annotation>
<xs:group ref="xs:typeDefParticle"/>
</xs:choice>
<xs:group ref="xs:attrDecls"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="extensionType">
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:sequence>
<xs:group minOccurs="0" ref="xs:typeDefParticle"/>
<xs:group ref="xs:attrDecls"/>
</xs:sequence>
<xs:attribute name="base" type="xs:QName" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element id="complexContent" name="complexContent">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-complexContent"/>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:choice>
<xs:element name="restriction" type="xs:complexRestrictionType"/>
<xs:element name="extension" type="xs:extensionType"/>
</xs:choice>
<xs:attribute name="mixed" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Overrides any setting on complexType parent.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:complexType name="simpleRestrictionType">
<xs:complexContent>
<xs:restriction base="xs:restrictionType">
<xs:sequence>
<xs:element minOccurs="0" ref="xs:annotation"/>
<xs:choice minOccurs="0">
<xs:annotation>
<xs:documentation>
This choice is added simply to
make this a valid restriction per the REC
</xs:documentation>
</xs:annotation>
<xs:group ref="xs:simpleRestrictionModel"/>
</xs:choice>
<xs:group ref="xs:attrDecls"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="simpleExtensionType">
<xs:complexContent>
<xs:restriction base="xs:extensionType">
<xs:sequence>
<xs:annotation>
<xs:documentation>
No typeDefParticle group reference
</xs:documentation>
</xs:annotation>
<xs:element minOccurs="0" ref="xs:annotation"/>
<xs:group ref="xs:attrDecls"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
<xs:element id="simpleContent" name="simpleContent">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-simpleContent"/>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:choice>
<xs:element name="restriction" type="xs:simpleRestrictionType"/>
<xs:element name="extension" type="xs:simpleExtensionType"/>
</xs:choice>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element id="complexType" name="complexType" type="xs:topLevelComplexType">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-complexType"/>
</xs:annotation>
</xs:element>
<xs:simpleType name="blockSet">
<xs:annotation>
<xs:documentation>
A utility type, not for public use
</xs:documentation>
<xs:documentation>
#all or (possibly empty) subset of {substitution, extension,
restriction}
</xs:documentation>
</xs:annotation>
<xs:union>
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="#all"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:list>
<xs:simpleType>
<xs:restriction base="xs:derivationControl">
<xs:enumeration value="extension"/>
<xs:enumeration value="restriction"/>
<xs:enumeration value="substitution"/>
</xs:restriction>
</xs:simpleType>
</xs:list>
</xs:simpleType>
</xs:union>
</xs:simpleType>
<xs:complexType abstract="true" name="element">
<xs:annotation>
<xs:documentation>
The element element can be used either
at the top level to define an element-type binding globally,
or within a content model to either reference a globally-defined
element or type or declare an element-type binding locally.
The ref form is not allowed at the top level.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:sequence>
<xs:choice minOccurs="0">
<xs:element name="simpleType" type="xs:localSimpleType"/>
<xs:element name="complexType" type="xs:localComplexType"/>
</xs:choice>
<xs:group maxOccurs="unbounded" minOccurs="0" ref="xs:identityConstraint"/>
</xs:sequence>
<xs:attributeGroup ref="xs:defRef"/>
<xs:attribute name="type" type="xs:QName"/>
<xs:attribute name="substitutionGroup" type="xs:QName"/>
<xs:attributeGroup ref="xs:occurs"/>
<xs:attribute name="default" type="xs:string"/>
<xs:attribute name="fixed" type="xs:string"/>
<xs:attribute default="false" name="nillable" type="xs:boolean" use="optional"/>
<xs:attribute default="false" name="abstract" type="xs:boolean" use="optional"/>
<xs:attribute name="final" type="xs:derivationSet"/>
<xs:attribute name="block" type="xs:blockSet"/>
<xs:attribute name="form" type="xs:formChoice"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="topLevelElement">
<xs:complexContent>
<xs:restriction base="xs:element">
<xs:sequence>
<xs:element minOccurs="0" ref="xs:annotation"/>
<xs:choice minOccurs="0">
<xs:element name="simpleType" type="xs:localSimpleType"/>
<xs:element name="complexType" type="xs:localComplexType"/>
</xs:choice>
<xs:group maxOccurs="unbounded" minOccurs="0" ref="xs:identityConstraint"/>
</xs:sequence>
<xs:attribute name="ref" use="prohibited"/>
<xs:attribute name="form" use="prohibited"/>
<xs:attribute name="minOccurs" use="prohibited"/>
<xs:attribute name="maxOccurs" use="prohibited"/>
<xs:attribute name="name" type="xs:NCName" use="required"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="localElement">
<xs:complexContent>
<xs:restriction base="xs:element">
<xs:sequence>
<xs:element minOccurs="0" ref="xs:annotation"/>
<xs:choice minOccurs="0">
<xs:element name="simpleType" type="xs:localSimpleType"/>
<xs:element name="complexType" type="xs:localComplexType"/>
</xs:choice>
<xs:group maxOccurs="unbounded" minOccurs="0" ref="xs:identityConstraint"/>
</xs:sequence>
<xs:attribute name="substitutionGroup" use="prohibited"/>
<xs:attribute name="final" use="prohibited"/>
<xs:attribute name="abstract" use="prohibited"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
<xs:element id="element" name="element" type="xs:topLevelElement">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-element"/>
</xs:annotation>
</xs:element>
<xs:complexType abstract="true" name="group">
<xs:annotation>
<xs:documentation>
group type for explicit groups, named top-level groups and
group references
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:group maxOccurs="unbounded" minOccurs="0" ref="xs:particle"/>
<xs:attributeGroup ref="xs:defRef"/>
<xs:attributeGroup ref="xs:occurs"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="realGroup">
<xs:complexContent>
<xs:restriction base="xs:group">
<xs:sequence>
<xs:element minOccurs="0" ref="xs:annotation"/>
<xs:choice maxOccurs="1" minOccurs="0">
<xs:element ref="xs:all"/>
<xs:element ref="xs:choice"/>
<xs:element ref="xs:sequence"/>
</xs:choice>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="namedGroup">
<xs:complexContent>
<xs:restriction base="xs:realGroup">
<xs:sequence>
<xs:element minOccurs="0" ref="xs:annotation"/>
<xs:choice maxOccurs="1" minOccurs="1">
<xs:element name="all">
<xs:complexType>
<xs:complexContent>
<xs:restriction base="xs:all">
<xs:group ref="xs:allModel"/>
<xs:attribute name="minOccurs" use="prohibited"/>
<xs:attribute name="maxOccurs" use="prohibited"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="choice" type="xs:simpleExplicitGroup"/>
<xs:element name="sequence" type="xs:simpleExplicitGroup"/>
</xs:choice>
</xs:sequence>
<xs:attribute name="name" type="xs:NCName" use="required"/>
<xs:attribute name="ref" use="prohibited"/>
<xs:attribute name="minOccurs" use="prohibited"/>
<xs:attribute name="maxOccurs" use="prohibited"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="groupRef">
<xs:complexContent>
<xs:restriction base="xs:realGroup">
<xs:sequence>
<xs:element minOccurs="0" ref="xs:annotation"/>
</xs:sequence>
<xs:attribute name="ref" type="xs:QName" use="required"/>
<xs:attribute name="name" use="prohibited"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="explicitGroup">
<xs:annotation>
<xs:documentation>
group type for the three kinds of group
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:restriction base="xs:group">
<xs:sequence>
<xs:element minOccurs="0" ref="xs:annotation"/>
<xs:group maxOccurs="unbounded" minOccurs="0" ref="xs:nestedParticle"/>
</xs:sequence>
<xs:attribute name="name" type="xs:NCName" use="prohibited"/>
<xs:attribute name="ref" type="xs:QName" use="prohibited"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="simpleExplicitGroup">
<xs:complexContent>
<xs:restriction base="xs:explicitGroup">
<xs:sequence>
<xs:element minOccurs="0" ref="xs:annotation"/>
<xs:group maxOccurs="unbounded" minOccurs="0" ref="xs:nestedParticle"/>
</xs:sequence>
<xs:attribute name="minOccurs" use="prohibited"/>
<xs:attribute name="maxOccurs" use="prohibited"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
<xs:group name="allModel">
<xs:sequence>
<xs:element minOccurs="0" ref="xs:annotation"/>
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:annotation>
<xs:documentation>
This choice with min/max is here to
avoid a pblm with the Elt:All/Choice/Seq
Particle derivation constraint
</xs:documentation>
</xs:annotation>
<xs:element name="element" type="xs:narrowMaxMin"/>
</xs:choice>
</xs:sequence>
</xs:group>
<xs:complexType name="narrowMaxMin">
<xs:annotation>
<xs:documentation>restricted max/min</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:restriction base="xs:localElement">
<xs:sequence>
<xs:element minOccurs="0" ref="xs:annotation"/>
<xs:choice minOccurs="0">
<xs:element name="simpleType" type="xs:localSimpleType"/>
<xs:element name="complexType" type="xs:localComplexType"/>
</xs:choice>
<xs:group maxOccurs="unbounded" minOccurs="0" ref="xs:identityConstraint"/>
</xs:sequence>
<xs:attribute default="1" name="minOccurs" use="optional">
<xs:simpleType>
<xs:restriction base="xs:nonNegativeInteger">
<xs:enumeration value="0"/>
<xs:enumeration value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute default="1" name="maxOccurs" use="optional">
<xs:simpleType>
<xs:restriction base="xs:allNNI">
<xs:enumeration value="0"/>
<xs:enumeration value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="all">
<xs:annotation>
<xs:documentation>
Only elements allowed inside
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:restriction base="xs:explicitGroup">
<xs:group ref="xs:allModel"/>
<xs:attribute default="1" name="minOccurs" use="optional">
<xs:simpleType>
<xs:restriction base="xs:nonNegativeInteger">
<xs:enumeration value="0"/>
<xs:enumeration value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute default="1" name="maxOccurs" use="optional">
<xs:simpleType>
<xs:restriction base="xs:allNNI">
<xs:enumeration value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
<xs:element id="all" name="all" type="xs:all">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-all"/>
</xs:annotation>
</xs:element>
<xs:element id="choice" name="choice" type="xs:explicitGroup">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-choice"/>
</xs:annotation>
</xs:element>
<xs:element id="sequence" name="sequence" type="xs:explicitGroup">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-sequence"/>
</xs:annotation>
</xs:element>
<xs:element id="group" name="group" type="xs:namedGroup">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-group"/>
</xs:annotation>
</xs:element>
<xs:complexType name="wildcard">
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:attribute default="##any" name="namespace" type="xs:namespaceList" use="optional"/>
<xs:attribute default="strict" name="processContents" use="optional">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="skip"/>
<xs:enumeration value="lax"/>
<xs:enumeration value="strict"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element id="any" name="any">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-any"/>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="xs:wildcard">
<xs:attributeGroup ref="xs:occurs"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:annotation>
<xs:documentation>
simple type for the value of the 'namespace' attr of
'any' and 'anyAttribute'
</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>
Value is
##any - - any non-conflicting WFXML/attribute at all

##other - - any non-conflicting WFXML/attribute from
namespace other than targetNS

##local - - any unqualified non-conflicting WFXML/attribute

one or - - any non-conflicting WFXML/attribute from
more URI the listed namespaces
references
(space separated)

##targetNamespace or ##local may appear in the above list, to
refer to the targetNamespace of the enclosing
schema or an absent targetNamespace respectively
</xs:documentation>
</xs:annotation>
<xs:simpleType name="namespaceList">
<xs:annotation>
<xs:documentation>
A utility type, not for public use
</xs:documentation>
</xs:annotation>
<xs:union>
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="##any"/>
<xs:enumeration value="##other"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:list>
<xs:simpleType>
<xs:union memberTypes="xs:anyURI">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="##targetNamespace"/>
<xs:enumeration value="##local"/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:list>
</xs:simpleType>
</xs:union>
</xs:simpleType>
<xs:element id="attribute" name="attribute" type="xs:topLevelAttribute">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-attribute"/>
</xs:annotation>
</xs:element>
<xs:complexType abstract="true" name="attributeGroup">
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:group ref="xs:attrDecls"/>
<xs:attributeGroup ref="xs:defRef"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="namedAttributeGroup">
<xs:complexContent>
<xs:restriction base="xs:attributeGroup">
<xs:sequence>
<xs:element minOccurs="0" ref="xs:annotation"/>
<xs:group ref="xs:attrDecls"/>
</xs:sequence>
<xs:attribute name="name" type="xs:NCName" use="required"/>
<xs:attribute name="ref" use="prohibited"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="attributeGroupRef">
<xs:complexContent>
<xs:restriction base="xs:attributeGroup">
<xs:sequence>
<xs:element minOccurs="0" ref="xs:annotation"/>
</xs:sequence>
<xs:attribute name="ref" type="xs:QName" use="required"/>
<xs:attribute name="name" use="prohibited"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
<xs:element id="attributeGroup" name="attributeGroup" type="xs:namedAttributeGroup">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-attributeGroup"/>
</xs:annotation>
</xs:element>
<xs:element id="include" name="include">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-include"/>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:attribute name="schemaLocation" type="xs:anyURI" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element id="redefine" name="redefine">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-redefine"/>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="xs:openAttrs">
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element ref="xs:annotation"/>
<xs:group ref="xs:redefinable"/>
</xs:choice>
<xs:attribute name="schemaLocation" type="xs:anyURI" use="required"/>
<xs:attribute name="id" type="xs:ID"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element id="import" name="import">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-import"/>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:attribute name="namespace" type="xs:anyURI"/>
<xs:attribute name="schemaLocation" type="xs:anyURI"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element id="selector" name="selector">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-selector"/>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:attribute name="xpath" use="required">
<xs:simpleType>
<xs:annotation>
<xs:documentation>
A subset of XPath expressions for use
in selectors
</xs:documentation>
<xs:documentation>
A utility type, not for public
use
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:token">
<xs:annotation>
<xs:documentation>
The following pattern is intended to allow XPath
expressions per the following EBNF:
Selector ::= Path ( '|' Path )*
Path ::= ('.//')? Step ( '/' Step )*
Step ::= '.' | NameTest
NameTest ::= QName | '*' | NCName ':' '*'
child:: is also allowed
</xs:documentation>
</xs:annotation>
<xs:pattern value="(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*(\|(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*)*"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element id="field" name="field">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-field"/>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:attribute name="xpath" use="required">
<xs:simpleType>
<xs:annotation>
<xs:documentation>
A subset of XPath expressions for use
in fields
</xs:documentation>
<xs:documentation>
A utility type, not for public
use
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:token">
<xs:annotation>
<xs:documentation>
The following pattern is intended to allow XPath
expressions per the same EBNF as for selector,
with the following change:
Path ::= ('.//')? ( Step '/' )* ( Step | '@' NameTest )
</xs:documentation>
</xs:annotation>
<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*|\*)))))*"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:complexType name="keybase">
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:sequence>
<xs:element ref="xs:selector"/>
<xs:element maxOccurs="unbounded" minOccurs="1" ref="xs:field"/>
</xs:sequence>
<xs:attribute name="name" type="xs:NCName" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:group name="identityConstraint">
<xs:annotation>
<xs:documentation>
The three kinds of identity constraints, all with
type of or derived from 'keybase'.
</xs:documentation>
</xs:annotation>
<xs:choice>
<xs:element ref="xs:unique"/>
<xs:element ref="xs:key"/>
<xs:element ref="xs:keyref"/>
</xs:choice>
</xs:group>
<xs:element id="unique" name="unique" type="xs:keybase">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-unique"/>
</xs:annotation>
</xs:element>
<xs:element id="key" name="key" type="xs:keybase">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-key"/>
</xs:annotation>
</xs:element>
<xs:element id="keyref" name="keyref">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-keyref"/>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="xs:keybase">
<xs:attribute name="refer" type="xs:QName" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element id="notation" name="notation">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-notation"/>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:attribute name="name" type="xs:NCName" use="required"/>
<xs:attribute name="public" type="xs:public"/>
<xs:attribute name="system" type="xs:anyURI"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:simpleType name="public">
<xs:annotation>
<xs:documentation>
A utility type, not for public use
</xs:documentation>
<xs:documentation>
A public identifier, per ISO 8879
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:token"/>
</xs:simpleType>
<xs:element id="appinfo" name="appinfo">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-appinfo"/>
</xs:annotation>
<xs:complexType mixed="true">
<xs:sequence maxOccurs="unbounded" minOccurs="0">
<xs:any processContents="lax"/>
</xs:sequence>
<xs:attribute name="source" type="xs:anyURI"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
</xs:element>
<xs:element id="documentation" name="documentation">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-documentation"/>
</xs:annotation>
<xs:complexType mixed="true">
<xs:sequence maxOccurs="unbounded" minOccurs="0">
<xs:any processContents="lax"/>
</xs:sequence>
<xs:attribute name="source" type="xs:anyURI"/>
<xs:attribute ref="xml:lang"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
</xs:element>
<xs:element id="annotation" name="annotation">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-annotation"/>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="xs:openAttrs">
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element ref="xs:appinfo"/>
<xs:element ref="xs:documentation"/>
</xs:choice>
<xs:attribute name="id" type="xs:ID"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:annotation>
<xs:documentation>
notations for use within XML Schema schemas
</xs:documentation>
</xs:annotation>
<xs:notation name="XMLSchemaStructures" public="structures" system="http://www.w3.org/2000/08/XMLSchema.xsd"/>
<xs:notation name="XML" public="REC-xml-19980210" system="http://www.w3.org/TR/1998/REC-xml-19980210"/>
<xs:complexType mixed="true" name="anyType">
<xs:annotation>
<xs:documentation>
Not the real urType, but as close an approximation as we can
get in the XML representation
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"/>
</xs:sequence>
<xs:anyAttribute processContents="lax"/>
</xs:complexType>
<xs:annotation>
<xs:documentation>
First the built-in primitive datatypes. These definitions are for
information only, the real built-in definitions are magic.
</xs:documentation>
<xs:documentation>
For each built-in datatype in this schema (both primitive and
derived) can be uniquely addressed via a URI constructed
as follows:
1) the base URI is the URI of the XML Schema namespace
2) the fragment identifier is the name of the datatype

For example, to address the int datatype, the URI is:

http://www.w3.org/2001/XMLSchema#int

Additionally, each facet definition element can be uniquely
addressed via a URI constructed as follows:
1) the base URI is the URI of the XML Schema namespace
2) the fragment identifier is the name of the facet

For example, to address the maxInclusive facet, the URI is:

http://www.w3.org/2001/XMLSchema#maxInclusive

Additionally, each facet usage in a built-in datatype definition
can be uniquely addressed via a URI constructed as follows:
1) the base URI is the URI of the XML Schema namespace
2) the fragment identifier is the name of the datatype, followed
by a period (".") followed by the name of the facet

For example, to address the usage of the maxInclusive facet in
the definition of int, the URI is:

http://www.w3.org/2001/XMLSchema#int.maxInclusive
</xs:documentation>
</xs:annotation>
<xs:simpleType id="string" name="string">
<xs:annotation>
<xs:appinfo>
<hfp:hasFacet name="length"/>
<hfp:hasFacet name="minLength"/>
<hfp:hasFacet name="maxLength"/>
<hfp:hasFacet name="pattern"/>
<hfp:hasFacet name="enumeration"/>
<hfp:hasFacet name="whiteSpace"/>
<hfp:hasProperty name="ordered" value="false"/>
<hfp:hasProperty name="bounded" value="false"/>
<hfp:hasProperty name="cardinality" value="countably infinite"/>
<hfp:hasProperty name="numeric" value="false"/>
</xs:appinfo>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#string"/>
</xs:annotation>
<xs:restriction base="xs:anySimpleType">
<xs:whiteSpace id="string.preserve" value="preserve"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="boolean" name="boolean">
<xs:annotation>
<xs:appinfo>
<hfp:hasFacet name="pattern"/>
<hfp:hasFacet name="whiteSpace"/>
<hfp:hasProperty name="ordered" value="false"/>
<hfp:hasProperty name="bounded" value="false"/>
<hfp:hasProperty name="cardinality" value="finite"/>
<hfp:hasProperty name="numeric" value="false"/>
</xs:appinfo>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#boolean"/>
</xs:annotation>
<xs:restriction base="xs:anySimpleType">
<xs:whiteSpace fixed="true" id="boolean.whiteSpace" value="collapse"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="float" name="float">
<xs:annotation>
<xs:appinfo>
<hfp:hasFacet name="pattern"/>
<hfp:hasFacet name="enumeration"/>
<hfp:hasFacet name="whiteSpace"/>
<hfp:hasFacet name="maxInclusive"/>
<hfp:hasFacet name="maxExclusive"/>
<hfp:hasFacet name="minInclusive"/>
<hfp:hasFacet name="minExclusive"/>
<hfp:hasProperty name="ordered" value="total"/>
<hfp:hasProperty name="bounded" value="true"/>
<hfp:hasProperty name="cardinality" value="finite"/>
<hfp:hasProperty name="numeric" value="true"/>
</xs:appinfo>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#float"/>
</xs:annotation>
<xs:restriction base="xs:anySimpleType">
<xs:whiteSpace fixed="true" id="float.whiteSpace" value="collapse"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="double" name="double">
<xs:annotation>
<xs:appinfo>
<hfp:hasFacet name="pattern"/>
<hfp:hasFacet name="enumeration"/>
<hfp:hasFacet name="whiteSpace"/>
<hfp:hasFacet name="maxInclusive"/>
<hfp:hasFacet name="maxExclusive"/>
<hfp:hasFacet name="minInclusive"/>
<hfp:hasFacet name="minExclusive"/>
<hfp:hasProperty name="ordered" value="total"/>
<hfp:hasProperty name="bounded" value="true"/>
<hfp:hasProperty name="cardinality" value="finite"/>
<hfp:hasProperty name="numeric" value="true"/>
</xs:appinfo>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#double"/>
</xs:annotation>
<xs:restriction base="xs:anySimpleType">
<xs:whiteSpace fixed="true" id="double.whiteSpace" value="collapse"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="decimal" name="decimal">
<xs:annotation>
<xs:appinfo>
<hfp:hasFacet name="totalDigits"/>
<hfp:hasFacet name="fractionDigits"/>
<hfp:hasFacet name="pattern"/>
<hfp:hasFacet name="whiteSpace"/>
<hfp:hasFacet name="enumeration"/>
<hfp:hasFacet name="maxInclusive"/>
<hfp:hasFacet name="maxExclusive"/>
<hfp:hasFacet name="minInclusive"/>
<hfp:hasFacet name="minExclusive"/>
<hfp:hasProperty name="ordered" value="total"/>
<hfp:hasProperty name="bounded" value="false"/>
<hfp:hasProperty name="cardinality" value="countably infinite"/>
<hfp:hasProperty name="numeric" value="true"/>
</xs:appinfo>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#decimal"/>
</xs:annotation>
<xs:restriction base="xs:anySimpleType">
<xs:whiteSpace fixed="true" id="decimal.whiteSpace" value="collapse"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="duration" name="duration">
<xs:annotation>
<xs:appinfo>
<hfp:hasFacet name="pattern"/>
<hfp:hasFacet name="enumeration"/>
<hfp:hasFacet name="whiteSpace"/>
<hfp:hasFacet name="maxInclusive"/>
<hfp:hasFacet name="maxExclusive"/>
<hfp:hasFacet name="minInclusive"/>
<hfp:hasFacet name="minExclusive"/>
<hfp:hasProperty name="ordered" value="partial"/>
<hfp:hasProperty name="bounded" value="false"/>
<hfp:hasProperty name="cardinality" value="countably infinite"/>
<hfp:hasProperty name="numeric" value="false"/>
</xs:appinfo>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#duration"/>
</xs:annotation>
<xs:restriction base="xs:anySimpleType">
<xs:whiteSpace fixed="true" id="duration.whiteSpace" value="collapse"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="dateTime" name="dateTime">
<xs:annotation>
<xs:appinfo>
<hfp:hasFacet name="pattern"/>
<hfp:hasFacet name="enumeration"/>
<hfp:hasFacet name="whiteSpace"/>
<hfp:hasFacet name="maxInclusive"/>
<hfp:hasFacet name="maxExclusive"/>
<hfp:hasFacet name="minInclusive"/>
<hfp:hasFacet name="minExclusive"/>
<hfp:hasProperty name="ordered" value="partial"/>
<hfp:hasProperty name="bounded" value="false"/>
<hfp:hasProperty name="cardinality" value="countably infinite"/>
<hfp:hasProperty name="numeric" value="false"/>
</xs:appinfo>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#dateTime"/>
</xs:annotation>
<xs:restriction base="xs:anySimpleType">
<xs:whiteSpace fixed="true" id="dateTime.whiteSpace" value="collapse"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="time" name="time">
<xs:annotation>
<xs:appinfo>
<hfp:hasFacet name="pattern"/>
<hfp:hasFacet name="enumeration"/>
<hfp:hasFacet name="whiteSpace"/>
<hfp:hasFacet name="maxInclusive"/>
<hfp:hasFacet name="maxExclusive"/>
<hfp:hasFacet name="minInclusive"/>
<hfp:hasFacet name="minExclusive"/>
<hfp:hasProperty name="ordered" value="partial"/>
<hfp:hasProperty name="bounded" value="false"/>
<hfp:hasProperty name="cardinality" value="countably infinite"/>
<hfp:hasProperty name="numeric" value="false"/>
</xs:appinfo>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#time"/>
</xs:annotation>
<xs:restriction base="xs:anySimpleType">
<xs:whiteSpace fixed="true" id="time.whiteSpace" value="collapse"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="date" name="date">
<xs:annotation>
<xs:appinfo>
<hfp:hasFacet name="pattern"/>
<hfp:hasFacet name="enumeration"/>
<hfp:hasFacet name="whiteSpace"/>
<hfp:hasFacet name="maxInclusive"/>
<hfp:hasFacet name="maxExclusive"/>
<hfp:hasFacet name="minInclusive"/>
<hfp:hasFacet name="minExclusive"/>
<hfp:hasProperty name="ordered" value="partial"/>
<hfp:hasProperty name="bounded" value="false"/>
<hfp:hasProperty name="cardinality" value="countably infinite"/>
<hfp:hasProperty name="numeric" value="false"/>
</xs:appinfo>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#date"/>
</xs:annotation>
<xs:restriction base="xs:anySimpleType">
<xs:whiteSpace fixed="true" id="date.whiteSpace" value="collapse"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="gYearMonth" name="gYearMonth">
<xs:annotation>
<xs:appinfo>
<hfp:hasFacet name="pattern"/>
<hfp:hasFacet name="enumeration"/>
<hfp:hasFacet name="whiteSpace"/>
<hfp:hasFacet name="maxInclusive"/>
<hfp:hasFacet name="maxExclusive"/>
<hfp:hasFacet name="minInclusive"/>
<hfp:hasFacet name="minExclusive"/>
<hfp:hasProperty name="ordered" value="partial"/>
<hfp:hasProperty name="bounded" value="false"/>
<hfp:hasProperty name="cardinality" value="countably infinite"/>
<hfp:hasProperty name="numeric" value="false"/>
</xs:appinfo>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#gYearMonth"/>
</xs:annotation>
<xs:restriction base="xs:anySimpleType">
<xs:whiteSpace fixed="true" id="gYearMonth.whiteSpace" value="collapse"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="gYear" name="gYear">
<xs:annotation>
<xs:appinfo>
<hfp:hasFacet name="pattern"/>
<hfp:hasFacet name="enumeration"/>
<hfp:hasFacet name="whiteSpace"/>
<hfp:hasFacet name="maxInclusive"/>
<hfp:hasFacet name="maxExclusive"/>
<hfp:hasFacet name="minInclusive"/>
<hfp:hasFacet name="minExclusive"/>
<hfp:hasProperty name="ordered" value="partial"/>
<hfp:hasProperty name="bounded" value="false"/>
<hfp:hasProperty name="cardinality" value="countably infinite"/>
<hfp:hasProperty name="numeric" value="false"/>
</xs:appinfo>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#gYear"/>
</xs:annotation>
<xs:restriction base="xs:anySimpleType">
<xs:whiteSpace fixed="true" id="gYear.whiteSpace" value="collapse"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="gMonthDay" name="gMonthDay">
<xs:annotation>
<xs:appinfo>
<hfp:hasFacet name="pattern"/>
<hfp:hasFacet name="enumeration"/>
<hfp:hasFacet name="whiteSpace"/>
<hfp:hasFacet name="maxInclusive"/>
<hfp:hasFacet name="maxExclusive"/>
<hfp:hasFacet name="minInclusive"/>
<hfp:hasFacet name="minExclusive"/>
<hfp:hasProperty name="ordered" value="partial"/>
<hfp:hasProperty name="bounded" value="false"/>
<hfp:hasProperty name="cardinality" value="countably infinite"/>
<hfp:hasProperty name="numeric" value="false"/>
</xs:appinfo>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#gMonthDay"/>
</xs:annotation>
<xs:restriction base="xs:anySimpleType">
<xs:whiteSpace fixed="true" id="gMonthDay.whiteSpace" value="collapse"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="gDay" name="gDay">
<xs:annotation>
<xs:appinfo>
<hfp:hasFacet name="pattern"/>
<hfp:hasFacet name="enumeration"/>
<hfp:hasFacet name="whiteSpace"/>
<hfp:hasFacet name="maxInclusive"/>
<hfp:hasFacet name="maxExclusive"/>
<hfp:hasFacet name="minInclusive"/>
<hfp:hasFacet name="minExclusive"/>
<hfp:hasProperty name="ordered" value="partial"/>
<hfp:hasProperty name="bounded" value="false"/>
<hfp:hasProperty name="cardinality" value="countably infinite"/>
<hfp:hasProperty name="numeric" value="false"/>
</xs:appinfo>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#gDay"/>
</xs:annotation>
<xs:restriction base="xs:anySimpleType">
<xs:whiteSpace fixed="true" id="gDay.whiteSpace" value="collapse"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="gMonth" name="gMonth">
<xs:annotation>
<xs:appinfo>
<hfp:hasFacet name="pattern"/>
<hfp:hasFacet name="enumeration"/>
<hfp:hasFacet name="whiteSpace"/>
<hfp:hasFacet name="maxInclusive"/>
<hfp:hasFacet name="maxExclusive"/>
<hfp:hasFacet name="minInclusive"/>
<hfp:hasFacet name="minExclusive"/>
<hfp:hasProperty name="ordered" value="partial"/>
<hfp:hasProperty name="bounded" value="false"/>
<hfp:hasProperty name="cardinality" value="countably infinite"/>
<hfp:hasProperty name="numeric" value="false"/>
</xs:appinfo>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#gMonth"/>
</xs:annotation>
<xs:restriction base="xs:anySimpleType">
<xs:whiteSpace fixed="true" id="gMonth.whiteSpace" value="collapse"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="hexBinary" name="hexBinary">
<xs:annotation>
<xs:appinfo>
<hfp:hasFacet name="length"/>
<hfp:hasFacet name="minLength"/>
<hfp:hasFacet name="maxLength"/>
<hfp:hasFacet name="pattern"/>
<hfp:hasFacet name="enumeration"/>
<hfp:hasFacet name="whiteSpace"/>
<hfp:hasProperty name="ordered" value="false"/>
<hfp:hasProperty name="bounded" value="false"/>
<hfp:hasProperty name="cardinality" value="countably infinite"/>
<hfp:hasProperty name="numeric" value="false"/>
</xs:appinfo>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#binary"/>
</xs:annotation>
<xs:restriction base="xs:anySimpleType">
<xs:whiteSpace fixed="true" id="hexBinary.whiteSpace" value="collapse"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="base64Binary" name="base64Binary">
<xs:annotation>
<xs:appinfo>
<hfp:hasFacet name="length"/>
<hfp:hasFacet name="minLength"/>
<hfp:hasFacet name="maxLength"/>
<hfp:hasFacet name="pattern"/>
<hfp:hasFacet name="enumeration"/>
<hfp:hasFacet name="whiteSpace"/>
<hfp:hasProperty name="ordered" value="false"/>
<hfp:hasProperty name="bounded" value="false"/>
<hfp:hasProperty name="cardinality" value="countably infinite"/>
<hfp:hasProperty name="numeric" value="false"/>
</xs:appinfo>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#base64Binary"/>
</xs:annotation>
<xs:restriction base="xs:anySimpleType">
<xs:whiteSpace fixed="true" id="base64Binary.whiteSpace" value="collapse"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="anyURI" name="anyURI">
<xs:annotation>
<xs:appinfo>
<hfp:hasFacet name="length"/>
<hfp:hasFacet name="minLength"/>
<hfp:hasFacet name="maxLength"/>
<hfp:hasFacet name="pattern"/>
<hfp:hasFacet name="enumeration"/>
<hfp:hasFacet name="whiteSpace"/>
<hfp:hasProperty name="ordered" value="false"/>
<hfp:hasProperty name="bounded" value="false"/>
<hfp:hasProperty name="cardinality" value="countably infinite"/>
<hfp:hasProperty name="numeric" value="false"/>
</xs:appinfo>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#anyURI"/>
</xs:annotation>
<xs:restriction base="xs:anySimpleType">
<xs:whiteSpace fixed="true" id="anyURI.whiteSpace" value="collapse"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="QName" name="QName">
<xs:annotation>
<xs:appinfo>
<hfp:hasFacet name="length"/>
<hfp:hasFacet name="minLength"/>
<hfp:hasFacet name="maxLength"/>
<hfp:hasFacet name="pattern"/>
<hfp:hasFacet name="enumeration"/>
<hfp:hasFacet name="whiteSpace"/>
<hfp:hasProperty name="ordered" value="false"/>
<hfp:hasProperty name="bounded" value="false"/>
<hfp:hasProperty name="cardinality" value="countably infinite"/>
<hfp:hasProperty name="numeric" value="false"/>
</xs:appinfo>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#QName"/>
</xs:annotation>
<xs:restriction base="xs:anySimpleType">
<xs:whiteSpace fixed="true" id="QName.whiteSpace" value="collapse"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="NOTATION" name="NOTATION">
<xs:annotation>
<xs:appinfo>
<hfp:hasFacet name="length"/>
<hfp:hasFacet name="minLength"/>
<hfp:hasFacet name="maxLength"/>
<hfp:hasFacet name="pattern"/>
<hfp:hasFacet name="enumeration"/>
<hfp:hasFacet name="whiteSpace"/>
<hfp:hasProperty name="ordered" value="false"/>
<hfp:hasProperty name="bounded" value="false"/>
<hfp:hasProperty name="cardinality" value="countably infinite"/>
<hfp:hasProperty name="numeric" value="false"/>
</xs:appinfo>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#NOTATION"/>
<xs:documentation>
NOTATION cannot be used directly in a schema; rather a type
must be derived from it by specifying at least one enumeration
facet whose value is the name of a NOTATION declared in the
schema.
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:anySimpleType">
<xs:whiteSpace fixed="true" id="NOTATION.whiteSpace" value="collapse"/>
</xs:restriction>
</xs:simpleType>
<xs:annotation>
<xs:documentation>
Now the derived primitive types
</xs:documentation>
</xs:annotation>
<xs:simpleType id="normalizedString" name="normalizedString">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#normalizedString"/>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace id="normalizedString.whiteSpace" value="replace"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="token" name="token">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#token"/>
</xs:annotation>
<xs:restriction base="xs:normalizedString">
<xs:whiteSpace id="token.whiteSpace" value="collapse"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="language" name="language">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#language"/>
</xs:annotation>
<xs:restriction base="xs:token">
<xs:pattern id="language.pattern" value="[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*">
<xs:annotation>
<xs:documentation source="http://www.ietf.org/rfc/rfc3066.txt">
pattern specifies the content of section 2.12 of XML 1.0e2
and RFC 3066 (Revised version of RFC 1766).
</xs:documentation>
</xs:annotation>
</xs:pattern>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="IDREFS" name="IDREFS">
<xs:annotation>
<xs:appinfo>
<hfp:hasFacet name="length"/>
<hfp:hasFacet name="minLength"/>
<hfp:hasFacet name="maxLength"/>
<hfp:hasFacet name="enumeration"/>
<hfp:hasFacet name="whiteSpace"/>
<hfp:hasFacet name="pattern"/>
<hfp:hasProperty name="ordered" value="false"/>
<hfp:hasProperty name="bounded" value="false"/>
<hfp:hasProperty name="cardinality" value="countably infinite"/>
<hfp:hasProperty name="numeric" value="false"/>
</xs:appinfo>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#IDREFS"/>
</xs:annotation>
<xs:restriction>
<xs:simpleType>
<xs:list itemType="xs:IDREF"/>
</xs:simpleType>
<xs:minLength id="IDREFS.minLength" value="1"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="ENTITIES" name="ENTITIES">
<xs:annotation>
<xs:appinfo>
<hfp:hasFacet name="length"/>
<hfp:hasFacet name="minLength"/>
<hfp:hasFacet name="maxLength"/>
<hfp:hasFacet name="enumeration"/>
<hfp:hasFacet name="whiteSpace"/>
<hfp:hasFacet name="pattern"/>
<hfp:hasProperty name="ordered" value="false"/>
<hfp:hasProperty name="bounded" value="false"/>
<hfp:hasProperty name="cardinality" value="countably infinite"/>
<hfp:hasProperty name="numeric" value="false"/>
</xs:appinfo>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#ENTITIES"/>
</xs:annotation>
<xs:restriction>
<xs:simpleType>
<xs:list itemType="xs:ENTITY"/>
</xs:simpleType>
<xs:minLength id="ENTITIES.minLength" value="1"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="NMTOKEN" name="NMTOKEN">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#NMTOKEN"/>
</xs:annotation>
<xs:restriction base="xs:token">
<xs:pattern id="NMTOKEN.pattern" value="\c+">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/REC-xml#NT-Nmtoken">
pattern matches production 7 from the XML spec
</xs:documentation>
</xs:annotation>
</xs:pattern>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="NMTOKENS" name="NMTOKENS">
<xs:annotation>
<xs:appinfo>
<hfp:hasFacet name="length"/>
<hfp:hasFacet name="minLength"/>
<hfp:hasFacet name="maxLength"/>
<hfp:hasFacet name="enumeration"/>
<hfp:hasFacet name="whiteSpace"/>
<hfp:hasFacet name="pattern"/>
<hfp:hasProperty name="ordered" value="false"/>
<hfp:hasProperty name="bounded" value="false"/>
<hfp:hasProperty name="cardinality" value="countably infinite"/>
<hfp:hasProperty name="numeric" value="false"/>
</xs:appinfo>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#NMTOKENS"/>
</xs:annotation>
<xs:restriction>
<xs:simpleType>
<xs:list itemType="xs:NMTOKEN"/>
</xs:simpleType>
<xs:minLength id="NMTOKENS.minLength" value="1"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="Name" name="Name">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#Name"/>
</xs:annotation>
<xs:restriction base="xs:token">
<xs:pattern id="Name.pattern" value="\i\c*">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/REC-xml#NT-Name">
pattern matches production 5 from the XML spec
</xs:documentation>
</xs:annotation>
</xs:pattern>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="NCName" name="NCName">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#NCName"/>
</xs:annotation>
<xs:restriction base="xs:Name">
<xs:pattern id="NCName.pattern" value="[\i-[:]][\c-[:]]*">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/REC-xml-names/#NT-NCName">
pattern matches production 4 from the Namespaces in XML spec
</xs:documentation>
</xs:annotation>
</xs:pattern>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="ID" name="ID">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#ID"/>
</xs:annotation>
<xs:restriction base="xs:NCName"/>
</xs:simpleType>
<xs:simpleType id="IDREF" name="IDREF">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#IDREF"/>
</xs:annotation>
<xs:restriction base="xs:NCName"/>
</xs:simpleType>
<xs:simpleType id="ENTITY" name="ENTITY">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#ENTITY"/>
</xs:annotation>
<xs:restriction base="xs:NCName"/>
</xs:simpleType>
<xs:simpleType id="integer" name="integer">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#integer"/>
</xs:annotation>
<xs:restriction base="xs:decimal">
<xs:fractionDigits fixed="true" id="integer.fractionDigits" value="0"/>
<xs:pattern value="[\-+]?[0-9]+"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="nonPositiveInteger" name="nonPositiveInteger">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#nonPositiveInteger"/>
</xs:annotation>
<xs:restriction base="xs:integer">
<xs:maxInclusive id="nonPositiveInteger.maxInclusive" value="0"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="negativeInteger" name="negativeInteger">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#negativeInteger"/>
</xs:annotation>
<xs:restriction base="xs:nonPositiveInteger">
<xs:maxInclusive id="negativeInteger.maxInclusive" value="-1"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="long" name="long">
<xs:annotation>
<xs:appinfo>
<hfp:hasProperty name="bounded" value="true"/>
<hfp:hasProperty name="cardinality" value="finite"/>
</xs:appinfo>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#long"/>
</xs:annotation>
<xs:restriction base="xs:integer">
<xs:minInclusive id="long.minInclusive" value="-9223372036854775808"/>
<xs:maxInclusive id="long.maxInclusive" value="9223372036854775807"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="int" name="int">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#int"/>
</xs:annotation>
<xs:restriction base="xs:long">
<xs:minInclusive id="int.minInclusive" value="-2147483648"/>
<xs:maxInclusive id="int.maxInclusive" value="2147483647"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="short" name="short">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#short"/>
</xs:annotation>
<xs:restriction base="xs:int">
<xs:minInclusive id="short.minInclusive" value="-32768"/>
<xs:maxInclusive id="short.maxInclusive" value="32767"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="byte" name="byte">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#byte"/>
</xs:annotation>
<xs:restriction base="xs:short">
<xs:minInclusive id="byte.minInclusive" value="-128"/>
<xs:maxInclusive id="byte.maxInclusive" value="127"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="nonNegativeInteger" name="nonNegativeInteger">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#nonNegativeInteger"/>
</xs:annotation>
<xs:restriction base="xs:integer">
<xs:minInclusive id="nonNegativeInteger.minInclusive" value="0"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="unsignedLong" name="unsignedLong">
<xs:annotation>
<xs:appinfo>
<hfp:hasProperty name="bounded" value="true"/>
<hfp:hasProperty name="cardinality" value="finite"/>
</xs:appinfo>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#unsignedLong"/>
</xs:annotation>
<xs:restriction base="xs:nonNegativeInteger">
<xs:maxInclusive id="unsignedLong.maxInclusive" value="18446744073709551615"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="unsignedInt" name="unsignedInt">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#unsignedInt"/>
</xs:annotation>
<xs:restriction base="xs:unsignedLong">
<xs:maxInclusive id="unsignedInt.maxInclusive" value="4294967295"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="unsignedShort" name="unsignedShort">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#unsignedShort"/>
</xs:annotation>
<xs:restriction base="xs:unsignedInt">
<xs:maxInclusive id="unsignedShort.maxInclusive" value="65535"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="unsignedByte" name="unsignedByte">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#unsignedByte"/>
</xs:annotation>
<xs:restriction base="xs:unsignedShort">
<xs:maxInclusive id="unsignedByte.maxInclusive" value="255"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType id="positiveInteger" name="positiveInteger">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#positiveInteger"/>
</xs:annotation>
<xs:restriction base="xs:nonNegativeInteger">
<xs:minInclusive id="positiveInteger.minInclusive" value="1"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="derivationControl">
<xs:annotation>
<xs:documentation>
A utility type, not for public use
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="substitution"/>
<xs:enumeration value="extension"/>
<xs:enumeration value="restriction"/>
<xs:enumeration value="list"/>
<xs:enumeration value="union"/>
</xs:restriction>
</xs:simpleType>
<xs:group name="simpleDerivation">
<xs:choice>
<xs:element ref="xs:restriction"/>
<xs:element ref="xs:list"/>
<xs:element ref="xs:union"/>
</xs:choice>
</xs:group>
<xs:simpleType name="simpleDerivationSet">
<xs:annotation>
<xs:documentation>
#all or (possibly empty) subset of {restriction, union, list}
</xs:documentation>
<xs:documentation>
A utility type, not for public use
</xs:documentation>
</xs:annotation>
<xs:union>
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="#all"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:list>
<xs:simpleType>
<xs:restriction base="xs:derivationControl">
<xs:enumeration value="list"/>
<xs:enumeration value="union"/>
<xs:enumeration value="restriction"/>
</xs:restriction>
</xs:simpleType>
</xs:list>
</xs:simpleType>
</xs:union>
</xs:simpleType>
<xs:complexType abstract="true" name="simpleType">
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:group ref="xs:simpleDerivation"/>
<xs:attribute name="final" type="xs:simpleDerivationSet"/>
<xs:attribute name="name" type="xs:NCName">
<xs:annotation>
<xs:documentation>
Can be restricted to required or forbidden
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="topLevelSimpleType">
<xs:complexContent>
<xs:restriction base="xs:simpleType">
<xs:sequence>
<xs:element minOccurs="0" ref="xs:annotation"/>
<xs:group ref="xs:simpleDerivation"/>
</xs:sequence>
<xs:attribute name="name" type="xs:NCName" use="required">
<xs:annotation>
<xs:documentation>
Required at the top level
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="localSimpleType">
<xs:complexContent>
<xs:restriction base="xs:simpleType">
<xs:sequence>
<xs:element minOccurs="0" ref="xs:annotation"/>
<xs:group ref="xs:simpleDerivation"/>
</xs:sequence>
<xs:attribute name="name" use="prohibited">
<xs:annotation>
<xs:documentation>
Forbidden when nested
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="final" use="prohibited"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
<xs:element id="simpleType" name="simpleType" type="xs:topLevelSimpleType">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-simpleType"/>
</xs:annotation>
</xs:element>
<xs:group name="facets">
<xs:annotation>
<xs:documentation>
We should use a substitution group for facets, but
that's ruled out because it would allow users to
add their own, which we're not ready for yet.
</xs:documentation>
</xs:annotation>
<xs:choice>
<xs:element ref="xs:minExclusive"/>
<xs:element ref="xs:minInclusive"/>
<xs:element ref="xs:maxExclusive"/>
<xs:element ref="xs:maxInclusive"/>
<xs:element ref="xs:totalDigits"/>
<xs:element ref="xs:fractionDigits"/>
<xs:element ref="xs:length"/>
<xs:element ref="xs:minLength"/>
<xs:element ref="xs:maxLength"/>
<xs:element ref="xs:enumeration"/>
<xs:element ref="xs:whiteSpace"/>
<xs:element ref="xs:pattern"/>
</xs:choice>
</xs:group>
<xs:group name="simpleRestrictionModel">
<xs:sequence>
<xs:element minOccurs="0" name="simpleType" type="xs:localSimpleType"/>
<xs:group maxOccurs="unbounded" minOccurs="0" ref="xs:facets"/>
</xs:sequence>
</xs:group>
<xs:element id="restriction" name="restriction">
<xs:complexType>
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-restriction">
base attribute and simpleType child are mutually
exclusive, but one or other is required
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:group ref="xs:simpleRestrictionModel"/>
<xs:attribute name="base" type="xs:QName" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element id="list" name="list">
<xs:complexType>
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-list">
itemType attribute and simpleType child are mutually
exclusive, but one or other is required
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:sequence>
<xs:element minOccurs="0" name="simpleType" type="xs:localSimpleType"/>
</xs:sequence>
<xs:attribute name="itemType" type="xs:QName" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element id="union" name="union">
<xs:complexType>
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-union">
memberTypes attribute must be non-empty or there must be
at least one simpleType child
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="simpleType" type="xs:localSimpleType"/>
</xs:sequence>
<xs:attribute name="memberTypes" use="optional">
<xs:simpleType>
<xs:list itemType="xs:QName"/>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:complexType name="facet">
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:attribute name="value" use="required"/>
<xs:attribute default="false" name="fixed" type="xs:boolean" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="noFixedFacet">
<xs:complexContent>
<xs:restriction base="xs:facet">
<xs:sequence>
<xs:element minOccurs="0" ref="xs:annotation"/>
</xs:sequence>
<xs:attribute name="fixed" use="prohibited"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
<xs:element id="minExclusive" name="minExclusive" type="xs:facet">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-minExclusive"/>
</xs:annotation>
</xs:element>
<xs:element id="minInclusive" name="minInclusive" type="xs:facet">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-minInclusive"/>
</xs:annotation>
</xs:element>
<xs:element id="maxExclusive" name="maxExclusive" type="xs:facet">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-maxExclusive"/>
</xs:annotation>
</xs:element>
<xs:element id="maxInclusive" name="maxInclusive" type="xs:facet">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-maxInclusive"/>
</xs:annotation>
</xs:element>
<xs:complexType name="numFacet">
<xs:complexContent>
<xs:restriction base="xs:facet">
<xs:sequence>
<xs:element minOccurs="0" ref="xs:annotation"/>
</xs:sequence>
<xs:attribute name="value" type="xs:nonNegativeInteger" use="required"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
<xs:element id="totalDigits" name="totalDigits">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-totalDigits"/>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:restriction base="xs:numFacet">
<xs:sequence>
<xs:element minOccurs="0" ref="xs:annotation"/>
</xs:sequence>
<xs:attribute name="value" type="xs:positiveInteger" use="required"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element id="fractionDigits" name="fractionDigits" type="xs:numFacet">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-fractionDigits"/>
</xs:annotation>
</xs:element>
<xs:element id="length" name="length" type="xs:numFacet">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-length"/>
</xs:annotation>
</xs:element>
<xs:element id="minLength" name="minLength" type="xs:numFacet">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-minLength"/>
</xs:annotation>
</xs:element>
<xs:element id="maxLength" name="maxLength" type="xs:numFacet">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-maxLength"/>
</xs:annotation>
</xs:element>
<xs:element id="enumeration" name="enumeration" type="xs:noFixedFacet">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-enumeration"/>
</xs:annotation>
</xs:element>
<xs:element id="whiteSpace" name="whiteSpace">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-whiteSpace"/>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:restriction base="xs:facet">
<xs:sequence>
<xs:element minOccurs="0" ref="xs:annotation"/>
</xs:sequence>
<xs:attribute name="value" use="required">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="preserve"/>
<xs:enumeration value="replace"/>
<xs:enumeration value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element id="pattern" name="pattern">
<xs:annotation>
<xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-pattern"/>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:restriction base="xs:noFixedFacet">
<xs:sequence>
<xs:element minOccurs="0" ref="xs:annotation"/>
</xs:sequence>
<xs:attribute name="value" type="xs:string" use="required"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:schema>

XML schema documentation generated with FlexDoc/XML 1.13 using FlexDoc/XML XSDDoc 2.9.5 template set. All XSD diagrams generated by FlexDoc/XML DiagramKit.