Schema "XMLSchema.xsd"
Target Namespace:
http://www.w3.org/2001/XMLSchema
Version:
1.0
Defined Components:
41 global elements, 28 local elements, 35 complexTypes, 55 simpleTypes, 12 element groups, 2 attribute groups
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:
C:\workspace\tags\midpoint-1.9\infra\schema\src\main\resources\xml\ns\standard\XMLSchema.xsd; see XML source
Imports Schema:
xml.xsd [src]
Imported by Schema:
common-1.xsd [src]
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
All Element Summary
xs:all
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:
xs:all (in xs:group)
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 witnin xs:namedGroup complexType; see XML source
Includes:
definition of attr. wildcard; 2 attr. prohibitions
xs:annotation
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
xs:any
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:
xs:anyAttribute
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:
xs:appinfo
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:
xs:attribute
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:
xs:attribute (type xs:attribute)
Type:
Content:
complex, 8 attributes, attr. wildcard, 2 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally witnin xs:attrDecls group; see XML source
xs:attributeGroup
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:
xs:attributeGroup (type xs:attributeGroupRef)
Type:
Content:
complex, 2 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally witnin xs:attrDecls group; see XML source
xs:choice
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:
xs:choice (in xs:group)
Type:
Content:
complex, 1 attribute, attr. wildcard, 6 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally witnin xs:namedGroup complexType; see XML source
xs:complexContent
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:
xs:complexType
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:
xs:complexType (type xs:localComplexType)
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
xs:documentation
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:
xs:element
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:
xs:element (type xs:localElement)
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
xs:element (type xs:narrowMaxMin)
Type:
Content:
complex, 11 attributes, attr. wildcard, 6 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally witnin xs:allModel group; see XML source
xs:enumeration
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:
xs:extension (in xs:complexContent)
Type:
Content:
complex, 2 attributes, attr. wildcard, 8 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
xs:extension (in xs:simpleContent)
Type:
Content:
complex, 2 attributes, attr. wildcard, 4 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally witnin xs:simpleContent element; see XML source
xs:field
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:
xs:fractionDigits
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:
xs:group
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:
xs:group (type xs:groupRef)
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
xs:import
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:
xs:include
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:
xs:key
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:
xs:keyref
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:
xs:length
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:
xs:list
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:
xs:maxExclusive
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:
xs:maxInclusive
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:
xs:maxLength
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:
xs:minExclusive
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:
xs:minInclusive
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:
xs:minLength
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:
xs:notation
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:
xs:pattern
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:
xs:redefine
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:
xs:restriction
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:
xs:restriction (in xs:complexContent)
Type:
Content:
complex, 2 attributes, attr. wildcard, 8 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
xs:restriction (in xs:simpleContent)
Type:
Content:
complex, 2 attributes, attr. wildcard, 17 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally witnin xs:simpleContent element; see XML source
xs:schema
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
xs:selector
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:
xs:sequence
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:
xs:sequence (in xs:group)
Type:
Content:
complex, 1 attribute, attr. wildcard, 6 elements
Block:
"#all" (blocks all substitutions of this element or its type)
Defined:
locally witnin xs:namedGroup complexType; see XML source
xs:simpleContent
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:
xs:simpleType
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:
xs:simpleType (type xs:localSimpleType)
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
xs:totalDigits
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:
xs:union
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:
xs:unique
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:
xs:whiteSpace
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:
Complex Type Summary
Only elements allowed inside
Content:
complex, 3 attributes, attr. wildcard, 2 elements
Block:
"#all" (blocks all substitutions of this complex type through xsi:type attribute in instance XML documents)
Defined:
globally; see XML source
Includes:
definitions of 2 attributes, attr. wildcard
Used:
This type is extended by all types which allow annotation other than <schema> itself
Content:
complex, 1 attribute, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this complex type through xsi:type attribute in instance XML documents)
Defined:
globally; see XML source
Includes:
definitions of 1 attribute, 1 element
Used:
at 21 locations
Not the real urType, but as close an approximation as we can get in the XML representation
Content:
mixed (allows character data), attr. wildcard, elem. wildcard
Block:
"#all" (blocks all substitutions of this complex type through xsi:type attribute in instance XML documents)
Defined:
globally; see XML source
Includes:
definitions of attr. wildcard, elem. wildcard
Used:
Content:
complex, 8 attributes, attr. wildcard, 2 elements
Block:
"#all" (blocks all substitutions of this complex type through xsi:type attribute in instance XML documents)
Defined:
globally; see XML source
Includes:
definitions of 5 attributes, 1 element
Used:
Content:
complex, 3 attributes, attr. wildcard, 4 elements
Abstract:
(cannot be assigned directly to elements used in instance XML documents)
Block:
"#all" (blocks all substitutions of this complex type through xsi:type attribute in instance XML documents)
Defined:
globally; see XML source
Used:
Content:
complex, 2 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this complex type through xsi:type attribute in instance XML documents)
Defined:
globally; see XML source
Includes:
definitions of 1 attribute, attr. wildcard, 1 element; 1 attr. probition
Used:
Content:
complex, 2 attributes, attr. wildcard, 8 elements
Block:
"#all" (blocks all substitutions of this complex type through xsi:type attribute in instance XML documents)
Defined:
globally; see XML source
Includes:
definitions of attr. wildcard, 1 element
Used:
Content:
complex, 6 attributes, attr. wildcard, 10 elements
Abstract:
(cannot be assigned directly to elements used in instance XML documents)
Block:
"#all" (blocks all substitutions of this complex type through xsi:type attribute in instance XML documents)
Defined:
globally; see XML source
Includes:
definitions of 5 attributes
Used:
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.
Content:
complex, 14 attributes, attr. wildcard, 6 elements
Abstract:
(cannot be assigned directly to elements used in instance XML documents)
Block:
"#all" (blocks all substitutions of this complex type through xsi:type attribute in instance XML documents)
Defined:
globally; see XML source
Includes:
definitions of 9 attributes, 2 elements
Used:
group type for the three kinds of group
Content:
complex, 3 attributes, attr. wildcard, 6 elements
Block:
"#all" (blocks all substitutions of this complex type through xsi:type attribute in instance XML documents)
Defined:
globally; see XML source
Includes:
definitions of attr. wildcard, 1 element; 2 attr. prohibitions
Used:
Content:
complex, 2 attributes, attr. wildcard, 8 elements
Block:
"#all" (blocks all substitutions of this complex type through xsi:type attribute in instance XML documents)
Defined:
globally; see XML source
Includes:
definition of 1 attribute
Used:
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this complex type through xsi:type attribute in instance XML documents)
Defined:
globally; see XML source
Includes:
definitions of 2 attributes
Used:
group type for explicit groups, named top-level groups and group references
Content:
complex, 5 attributes, attr. wildcard, 7 elements
Abstract:
(cannot be assigned directly to elements used in instance XML documents)
Block:
"#all" (blocks all substitutions of this complex type through xsi:type attribute in instance XML documents)
Defined:
globally; see XML source
Used:
Content:
complex, 4 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this complex type through xsi:type attribute in instance XML documents)
Defined:
globally; see XML source
Includes:
definitions of 1 attribute, attr. wildcard, 1 element; 1 attr. probition
Used:
Content:
complex, 2 attributes, attr. wildcard, 3 elements
Block:
"#all" (blocks all substitutions of this complex type through xsi:type attribute in instance XML documents)
Defined:
globally; see XML source
Includes:
definitions of 1 attribute, 2 elements
Used:
Content:
complex, 2 attributes, attr. wildcard, 10 elements
Block:
"#all" (blocks all substitutions of this complex type through xsi:type attribute in instance XML documents)
Defined:
globally; see XML source
Includes:
definitions of attr. wildcard, 1 element; 4 attr. prohibitions
Used:
Content:
complex, 11 attributes, attr. wildcard, 6 elements
Block:
"#all" (blocks all substitutions of this complex type through xsi:type attribute in instance XML documents)
Defined:
globally; see XML source
Includes:
definitions of attr. wildcard, 3 elements; 3 attr. prohibitions
Used:
Content:
complex, 1 attribute, attr. wildcard, 4 elements
Block:
"#all" (blocks all substitutions of this complex type through xsi:type attribute in instance XML documents)
Defined:
globally; see XML source
Includes:
definitions of attr. wildcard, 1 element; 2 attr. prohibitions
Used:
Content:
complex, 2 attributes, attr. wildcard, 4 elements
Block:
"#all" (blocks all substitutions of this complex type through xsi:type attribute in instance XML documents)
Defined:
globally; see XML source
Includes:
definitions of 1 attribute, attr. wildcard, 1 element; 1 attr. probition
Used:
Content:
complex, 2 attributes, attr. wildcard, 4 elements
Block:
"#all" (blocks all substitutions of this complex type through xsi:type attribute in instance XML documents)
Defined:
globally; see XML source
Includes:
definitions of 1 attribute, attr. wildcard, 4 elements; 3 attr. prohibitions
Used:
restricted max/min
Content:
complex, 11 attributes, attr. wildcard, 6 elements
Block:
"#all" (blocks all substitutions of this complex type through xsi:type attribute in instance XML documents)
Defined:
globally; see XML source
Includes:
definitions of 2 attributes, attr. wildcard, 3 elements
Used:
Content:
complex, 2 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this complex type through xsi:type attribute in instance XML documents)
Defined:
globally; see XML source
Includes:
definitions of attr. wildcard, 1 element; 1 attr. probition
Used:
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this complex type through xsi:type attribute in instance XML documents)
Defined:
globally; see XML source
Includes:
definitions of 1 attribute, attr. wildcard, 1 element
Used:
This type is extended by almost all schema types to allow attributes from other namespaces to be added to user schemas.
Content:
empty, attr. wildcard
Block:
"#all" (blocks all substitutions of this complex type through xsi:type attribute in instance XML documents)
Defined:
globally; see XML source
Includes:
definition of attr. wildcard
Used:
Content:
complex, 5 attributes, attr. wildcard, 4 elements
Block:
"#all" (blocks all substitutions of this complex type through xsi:type attribute in instance XML documents)
Defined:
globally; see XML source
Includes:
definitions of attr. wildcard, 4 elements
Used:
Content:
complex, 2 attributes, attr. wildcard, 21 elements
Block:
"#all" (blocks all substitutions of this complex type through xsi:type attribute in instance XML documents)
Defined:
globally; see XML source
Includes:
definition of 1 attribute
Used:
Content:
complex, 1 attribute, attr. wildcard, 6 elements
Block:
"#all" (blocks all substitutions of this complex type through xsi:type attribute in instance XML documents)
Defined:
globally; see XML source
Includes:
definitions of attr. wildcard, 1 element; 2 attr. prohibitions
Used:
Content:
complex, 2 attributes, attr. wildcard, 4 elements
Block:
"#all" (blocks all substitutions of this complex type through xsi:type attribute in instance XML documents)
Defined:
globally; see XML source
Includes:
definitions of attr. wildcard, 1 element
Used:
Content:
complex, 2 attributes, attr. wildcard, 17 elements
Block:
"#all" (blocks all substitutions of this complex type through xsi:type attribute in instance XML documents)
Defined:
globally; see XML source
Includes:
definitions of attr. wildcard, 1 element
Used:
Content:
complex, 3 attributes, attr. wildcard, 4 elements
Abstract:
(cannot be assigned directly to elements used in instance XML documents)
Block:
"#all" (blocks all substitutions of this complex type through xsi:type attribute in instance XML documents)
Defined:
globally; see XML source
Includes:
definitions of 2 attributes
Used:
Content:
complex, 5 attributes, attr. wildcard, 2 elements
Block:
"#all" (blocks all substitutions of this complex type through xsi:type attribute in instance XML documents)
Defined:
globally; see XML source
Includes:
definitions of 1 attribute, attr. wildcard, 2 elements; 3 attr. prohibitions
Used:
Content:
complex, 6 attributes, attr. wildcard, 10 elements
Block:
"#all" (blocks all substitutions of this complex type through xsi:type attribute in instance XML documents)
Defined:
globally; see XML source
Includes:
definitions of 1 attribute, attr. wildcard, 1 element
Used:
Content:
complex, 10 attributes, attr. wildcard, 6 elements
Block:
"#all" (blocks all substitutions of this complex type through xsi:type attribute in instance XML documents)
Defined:
globally; see XML source
Includes:
definitions of 1 attribute, attr. wildcard, 3 elements; 4 attr. prohibitions
Used:
Content:
complex, 3 attributes, attr. wildcard, 4 elements
Block:
"#all" (blocks all substitutions of this complex type through xsi:type attribute in instance XML documents)
Defined:
globally; see XML source
Includes:
definitions of 1 attribute, attr. wildcard, 1 element
Used:
Content:
complex, 3 attributes, attr. wildcard, 1 element
Block:
"#all" (blocks all substitutions of this complex type through xsi:type attribute in instance XML documents)
Defined:
globally; see XML source
Includes:
definitions of 2 attributes
Used:
Simple Type Summary
for maxOccurs
Defined:
globally; see XML source
Used:
Defined:
globally; see XML source
Used:
at 38 locations
Defined:
globally; see XML source
Used:
at 12 locations
A utility type, not for public use #all or (possibly empty) subset of {substitution, extension, restriction}
Defined:
globally; see XML source
Used:
Defined:
globally; see XML source
Used:
at 30 locations
Defined:
globally; see XML source
Used:
never
Defined:
globally; see XML source
Used:
never
Defined:
globally; see XML source
Used:
Defined:
globally; see XML source
Used:
A utility type, not for public use
Defined:
globally; see XML source
Used:
A utility type, not for public use #all or (possibly empty) subset of {extension, restriction}
Defined:
globally; see XML source
Used:
Defined:
globally; see XML source
Used:
never
Defined:
globally; see XML source
Used:
never
Defined:
globally; see XML source
Used:
never
Defined:
globally; see XML source
Used:
Defined:
globally; see XML source
Used:
never
A utility type, not for public use
Defined:
globally; see XML source
Used:
A utility type, not for public use #all or (possibly empty) subset of {extension, restriction, list, union}
Defined:
globally; see XML source
Used:
Defined:
globally; see XML source
Used:
never
Defined:
globally; see XML source
Used:
never
Defined:
globally; see XML source
Used:
never
Defined:
globally; see XML source
Used:
never
Defined:
globally; see XML source
Used:
never
Defined:
globally; see XML source
Used:
never
Defined:
globally; see XML source
Used:
at 17 locations
Defined:
globally; see XML source
Used:
Defined:
globally; see XML source
Used:
never
Defined:
globally; see XML source
Used:
at 17 locations
Defined:
globally; see XML source
Used:
at 28 locations
Defined:
globally; see XML source
Used:
Defined:
globally; see XML source
Used:
Defined:
globally; see XML source
Used:
A utility type, not for public use
Defined:
globally; see XML source
Used:
Defined:
globally; see XML source
Used:
at 15 locations
Defined:
globally; see XML source
Used:
never
Defined:
globally; see XML source
Used:
Defined:
globally; see XML source
Used:
never
Defined:
globally; see XML source
Used:
Defined:
globally; see XML source
Used:
Defined:
globally; see XML source
Used:
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.
Defined:
globally; see XML source
Used:
never
Defined:
globally; see XML source
Used:
A utility type, not for public use A public identifier, per ISO 8879
Defined:
globally; see XML source
Used:
Defined:
globally; see XML source
Used:
at 23 locations
A utility type, not for public use
Defined:
globally; see XML source
Used:
Defined:
globally; see XML source
Used:
#all or (possibly empty) subset of {restriction, union, list} A utility type, not for public use
Defined:
globally; see XML source
Used:
Defined:
globally; see XML source
Used:
at 112 locations
Defined:
globally; see XML source
Used:
never
Defined:
globally; see XML source
Used:
at 13 locations
A utility type, not for public use
Defined:
globally; see XML source
Used:
Defined:
globally; see XML source
Used:
never
Defined:
globally; see XML source
Used:
Defined:
globally; see XML source
Used:
Defined:
globally; see XML source
Used:
Element Group Summary
Content:
Defined:
globally; see XML source
Includes:
definitions of 2 elements
Used:
Content:
Defined:
globally; see XML source
Includes:
definitions of 3 elements
Used:
Content:
Defined:
globally; see XML source
Includes:
definitions of 2 elements
Used:
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.
Content:
Defined:
globally; see XML source
Includes:
definitions of 12 elements
Used:
The three kinds of identity constraints, all with type of or derived from 'keybase'.
Content:
Defined:
globally; see XML source
Includes:
definitions of 3 elements
Used:
Content:
Defined:
globally; see XML source
Includes:
definitions of 5 elements
Used:
Content:
Defined:
globally; see XML source
Includes:
definitions of 6 elements
Used:
This group is for the elements which can self-redefine (see <redefine> below).
Content:
Defined:
globally; see XML source
Includes:
definitions of 4 elements
Used:
This group is for the elements which occur freely at the top level of schemas.
Content:
Defined:
globally; see XML source
Includes:
definitions of 3 elements
Used:
Content:
Defined:
globally; see XML source
Includes:
definitions of 3 elements
Used:
Content:
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
'complexType' uses this
Content:
Defined:
globally; see XML source
Includes:
definitions of 4 elements
Used:
Attribute Group Summary
for element, group and attributeGroup, which both define and reference
Content:
Defined:
globally; see XML source
Includes:
definitions of 2 attributes
Used:
for all particles
Content:
Defined:
globally; see XML source
Includes:
definitions of 2 attributes
Used:
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>
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="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: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: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: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: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: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: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:annotation>
</xs:element>
<xs:element id="choice" name="choice" type="xs:explicitGroup">
<xs:annotation>
</xs:annotation>
</xs:element>
<xs:element id="sequence" name="sequence" type="xs:explicitGroup">
<xs:annotation>
</xs:annotation>
</xs:element>
<xs:element id="group" name="group" type="xs:namedGroup">
<xs:annotation>
</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: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: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:annotation>
</xs:element>
<xs:element id="include" name="include">
<xs:annotation>
</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: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: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: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: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:annotation>
</xs:element>
<xs:element id="key" name="key" type="xs:keybase">
<xs:annotation>
</xs:annotation>
</xs:element>
<xs:element id="keyref" name="keyref">
<xs:annotation>
</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: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: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: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: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: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: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: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>
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: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: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: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: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: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: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: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: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: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>
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>
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>
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:annotation>
</xs:element>
<xs:element id="minInclusive" name="minInclusive" type="xs:facet">
<xs:annotation>
</xs:annotation>
</xs:element>
<xs:element id="maxExclusive" name="maxExclusive" type="xs:facet">
<xs:annotation>
</xs:annotation>
</xs:element>
<xs:element id="maxInclusive" name="maxInclusive" type="xs:facet">
<xs:annotation>
</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: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:annotation>
</xs:element>
<xs:element id="length" name="length" type="xs:numFacet">
<xs:annotation>
</xs:annotation>
</xs:element>
<xs:element id="minLength" name="minLength" type="xs:numFacet">
<xs:annotation>
</xs:annotation>
</xs:element>
<xs:element id="maxLength" name="maxLength" type="xs:numFacet">
<xs:annotation>
</xs:annotation>
</xs:element>
<xs:element id="enumeration" name="enumeration" type="xs:noFixedFacet">
<xs:annotation>
</xs:annotation>
</xs:element>
<xs:element id="whiteSpace" name="whiteSpace">
<xs:annotation>
</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: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>

This XML schema documentation has been generated with DocFlex/XML RE 1.8.5 using DocFlex/XML XSDDoc 2.5.0 template set.
DocFlex/XML RE is a reduced edition of DocFlex/XML, which is a tool for programming and running highly sophisticated documentation and reports generators by the data obtained from any kind of XML files. The actual doc-generators are implemented in the form of special templates that are designed visually using a high-quality Template Designer GUI basing on the XML schema (or DTD) files describing the data source XML.
DocFlex/XML XSDDoc is a commercial template application of DocFlex/XML that implements a high-quality XML Schema documentation generator with simultaneous support of framed multi-file HTML, single-file HTML and RTF output formats. (More formats are planned in the future).
A commercial license for "DocFlex/XML XSDDoc" will allow you:
  • To configure the generated documentation so much as you want. Thanks to our template technology, it was possible to support > 400 template parameters, which work the same as "options" of ordinary doc-generators. The parameters are organized in nested groups, which form a parameter tree. Most of them have their default values calculated dynamically from a few primary parameters. So, you'll never need to specify all of them. That will give you swift and effective control over the generated content!
  • To use certain features disabled in the free mode (such as the full documenting of substitution groups).
  • To select only the initial, imported, included, redefined XML schemas to be documented or only those directly specified by name.
  • To include only XML schema components specified by name.
  • To document local element components both globally and locally (similar to attributes).
  • To allow/suppress unification of local elements by type.
  • To enable/disable reproducing of namespace prefixes.
  • To use PlainDoc.tpl main template to generate all the XML schema documentation in a signle-file form as both HTML and incredible quality RTF output.
  • To format your annotations with XHTML tags and reproduce that formatting both in HTML and RTF output.
  • To insert images in your annotations using XHTML <img> tags (supported both in HTML and RTF output).
  • To remove this very advertisement text!
Once having only such a license, you will be able to run the fully-featured XML schema documentation generator both with DocFlex/XML (Full Edition) and with DocFlex/XML RE, which is a reduced free edition containing only the template interpretor / output generator. No other licenses will be required!
But this is not all. In addition to it, a commercial license for "DocFlex/XML SDK" will allow you to modify the XSDDoc templates themselves as much as you want. You will be able to achieve whatever was impossible to do with the template parameters only. And, of course, you could develop any template applications by your own!
Please note that by purchasing a license for this software, you not only acquire a useful tool, you will also make an important investment in its future development, the results of which you could enjoy later by yourself. Every single your purchase matters and makes a difference for us!
To purchase a license, please follow this link: http://www.filigris.com/shop/