XML Schema Documentation

Table of Contents

top

Schema Document Properties

Target Namespace http://www.w3.org/2001/XMLSchema
Version 1.0
Language EN
Element and Attribute Namespaces
  • Global element and attribute declarations belong to this schema's target namespace.
  • By default, local element declarations belong to this schema's target namespace.
  • By default, local attribute declarations have no namespace.
Schema Composition
  • This schema imports schema(s) from the following namespace(s):
    • http://www.w3.org/XML/1998/namespace (at http://www.w3.org/2001/xml.xsd)
Documentation Part 1 version: structures.xsd (rec-20120405) Part 2 version: datatypes.xsd (rec-20120405)

The schema corresponding to this document is normative, with respect to the syntactic constraints it expresses in the XML Schema Definition 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 below (at the bottom of this document) for information about the revision and namespace-versioning policy governing this schema document.
More information at: ../structures/structures.html.

The simpleType element and all of its members are defined towards the end of this schema document.

simple type for the value of the 'namespace' attr of 'any' and 'anyAttribute'

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

notations for use within schema documents

In keeping with the XML Schema WG's standard versioning policy, the material in this schema document will persist at the URI http://www.w3.org/2012/04/XMLSchema.xsd. At the date of issue it can also be found at the URI http://www.w3.org/2009/XMLSchema/XMLSchema.xsd. The schema document at that URI may however change in the future, in order to remain compatible with the latest version of XSD and its namespace. In other words, if XSD or the XML Schema namespace change, the version of this document at http://www.w3.org/2009/XMLSchema/XMLSchema.xsd will change accordingly; the version at http://www.w3.org/2012/04/XMLSchema.xsd will not change. Previous dated (and unchanging) versions of this schema document include: http://www.w3.org/2012/01/XMLSchema.xsd (XSD 1.1 Proposed Recommendation) http://www.w3.org/2011/07/XMLSchema.xsd (XSD 1.1 Candidate Recommendation) http://www.w3.org/2009/04/XMLSchema.xsd (XSD 1.1 Candidate Recommendation) http://www.w3.org/2004/10/XMLSchema.xsd (XSD 1.0 Recommendation, Second Edition) http://www.w3.org/2001/05/XMLSchema.xsd (XSD 1.0 Recommendation, First Edition)

In keeping with the XML Schema WG's standard versioning policy, this schema document will persist at the URI http://www.w3.org/2012/04/datatypes.xsd. At the date of issue it can also be found at the URI http://www.w3.org/2009/XMLSchema/datatypes.xsd. The schema document at that URI may however change in the future, in order to remain compatible with the latest version of XSD and its namespace. In other words, if XSD or the XML Schema namespace change, the version of this document at http://www.w3.org/2009/XMLSchema/datatypes.xsd will change accordingly; the version at http://www.w3.org/2012/04/datatypes.xsd will not change. Previous dated (and unchanging) versions of this schema document include: http://www.w3.org/2012/01/datatypes.xsd (XSD 1.1 Proposed Recommendation) http://www.w3.org/2011/07/datatypes.xsd (XSD 1.1 Candidate Recommendation) http://www.w3.org/2009/04/datatypes.xsd (XSD 1.1 Candidate Recommendation) http://www.w3.org/2004/10/datatypes.xsd (XSD 1.0 Recommendation, Second Edition) http://www.w3.org/2001/05/datatypes.xsd (XSD 1.0 Recommendation, First Edition)

Declared Namespaces

Prefix Namespace
xml http://www.w3.org/XML/1998/namespace
xs http://www.w3.org/2001/XMLSchema
Schema Component Representation
<xs:schema xml:lang="EN" elementFormDefault="qualified" targetNamespace="http://www.w3.org/2001/XMLSchema" version="1.0">
<xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
...
</xs:schema>
top

Global Declarations

Element: all

Name all
Type xs:all
Nillable no
Abstract no
Documentation More information at: ../structures/structures.html#element-all.
XML Instance Representation
<xs:all
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).

minOccurs="xs:nonNegativeInteger (value comes from list: {'0'|'1'}) [0..1]"
maxOccurs="xs:allNNI (value comes from list: {'0'|'1'}) [0..1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
Start Choice [0..*] ?
<xs:element> xs:localElement </xs:element> [1]
<xs:any> ... </xs:any> [1]
<xs:group
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).

ref="xs:QName [1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).

minOccurs="1 [0..1]"
maxOccurs="1 [0..1]"> [1]
<xs:annotation> ... </xs:annotation> [0..1]
</xs:group>
End Choice
</xs:all>
Schema Component Representation
<xs:element name="all" type="xs:all" id="all"/>
top

Element: annotation

Name annotation
Type Locally-defined complex type
Nillable no
Abstract no
Documentation More information at: ../structures/structures.html#element-annotation.
XML Instance Representation
<xs:annotation
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]">
Start Choice [0..*]
<xs:appinfo> ... </xs:appinfo> [1]
<xs:documentation> ... </xs:documentation> [1]
End Choice
</xs:annotation>
Schema Component Representation
<xs:element name="annotation" id="annotation">
<xs:complexType>
<xs:complexContent>
<xs:extension base="xs:openAttrs">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<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>
top

Element: any

Name any
Type Locally-defined complex type
Nillable no
Abstract no
Documentation More information at: ../structures/structures.html#element-any.
XML Instance Representation
<xs:any
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
namespace="xs:namespaceList [0..1]"
notNamespace="xs:basicNamespaceList (length >= 1) [0..1]"
processContents="xs:NMTOKEN (value comes from list: {'skip'|'lax'|'strict'}) [0..1]"
notQName="xs:qnameList [0..1]"
minOccurs="xs:nonNegativeInteger [0..1]"
maxOccurs="xs:allNNI [0..1]">
<xs:annotation> ... </xs:annotation> [0..1]
</xs:any>
Schema Component Representation
<xs:element name="any" id="any">
<xs:complexType>
<xs:complexContent>
<xs:extension base="xs:wildcard">
<xs:attribute name="notQName" type="xs:qnameList" use="optional"/>
<xs:attributeGroup ref="xs:occurs"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
top

Element: anyAttribute

Name anyAttribute
Type Locally-defined complex type
Nillable no
Abstract no
Documentation More information at: ../structures/structures.html#element-anyAttribute.
XML Instance Representation
<xs:anyAttribute
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
namespace="xs:namespaceList [0..1]"
notNamespace="xs:basicNamespaceList (length >= 1) [0..1]"
processContents="xs:NMTOKEN (value comes from list: {'skip'|'lax'|'strict'}) [0..1]"
notQName="xs:qnameListA [0..1]">
<xs:annotation> ... </xs:annotation> [0..1]
</xs:anyAttribute>
Schema Component Representation
<xs:element name="anyAttribute" id="anyAttribute">
<xs:complexType>
<xs:complexContent>
<xs:extension base="xs:wildcard">
<xs:attribute name="notQName" type="xs:qnameListA" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
top

Element: appinfo

Name appinfo
Type Locally-defined complex type
Nillable no
Abstract no
Documentation More information at: ../structures/structures.html#element-appinfo.
XML Instance Representation
<xs:appinfo
source="xs:anyURI [0..1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<!-- Mixed content -->
Start Sequence [0..*]
Allow any elements from any namespace (lax validation). [1]
End Sequence
</xs:appinfo>
Schema Component Representation
<xs:element name="appinfo" id="appinfo">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:any processContents="lax"/>
</xs:sequence>
<xs:attribute name="source" type="xs:anyURI"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
</xs:element>
top

Element: assertion

  • This element can be used wherever the following element is referenced:
Name assertion
Type xs:assertion
Nillable no
Abstract no
Documentation More information at: http://www.w3.org/TR/xmlschema11-2/#element-assertion.
XML Instance Representation
<xs:assertion
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
test="xs:string [0..1]"
xpathDefaultNamespace="xs:xpathDefaultNamespace [0..1]">
<xs:annotation> ... </xs:annotation> [0..1]
</xs:assertion>
Schema Component Representation
<xs:element name="assertion" type="xs:assertion" id="assertion" substitutionGroup="xs:facet"/>
top

Element: attribute

Name attribute
Type xs:topLevelAttribute
Nillable no
Abstract no
Documentation More information at: ../structures/structures.html#element-attribute.
XML Instance Representation
<xs:attribute
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
type="xs:QName [0..1]"
default="xs:string [0..1]"
fixed="xs:string [0..1]"
name="xs:NCName [1]"
inheritable="xs:boolean [0..1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
<xs:simpleType> xs:localSimpleType </xs:simpleType> [0..1]
</xs:attribute>
Schema Component Representation
<xs:element name="attribute" type="xs:topLevelAttribute" id="attribute"/>
top

Element: attributeGroup

Name attributeGroup
Type xs:namedAttributeGroup
Nillable no
Abstract no
Documentation More information at: ../structures/structures.html#element-attributeGroup.
XML Instance Representation
<xs:attributeGroup
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
name="xs:NCName [1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
Start Choice [0..*]
<xs:attribute> xs:attribute </xs:attribute> [1]
<xs:attributeGroup> xs:attributeGroupRef </xs:attributeGroup> [1]
End Choice
<xs:anyAttribute> ... </xs:anyAttribute> [0..1]
</xs:attributeGroup>
Schema Component Representation
<xs:element name="attributeGroup" type="xs:namedAttributeGroup" id="attributeGroup"/>
top

Element: choice

Name choice
Type xs:explicitGroup
Nillable no
Abstract no
Documentation More information at: ../structures/structures.html#element-choice.
XML Instance Representation
<xs:choice
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
minOccurs="xs:nonNegativeInteger [0..1]"
maxOccurs="xs:allNNI [0..1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
Start Group: xs:nestedParticle [0..*]
Start Choice [1]
<xs:element> xs:localElement </xs:element> [1]
<xs:group> xs:groupRef </xs:group> [1]
<xs:choice> ... </xs:choice> [1]
<xs:sequence> ... </xs:sequence> [1]
<xs:any> ... </xs:any> [1]
End Choice
End Group: xs:nestedParticle
</xs:choice>
Schema Component Representation
<xs:element name="choice" type="xs:explicitGroup" id="choice"/>
top

Element: complexContent

Name complexContent
Type Locally-defined complex type
Nillable no
Abstract no
Documentation More information at: ../structures/structures.html#element-complexContent.
XML Instance Representation
<xs:complexContent
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
mixed="xs:boolean [0..1] ?">
<xs:annotation> ... </xs:annotation> [0..1]
Start Choice [1]
<xs:restriction> xs:complexRestrictionType </xs:restriction> [1]
<xs:extension> xs:extensionType </xs:extension> [1]
End Choice
</xs:complexContent>
Schema Component Representation
<xs:element name="complexContent" id="complexContent">
<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:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
top

Element: complexType

Name complexType
Type xs:topLevelComplexType
Nillable no
Abstract no
Documentation More information at: ../structures/structures.html#element-complexType.
XML Instance Representation
<xs:complexType
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
mixed="xs:boolean [0..1] ?"
abstract="xs:boolean [0..1]"
final="xs:derivationSet [0..1]"
block="xs:derivationSet [0..1]"
defaultAttributesApply="xs:boolean [0..1]"
name="xs:NCName [1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
Start Choice [1]
<xs:simpleContent> ... </xs:simpleContent> [1]
<xs:complexContent> ... </xs:complexContent> [1]
<xs:openContent> ... </xs:openContent> [0..1]
Start Group: xs:typeDefParticle [0..1]
Start Choice [1]
<xs:group> xs:groupRef </xs:group> [1]
<xs:all> ... </xs:all> [1]
<xs:choice> ... </xs:choice> [1]
<xs:sequence> ... </xs:sequence> [1]
End Choice
End Group: xs:typeDefParticle
Start Choice [0..*]
<xs:attribute> xs:attribute </xs:attribute> [1]
<xs:attributeGroup> xs:attributeGroupRef </xs:attributeGroup> [1]
End Choice
<xs:anyAttribute> ... </xs:anyAttribute> [0..1]
<xs:assert> xs:assertion </xs:assert> [0..*]
End Choice
</xs:complexType>
Schema Component Representation
<xs:element name="complexType" type="xs:topLevelComplexType" id="complexType"/>
top

Element: defaultOpenContent

Name defaultOpenContent
Type Locally-defined complex type
Nillable no
Abstract no
Documentation More information at: ../structures/structures.html#element-defaultOpenContent.
XML Instance Representation
<xs:defaultOpenContent
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
appliesToEmpty="xs:boolean [0..1]"
mode="xs:NMTOKEN (value comes from list: {'interleave'|'suffix'}) [0..1]">
<xs:annotation> ... </xs:annotation> [0..1]
<xs:any> xs:wildcard </xs:any> [1]
</xs:defaultOpenContent>
Schema Component Representation
<xs:element name="defaultOpenContent" id="defaultOpenContent">
<xs:complexType>
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:sequence>
<xs:element name="any" type="xs:wildcard"/>
</xs:sequence>
<xs:attribute name="appliesToEmpty" type="xs:boolean" default="false" use="optional"/>
<xs:attribute name="mode" default="interleave" use="optional">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="interleave"/>
<xs:enumeration value="suffix"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
top

Element: documentation

Name documentation
Type Locally-defined complex type
Nillable no
Abstract no
Documentation More information at: ../structures/structures.html#element-documentation.
XML Instance Representation
<xs:documentation
source="xs:anyURI [0..1]"
xml:lang="[0..1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<!-- Mixed content -->
Start Sequence [0..*]
Allow any elements from any namespace (lax validation). [1]
End Sequence
</xs:documentation>
Schema Component Representation
<xs:element name="documentation" id="documentation">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<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>
top

Element: element

Name element
Type xs:topLevelElement
Nillable no
Abstract no
Documentation More information at: ../structures/structures.html#element-element.
XML Instance Representation
<xs:element
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
type="xs:QName [0..1]"
substitutionGroup="list of: xs:QName [0..1]"
default="xs:string [0..1]"
fixed="xs:string [0..1]"
nillable="xs:boolean [0..1]"
abstract="xs:boolean [0..1]"
final="xs:derivationSet [0..1]"
block="xs:blockSet [0..1]"
name="xs:NCName [1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
Start Choice [0..1]
<xs:simpleType> xs:localSimpleType </xs:simpleType> [1]
<xs:complexType> xs:localComplexType </xs:complexType> [1]
End Choice
<xs:alternative> xs:altType </xs:alternative> [0..*]
Start Group: xs:identityConstraint [0..*]
Start Choice [1]
<xs:unique> ... </xs:unique> [1]
<xs:key> ... </xs:key> [1]
<xs:keyref> ... </xs:keyref> [1]
End Choice
End Group: xs:identityConstraint
</xs:element>
Schema Component Representation
<xs:element name="element" type="xs:topLevelElement" id="element"/>
top

Element: enumeration

  • This element can be used wherever the following element is referenced:
Name enumeration
Type xs:noFixedFacet
Nillable no
Abstract no
Documentation More information at: http://www.w3.org/TR/xmlschema11-2/#element-enumeration.
XML Instance Representation
<xs:enumeration
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
value="anySimpleType [1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
</xs:enumeration>
Schema Component Representation
<xs:element name="enumeration" type="xs:noFixedFacet" id="enumeration" substitutionGroup="xs:facet"/>
top

Element: explicitTimezone

  • This element can be used wherever the following element is referenced:
Name explicitTimezone
Type Locally-defined complex type
Nillable no
Abstract no
Documentation More information at: http://www.w3.org/TR/xmlschema11-2/#element-explicitTimezone.
XML Instance Representation
<xs:explicitTimezone
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
fixed="xs:boolean [0..1]"
value="xs:NMTOKEN (value comes from list: {'optional'|'required'|'prohibited'}) [1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
</xs:explicitTimezone>
Schema Component Representation
<xs:element name="explicitTimezone" id="explicitTimezone" substitutionGroup="xs:facet">
<xs:complexType>
<xs:complexContent>
<xs:restriction base="xs:facet">
<xs:sequence>
<xs:element ref="xs:annotation" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="value" use="required">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="optional"/>
<xs:enumeration value="required"/>
<xs:enumeration value="prohibited"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:element>
top

Element: facet

Name facet
Type anyType
Nillable no
Abstract yes
Documentation An abstract element, representing facets in general. The facets defined by this spec are substitutable for this element, and implementation-defined facets should also name this as a substitution-group head.
XML Instance Representation
<xs:facet> ... </xs:facet>
Schema Component Representation
<xs:element name="facet" abstract="true"/>
top

Element: field

Name field
Type Locally-defined complex type
Nillable no
Abstract no
Documentation More information at: ../structures/structures.html#element-field.
XML Instance Representation
<xs:field
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
xpath="xs:token [1]"
xpathDefaultNamespace="xs:xpathDefaultNamespace [0..1]">
<xs:annotation> ... </xs:annotation> [0..1]
</xs:field>
Schema Component Representation
<xs:element name="field" id="field">
<xs:complexType>
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:attribute name="xpath" use="required">
<xs:simpleType>
<xs:restriction base="xs:token"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="xpathDefaultNamespace" type="xs:xpathDefaultNamespace"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
top

Element: fractionDigits

  • This element can be used wherever the following element is referenced:
Name fractionDigits
Type xs:numFacet
Nillable no
Abstract no
Documentation More information at: http://www.w3.org/TR/xmlschema11-2/#element-fractionDigits.
XML Instance Representation
<xs:fractionDigits
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
fixed="xs:boolean [0..1]"
value="xs:nonNegativeInteger [1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
</xs:fractionDigits>
Schema Component Representation
<xs:element name="fractionDigits" type="xs:numFacet" id="fractionDigits" substitutionGroup="xs:facet"/>
top

Element: group

Name group
Type xs:namedGroup
Nillable no
Abstract no
Documentation More information at: ../structures/structures.html#element-group.
XML Instance Representation
<xs:group
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).

name="xs:NCName [1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
Start Choice [1]
<xs:all
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).
> [1]
<xs:annotation> ... </xs:annotation> [0..1]
Start Choice [0..*] ?
<xs:element> xs:localElement </xs:element> [1]
<xs:any> ... </xs:any> [1]
<xs:group
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).

ref="xs:QName [1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).

minOccurs="1 [0..1]"
maxOccurs="1 [0..1]"> [1]
<xs:annotation> ... </xs:annotation> [0..1]
</xs:group>
End Choice
</xs:all>
<xs:choice> xs:simpleExplicitGroup </xs:choice> [1]
<xs:sequence> xs:simpleExplicitGroup </xs:sequence> [1]
End Choice
</xs:group>
Schema Component Representation
<xs:element name="group" type="xs:namedGroup" id="group"/>
top

Element: import

Name import
Type Locally-defined complex type
Nillable no
Abstract no
Documentation More information at: ../structures/structures.html#element-import.
XML Instance Representation
<xs:import
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
namespace="xs:anyURI [0..1]"
schemaLocation="xs:anyURI [0..1]">
<xs:annotation> ... </xs:annotation> [0..1]
</xs:import>
Schema Component Representation
<xs:element name="import" id="import">
<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>
top

Element: include

Name include
Type Locally-defined complex type
Nillable no
Abstract no
Documentation More information at: ../structures/structures.html#element-include.
XML Instance Representation
<xs:include
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
schemaLocation="xs:anyURI [1]">
<xs:annotation> ... </xs:annotation> [0..1]
</xs:include>
Schema Component Representation
<xs:element name="include" id="include">
<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>
top

Element: key

Name key
Type xs:keybase
Nillable no
Abstract no
Documentation More information at: ../structures/structures.html#element-key.
XML Instance Representation
<xs:key
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
name="xs:NCName [0..1]"
ref="xs:QName [0..1]">
<xs:annotation> ... </xs:annotation> [0..1]
Start Sequence [0..1]
<xs:selector> ... </xs:selector> [1]
<xs:field> ... </xs:field> [1..*]
End Sequence
</xs:key>
Schema Component Representation
<xs:element name="key" type="xs:keybase" id="key"/>
top

Element: keyref

Name keyref
Type Locally-defined complex type
Nillable no
Abstract no
Documentation More information at: ../structures/structures.html#element-keyref.
XML Instance Representation
<xs:keyref
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
name="xs:NCName [0..1]"
ref="xs:QName [0..1]"
refer="xs:QName [0..1]">
<xs:annotation> ... </xs:annotation> [0..1]
Start Sequence [0..1]
<xs:selector> ... </xs:selector> [1]
<xs:field> ... </xs:field> [1..*]
End Sequence
</xs:keyref>
Schema Component Representation
<xs:element name="keyref" id="keyref">
<xs:complexType>
<xs:complexContent>
<xs:extension base="xs:keybase">
<xs:attribute name="refer" type="xs:QName"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
top

Element: length

  • This element can be used wherever the following element is referenced:
Name length
Type xs:numFacet
Nillable no
Abstract no
Documentation More information at: http://www.w3.org/TR/xmlschema11-2/#element-length.
XML Instance Representation
<xs:length
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
fixed="xs:boolean [0..1]"
value="xs:nonNegativeInteger [1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
</xs:length>
Schema Component Representation
<xs:element name="length" type="xs:numFacet" id="length" substitutionGroup="xs:facet"/>
top

Element: list

Name list
Type Locally-defined complex type
Nillable no
Abstract no
XML Instance Representation
<xs:list
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
itemType="xs:QName [0..1]">
<xs:annotation> ... </xs:annotation> [0..1]
<xs:simpleType> xs:localSimpleType </xs:simpleType> [0..1]
</xs:list>
Schema Component Representation
<xs:element name="list" id="list">
<xs:complexType>
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:sequence>
<xs:element name="simpleType" type="xs:localSimpleType" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="itemType" type="xs:QName" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
top

Element: maxExclusive

  • This element can be used wherever the following element is referenced:
Name maxExclusive
Type xs:facet
Nillable no
Abstract no
Documentation More information at: http://www.w3.org/TR/xmlschema11-2/#element-maxExclusive.
XML Instance Representation
<xs:maxExclusive
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
value="anySimpleType [1]"
fixed="xs:boolean [0..1]">
<xs:annotation> ... </xs:annotation> [0..1]
</xs:maxExclusive>
Schema Component Representation
<xs:element name="maxExclusive" type="xs:facet" id="maxExclusive" substitutionGroup="xs:facet"/>
top

Element: maxInclusive

  • This element can be used wherever the following element is referenced:
Name maxInclusive
Type xs:facet
Nillable no
Abstract no
Documentation More information at: http://www.w3.org/TR/xmlschema11-2/#element-maxInclusive.
XML Instance Representation
<xs:maxInclusive
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
value="anySimpleType [1]"
fixed="xs:boolean [0..1]">
<xs:annotation> ... </xs:annotation> [0..1]
</xs:maxInclusive>
Schema Component Representation
<xs:element name="maxInclusive" type="xs:facet" id="maxInclusive" substitutionGroup="xs:facet"/>
top

Element: maxLength

  • This element can be used wherever the following element is referenced:
Name maxLength
Type xs:numFacet
Nillable no
Abstract no
Documentation More information at: http://www.w3.org/TR/xmlschema11-2/#element-maxLength.
XML Instance Representation
<xs:maxLength
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
fixed="xs:boolean [0..1]"
value="xs:nonNegativeInteger [1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
</xs:maxLength>
Schema Component Representation
<xs:element name="maxLength" type="xs:numFacet" id="maxLength" substitutionGroup="xs:facet"/>
top

Element: minExclusive

  • This element can be used wherever the following element is referenced:
Name minExclusive
Type xs:facet
Nillable no
Abstract no
Documentation More information at: http://www.w3.org/TR/xmlschema11-2/#element-minExclusive.
XML Instance Representation
<xs:minExclusive
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
value="anySimpleType [1]"
fixed="xs:boolean [0..1]">
<xs:annotation> ... </xs:annotation> [0..1]
</xs:minExclusive>
Schema Component Representation
<xs:element name="minExclusive" type="xs:facet" id="minExclusive" substitutionGroup="xs:facet"/>
top

Element: minInclusive

  • This element can be used wherever the following element is referenced:
Name minInclusive
Type xs:facet
Nillable no
Abstract no
Documentation More information at: http://www.w3.org/TR/xmlschema11-2/#element-minInclusive.
XML Instance Representation
<xs:minInclusive
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
value="anySimpleType [1]"
fixed="xs:boolean [0..1]">
<xs:annotation> ... </xs:annotation> [0..1]
</xs:minInclusive>
Schema Component Representation
<xs:element name="minInclusive" type="xs:facet" id="minInclusive" substitutionGroup="xs:facet"/>
top

Element: minLength

  • This element can be used wherever the following element is referenced:
Name minLength
Type xs:numFacet
Nillable no
Abstract no
Documentation More information at: http://www.w3.org/TR/xmlschema11-2/#element-minLength.
XML Instance Representation
<xs:minLength
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
fixed="xs:boolean [0..1]"
value="xs:nonNegativeInteger [1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
</xs:minLength>
Schema Component Representation
<xs:element name="minLength" type="xs:numFacet" id="minLength" substitutionGroup="xs:facet"/>
top

Element: notation

Name notation
Type Locally-defined complex type
Nillable no
Abstract no
Documentation More information at: ../structures/structures.html#element-notation.
XML Instance Representation
<xs:notation
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
name="xs:NCName [1]"
public="xs:public [0..1]"
system="xs:anyURI [0..1]">
<xs:annotation> ... </xs:annotation> [0..1]
</xs:notation>
Schema Component Representation
<xs:element name="notation" id="notation">
<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>
top

Element: openContent

Name openContent
Type Locally-defined complex type
Nillable no
Abstract no
Documentation More information at: ../structures/structures.html#element-openContent.
XML Instance Representation
<xs:openContent
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
mode="xs:NMTOKEN (value comes from list: {'none'|'interleave'|'suffix'}) [0..1]">
<xs:annotation> ... </xs:annotation> [0..1]
<xs:any> xs:wildcard </xs:any> [0..1]
</xs:openContent>
Schema Component Representation
<xs:element name="openContent" id="openContent">
<xs:complexType>
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:sequence>
<xs:element name="any" type="xs:wildcard" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="mode" default="interleave" use="optional">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="none"/>
<xs:enumeration value="interleave"/>
<xs:enumeration value="suffix"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
top

Element: override

Name override
Type Locally-defined complex type
Nillable no
Abstract no
Documentation More information at: ../structures/structures.html#element-override.
XML Instance Representation
<xs:override
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

schemaLocation="xs:anyURI [1]"
id="xs:ID [0..1]">
<xs:annotation> ... </xs:annotation> [0..1]
Start Group: xs:schemaTop [0..*]
Start Choice [1]
Start Choice [1]
<xs:simpleType> ... </xs:simpleType> [1]
<xs:complexType> ... </xs:complexType> [1]
<xs:group> ... </xs:group> [1]
<xs:attributeGroup> ... </xs:attributeGroup> [1]
End Choice
<xs:element> ... </xs:element> [1]
<xs:attribute> ... </xs:attribute> [1]
<xs:notation> ... </xs:notation> [1]
End Choice
End Group: xs:schemaTop
</xs:override>
Schema Component Representation
<xs:element name="override" id="override">
<xs:complexType>
<xs:complexContent>
<xs:extension base="xs:openAttrs">
<xs:sequence>
<xs:element ref="xs:annotation" minOccurs="0"/>
<xs:group ref="xs:schemaTop" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="schemaLocation" type="xs:anyURI" use="required"/>
<xs:attribute name="id" type="xs:ID"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
top

Element: pattern

  • This element can be used wherever the following element is referenced:
Name pattern
Type Locally-defined complex type
Nillable no
Abstract no
Documentation More information at: http://www.w3.org/TR/xmlschema11-2/#element-pattern.
XML Instance Representation
<xs:pattern
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).

value="xs:string [1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
</xs:pattern>
Schema Component Representation
<xs:element name="pattern" id="pattern" substitutionGroup="xs:facet">
<xs:complexType>
<xs:complexContent>
<xs:restriction base="xs:noFixedFacet">
<xs:sequence>
<xs:element ref="xs:annotation" minOccurs="0"/>
</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>
top

Element: redefine

Name redefine
Type Locally-defined complex type
Nillable no
Abstract no
Documentation More information at: ../structures/structures.html#element-redefine.
XML Instance Representation
<xs:redefine
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

schemaLocation="xs:anyURI [1]"
id="xs:ID [0..1]">
Start Choice [0..*]
<xs:annotation> ... </xs:annotation> [1]
Start Choice [1]
<xs:simpleType> ... </xs:simpleType> [1]
<xs:complexType> ... </xs:complexType> [1]
<xs:group> ... </xs:group> [1]
<xs:attributeGroup> ... </xs:attributeGroup> [1]
End Choice
End Choice
</xs:redefine>
Schema Component Representation
<xs:element name="redefine" id="redefine">
<xs:complexType>
<xs:complexContent>
<xs:extension base="xs:openAttrs">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<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>
top

Element: restriction

Name restriction
Type Locally-defined complex type
Nillable no
Abstract no
XML Instance Representation
<xs:restriction
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
base="xs:QName [0..1]">
<xs:annotation> ... </xs:annotation> [0..1]
<xs:simpleType> xs:localSimpleType </xs:simpleType> [0..1]
Start Choice [0..*]
<xs:facet> ... </xs:facet> [1]
Allow any elements from a namespace other than this schema's namespace (lax validation). [1]
End Choice
</xs:restriction>
Schema Component Representation
<xs:element name="restriction" id="restriction">
<xs:complexType>
<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>
top

Element: schema

Name schema
Type Locally-defined complex type
Nillable no
Abstract no
Documentation More information at: ../structures/structures.html#element-schema.
XML Instance Representation
<xs:schema
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

targetNamespace="xs:anyURI [0..1]"
version="xs:token [0..1]"
finalDefault="xs:fullDerivationSet [0..1]"
blockDefault="xs:blockSet [0..1]"
attributeFormDefault="xs:formChoice [0..1]"
elementFormDefault="xs:formChoice [0..1]"
defaultAttributes="xs:QName [0..1]"
xpathDefaultNamespace="xs:xpathDefaultNamespace [0..1]"
id="xs:ID [0..1]"
xml:lang="[0..1]">
<!--
Key Constraint - element
Selector - xs:element
Field(s) - @name
-->
<!--
Key Constraint - attribute
Selector - xs:attribute
Field(s) - @name
-->
<!--
Key Constraint - type
Selector - xs:complexType|xs:simpleType
Field(s) - @name
-->
<!--
Key Constraint - group
Selector - xs:group
Field(s) - @name
-->
<!--
Key Constraint - attributeGroup
Selector - xs:attributeGroup
Field(s) - @name
-->
<!--
Key Constraint - notation
Selector - xs:notation
Field(s) - @name
-->
<!--
Key Constraint - identityConstraint
Selector - .//xs:key|.//xs:unique|.//xs:keyref
Field(s) - @name
-->

Start Group: xs:composition [0..*]
Start Choice [1]
<xs:include> ... </xs:include> [1]
<xs:import> ... </xs:import> [1]
<xs:redefine> ... </xs:redefine> [1]
<xs:override> ... </xs:override> [1]
<xs:annotation> ... </xs:annotation> [1]
End Choice
End Group: xs:composition
Start Sequence [0..1]
<xs:defaultOpenContent> ... </xs:defaultOpenContent> [1]
<xs:annotation> ... </xs:annotation> [0..*]
End Sequence
Start Sequence [0..*]
Start Choice [1]
Start Choice [1]
<xs:simpleType> ... </xs:simpleType> [1]
<xs:complexType> ... </xs:complexType> [1]
<xs:group> ... </xs:group> [1]
<xs:attributeGroup> ... </xs:attributeGroup> [1]
End Choice
<xs:element> ... </xs:element> [1]
<xs:attribute> ... </xs:attribute> [1]
<xs:notation> ... </xs:notation> [1]
End Choice
<xs:annotation> ... </xs:annotation> [0..*]
End Sequence
</xs:schema>
Schema Component Representation
<xs:element name="schema" id="schema">
<xs:complexType>
<xs:complexContent>
<xs:extension base="xs:openAttrs">
<xs:sequence>
<xs:group ref="xs:composition" minOccurs="0" maxOccurs="unbounded"/>
<xs:sequence minOccurs="0">
<xs:element ref="xs:defaultOpenContent"/>
<xs:element ref="xs:annotation" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:group ref="xs:schemaTop"/>
<xs:element ref="xs:annotation" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:sequence>
<xs:attribute name="targetNamespace" type="xs:anyURI"/>
<xs:attribute name="version" type="xs:token"/>
<xs:attribute name="finalDefault" type="xs:fullDerivationSet" default="" use="optional"/>
<xs:attribute name="blockDefault" type="xs:blockSet" default="" use="optional"/>
<xs:attribute name="attributeFormDefault" type="xs:formChoice" default="unqualified" use="optional"/>
<xs:attribute name="elementFormDefault" type="xs:formChoice" default="unqualified" use="optional"/>
<xs:attribute name="defaultAttributes" type="xs:QName"/>
<xs:attribute name="xpathDefaultNamespace" type="xs:xpathDefaultNamespace" default="##local" 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>
top

Element: selector

Name selector
Type Locally-defined complex type
Nillable no
Abstract no
Documentation More information at: ../structures/structures.html#element-selector.
XML Instance Representation
<xs:selector
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
xpath="xs:token [1]"
xpathDefaultNamespace="xs:xpathDefaultNamespace [0..1]">
<xs:annotation> ... </xs:annotation> [0..1]
</xs:selector>
Schema Component Representation
<xs:element name="selector" id="selector">
<xs:complexType>
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:attribute name="xpath" use="required">
<xs:simpleType>
<xs:restriction base="xs:token"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="xpathDefaultNamespace" type="xs:xpathDefaultNamespace"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
top

Element: sequence

Name sequence
Type xs:explicitGroup
Nillable no
Abstract no
Documentation More information at: ../structures/structures.html#element-sequence.
XML Instance Representation
<xs:sequence
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
minOccurs="xs:nonNegativeInteger [0..1]"
maxOccurs="xs:allNNI [0..1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
Start Group: xs:nestedParticle [0..*]
Start Choice [1]
<xs:element> xs:localElement </xs:element> [1]
<xs:group> xs:groupRef </xs:group> [1]
<xs:choice> ... </xs:choice> [1]
<xs:sequence> ... </xs:sequence> [1]
<xs:any> ... </xs:any> [1]
End Choice
End Group: xs:nestedParticle
</xs:sequence>
Schema Component Representation
<xs:element name="sequence" type="xs:explicitGroup" id="sequence"/>
top

Element: simpleContent

Name simpleContent
Type Locally-defined complex type
Nillable no
Abstract no
Documentation More information at: ../structures/structures.html#element-simpleContent.
XML Instance Representation
<xs:simpleContent
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]">
<xs:annotation> ... </xs:annotation> [0..1]
Start Choice [1]
<xs:restriction> xs:simpleRestrictionType </xs:restriction> [1]
<xs:extension> xs:simpleExtensionType </xs:extension> [1]
End Choice
</xs:simpleContent>
Schema Component Representation
<xs:element name="simpleContent" id="simpleContent">
<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>
top

Element: simpleType

Name simpleType
Type xs:topLevelSimpleType
Nillable no
Abstract no
Documentation More information at: http://www.w3.org/TR/xmlschema11-2/#element-simpleType.
XML Instance Representation
<xs:simpleType
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
final="xs:simpleDerivationSet [0..1]"
name="xs:NCName [1] ?"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
Start Choice [1]
<xs:restriction> ... </xs:restriction> [1]
<xs:list> ... </xs:list> [1]
<xs:union> ... </xs:union> [1]
End Choice
</xs:simpleType>
Schema Component Representation
<xs:element name="simpleType" type="xs:topLevelSimpleType" id="simpleType"/>
top

Element: totalDigits

  • This element can be used wherever the following element is referenced:
Name totalDigits
Type Locally-defined complex type
Nillable no
Abstract no
Documentation More information at: http://www.w3.org/TR/xmlschema11-2/#element-totalDigits.
XML Instance Representation
<xs:totalDigits
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
fixed="xs:boolean [0..1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).

value="xs:positiveInteger [1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
</xs:totalDigits>
Schema Component Representation
<xs:element name="totalDigits" id="totalDigits" substitutionGroup="xs:facet">
<xs:complexType>
<xs:complexContent>
<xs:restriction base="xs:numFacet">
<xs:sequence>
<xs:element ref="xs:annotation" minOccurs="0"/>
</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>
top

Element: union

Name union
Type Locally-defined complex type
Nillable no
Abstract no
XML Instance Representation
<xs:union
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
memberTypes="list of: xs:QName [0..1]">
<xs:annotation> ... </xs:annotation> [0..1]
<xs:simpleType> xs:localSimpleType </xs:simpleType> [0..*]
</xs:union>
Schema Component Representation
<xs:element name="union" id="union">
<xs:complexType>
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:sequence>
<xs:element name="simpleType" type="xs:localSimpleType" minOccurs="0" maxOccurs="unbounded"/>
</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>
top

Element: unique

Name unique
Type xs:keybase
Nillable no
Abstract no
Documentation More information at: ../structures/structures.html#element-unique.
XML Instance Representation
<xs:unique
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
name="xs:NCName [0..1]"
ref="xs:QName [0..1]">
<xs:annotation> ... </xs:annotation> [0..1]
Start Sequence [0..1]
<xs:selector> ... </xs:selector> [1]
<xs:field> ... </xs:field> [1..*]
End Sequence
</xs:unique>
Schema Component Representation
<xs:element name="unique" type="xs:keybase" id="unique"/>
top

Element: whiteSpace

  • This element can be used wherever the following element is referenced:
Name whiteSpace
Type Locally-defined complex type
Nillable no
Abstract no
Documentation More information at: http://www.w3.org/TR/xmlschema11-2/#element-whiteSpace.
XML Instance Representation
<xs:whiteSpace
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
fixed="xs:boolean [0..1]"
value="xs:NMTOKEN (value comes from list: {'preserve'|'replace'|'collapse'}) [1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
</xs:whiteSpace>
Schema Component Representation
<xs:element name="whiteSpace" id="whiteSpace" substitutionGroup="xs:facet">
<xs:complexType>
<xs:complexContent>
<xs:restriction base="xs:facet">
<xs:sequence>
<xs:element ref="xs:annotation" minOccurs="0"/>
</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>
top

Global Definitions

Attribute Group: anyAttrGroup

Name anyAttrGroup
XML Instance Representation
namespace="xs:namespaceList [0..1]"
notNamespace="xs:basicNamespaceList (length >= 1) [0..1]"
processContents="xs:NMTOKEN (value comes from list: {'skip'|'lax'|'strict'}) [0..1]"
Schema Component Representation
<xs:attributeGroup name="anyAttrGroup">
<xs:attribute name="namespace" type="xs:namespaceList" use="optional"/>
<xs:attribute name="notNamespace" use="optional">
<xs:simpleType>
<xs:restriction base="xs:basicNamespaceList">
<xs:minLength value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="processContents" default="strict" 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:attributeGroup>
top

Attribute Group: defRef

Name defRef
Documentation for element, group and attributeGroup, which both define and reference
XML Instance Representation
name="xs:NCName [0..1]"
ref="xs:QName [0..1]"
Schema Component Representation
<xs:attributeGroup name="defRef">
<xs:attribute name="name" type="xs:NCName"/>
<xs:attribute name="ref" type="xs:QName"/>
</xs:attributeGroup>
top

Attribute Group: occurs

Name occurs
Documentation for all particles
XML Instance Representation
minOccurs="xs:nonNegativeInteger [0..1]"
maxOccurs="xs:allNNI [0..1]"
Schema Component Representation
<xs:attributeGroup name="occurs">
<xs:attribute name="minOccurs" type="xs:nonNegativeInteger" default="1" use="optional"/>
<xs:attribute name="maxOccurs" type="xs:allNNI" default="1" use="optional"/>
</xs:attributeGroup>
top

Complex Type: all

Super-types: anyType < openAttrs (by restriction) < annotated (by extension) < group (by extension) < explicitGroup (by restriction) < all (by restriction)
Sub-types: None
Name all
Abstract no
Documentation Only elements allowed inside
XML Instance Representation
<...
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).

minOccurs="xs:nonNegativeInteger (value comes from list: {'0'|'1'}) [0..1]"
maxOccurs="xs:allNNI (value comes from list: {'0'|'1'}) [0..1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
Start Choice [0..*] ?
<xs:element> xs:localElement </xs:element> [1]
<xs:any> ... </xs:any> [1]
<xs:group
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).

ref="xs:QName [1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).

minOccurs="1 [0..1]"
maxOccurs="1 [0..1]"> [1]
<xs:annotation> ... </xs:annotation> [0..1]
</xs:group>
End Choice
</...>
Schema Component Representation
<xs:complexType name="all">
<xs:complexContent>
<xs:restriction base="xs:explicitGroup">
<xs:group ref="xs:allModel"/>
<xs:attribute name="minOccurs" default="1" 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 name="maxOccurs" default="1" 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>
top

Complex Type: altType

Super-types: anyType < openAttrs (by restriction) < annotated (by extension) < altType (by extension)
Sub-types: None
Name altType
Abstract no
Documentation This type is used for 'alternative' elements.
XML Instance Representation
<...
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
test="xs:string [0..1]"
type="xs:QName [0..1]"
xpathDefaultNamespace="xs:xpathDefaultNamespace [0..1]">
<xs:annotation> ... </xs:annotation> [0..1]
Start Choice [0..1]
<xs:simpleType> xs:localSimpleType </xs:simpleType> [1]
<xs:complexType> xs:localComplexType </xs:complexType> [1]
End Choice
</...>
Schema Component Representation
<xs:complexType name="altType">
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:choice minOccurs="0">
<xs:element name="simpleType" type="xs:localSimpleType"/>
<xs:element name="complexType" type="xs:localComplexType"/>
</xs:choice>
<xs:attribute name="test" type="xs:string" use="optional"/>
<xs:attribute name="type" type="xs:QName" use="optional"/>
<xs:attribute name="xpathDefaultNamespace" type="xs:xpathDefaultNamespace"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
top

Complex Type: annotated

Super-types: anyType < openAttrs (by restriction) < annotated (by extension)
Sub-types:
Name annotated
Abstract no
Documentation This type is extended by all types which allow annotation other than <schema> itself
XML Instance Representation
<...
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]">
<xs:annotation> ... </xs:annotation> [0..1]
</...>
Schema Component Representation
<xs:complexType name="annotated">
<xs:complexContent>
<xs:extension base="xs:openAttrs">
<xs:sequence>
<xs:element ref="xs:annotation" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="id" type="xs:ID"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
top

Complex Type: anyType

Super-types: None
Sub-types:
Name anyType
Abstract no
Documentation Not the real urType, but as close an approximation as we can get in the XML representation
XML Instance Representation
<...
Allow any attributes from any namespace (lax validation).
>
<!-- Mixed content -->
Allow any elements from any namespace (lax validation). [0..*]
</...>
Schema Component Representation
<xs:complexType name="anyType" mixed="true">
<xs:sequence>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
</xs:sequence>
<xs:anyAttribute processContents="lax"/>
</xs:complexType>
top

Complex Type: assertion

Super-types: anyType < openAttrs (by restriction) < annotated (by extension) < assertion (by extension)
Sub-types: None
Name assertion
Abstract no
XML Instance Representation
<...
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
test="xs:string [0..1]"
xpathDefaultNamespace="xs:xpathDefaultNamespace [0..1]">
<xs:annotation> ... </xs:annotation> [0..1]
</...>
Schema Component Representation
<xs:complexType name="assertion">
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:attribute name="test" type="xs:string"/>
<xs:attribute name="xpathDefaultNamespace" type="xs:xpathDefaultNamespace"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
top

Complex Type: attribute

Super-types: anyType < openAttrs (by restriction) < annotated (by extension) < attribute (by extension)
Sub-types:
Name attribute
Abstract no
XML Instance Representation
<...
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
name="xs:NCName [0..1]"
ref="xs:QName [0..1]"
type="xs:QName [0..1]"
use="xs:NMTOKEN (value comes from list: {'prohibited'|'optional'|'required'}) [0..1]"
default="xs:string [0..1]"
fixed="xs:string [0..1]"
form="xs:formChoice [0..1]"
targetNamespace="xs:anyURI [0..1]"
inheritable="xs:boolean [0..1]">
<xs:annotation> ... </xs:annotation> [0..1]
<xs:simpleType> xs:localSimpleType </xs:simpleType> [0..1]
</...>
Schema Component Representation
<xs:complexType name="attribute">
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:sequence>
<xs:element name="simpleType" type="xs:localSimpleType" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="xs:defRef"/>
<xs:attribute name="type" type="xs:QName"/>
<xs:attribute name="use" default="optional" 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:attribute name="targetNamespace" type="xs:anyURI"/>
<xs:attribute name="inheritable" type="xs:boolean"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
top

Complex Type: attributeGroup

Super-types: anyType < openAttrs (by restriction) < annotated (by extension) < attributeGroup (by extension)
Sub-types:
Name attributeGroup
Abstract yes
XML Instance Representation
<...
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
name="xs:NCName [0..1]"
ref="xs:QName [0..1]">
<xs:annotation> ... </xs:annotation> [0..1]
Start Choice [0..*]
<xs:attribute> xs:attribute </xs:attribute> [1]
<xs:attributeGroup> xs:attributeGroupRef </xs:attributeGroup> [1]
End Choice
<xs:anyAttribute> ... </xs:anyAttribute> [0..1]
</...>
Schema Component Representation
<xs:complexType name="attributeGroup" abstract="true">
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:group ref="xs:attrDecls"/>
<xs:attributeGroup ref="xs:defRef"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
top

Complex Type: attributeGroupRef

Super-types: anyType < openAttrs (by restriction) < annotated (by extension) < attributeGroup (by extension) < attributeGroupRef (by restriction)
Sub-types: None
Name attributeGroupRef
Abstract no
XML Instance Representation
<...
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
ref="xs:QName [1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
</...>
Schema Component Representation
<xs:complexType name="attributeGroupRef">
<xs:complexContent>
<xs:restriction base="xs:attributeGroup">
<xs:sequence>
<xs:element ref="xs:annotation" minOccurs="0"/>
</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>
top

Complex Type: complexRestrictionType

Super-types: anyType < openAttrs (by restriction) < annotated (by extension) < restrictionType (by extension) < complexRestrictionType (by restriction)
Sub-types: None
Name complexRestrictionType
Abstract no
XML Instance Representation
<...
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
base="xs:QName [1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
Start Choice [0..1] ?
<xs:openContent> ... </xs:openContent> [0..1]
Start Choice [1]
<xs:group> xs:groupRef </xs:group> [1]
<xs:all> ... </xs:all> [1]
<xs:choice> ... </xs:choice> [1]
<xs:sequence> ... </xs:sequence> [1]
End Choice
End Choice
Start Choice [0..*]
<xs:attribute> xs:attribute </xs:attribute> [1]
<xs:attributeGroup> xs:attributeGroupRef </xs:attributeGroup> [1]
End Choice
<xs:anyAttribute> ... </xs:anyAttribute> [0..1]
<xs:assert> xs:assertion </xs:assert> [0..*]
</...>
Schema Component Representation
<xs:complexType name="complexRestrictionType">
<xs:complexContent>
<xs:restriction base="xs:restrictionType">
<xs:sequence>
<xs:element ref="xs:annotation" minOccurs="0"/>
<xs:choice minOccurs="0">
<xs:sequence>
<xs:element ref="xs:openContent" minOccurs="0"/>
<xs:group ref="xs:typeDefParticle"/>
</xs:sequence>
</xs:choice>
<xs:group ref="xs:attrDecls"/>
<xs:group ref="xs:assertions"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
top

Complex Type: complexType

Super-types: anyType < openAttrs (by restriction) < annotated (by extension) < complexType (by extension)
Sub-types:
Name complexType
Abstract yes
XML Instance Representation
<...
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
name="xs:NCName [0..1] ?"
mixed="xs:boolean [0..1] ?"
abstract="xs:boolean [0..1]"
final="xs:derivationSet [0..1]"
block="xs:derivationSet [0..1]"
defaultAttributesApply="xs:boolean [0..1]">
<xs:annotation> ... </xs:annotation> [0..1]
Start Choice [1]
<xs:openContent> ... </xs:openContent> [0..1]
Start Group: xs:typeDefParticle [0..1]
Start Choice [1]
<xs:group> xs:groupRef </xs:group> [1]
<xs:all> ... </xs:all> [1]
<xs:choice> ... </xs:choice> [1]
<xs:sequence> ... </xs:sequence> [1]
End Choice
End Group: xs:typeDefParticle
Start Choice [0..*]
<xs:attribute> xs:attribute </xs:attribute> [1]
<xs:attributeGroup> xs:attributeGroupRef </xs:attributeGroup> [1]
End Choice
<xs:anyAttribute> ... </xs:anyAttribute> [0..1]
<xs:assert> xs:assertion </xs:assert> [0..*]
End Choice
</...>
Schema Component Representation
<xs:complexType name="complexType" abstract="true">
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:group ref="xs:complexTypeModel"/>
<xs:attribute name="name" type="xs:NCName"/>
<xs:attribute name="mixed" type="xs:boolean" use="optional"/>
<xs:attribute name="abstract" type="xs:boolean" default="false" use="optional"/>
<xs:attribute name="final" type="xs:derivationSet"/>
<xs:attribute name="block" type="xs:derivationSet"/>
<xs:attribute name="defaultAttributesApply" type="xs:boolean" default="true" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
top

Complex Type: element

Super-types: anyType < openAttrs (by restriction) < annotated (by extension) < element (by extension)
Sub-types:
Name element
Abstract yes
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.
XML Instance Representation
<...
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
name="xs:NCName [0..1]"
ref="xs:QName [0..1]"
type="xs:QName [0..1]"
substitutionGroup="list of: xs:QName [0..1]"
minOccurs="xs:nonNegativeInteger [0..1]"
maxOccurs="xs:allNNI [0..1]"
default="xs:string [0..1]"
fixed="xs:string [0..1]"
nillable="xs:boolean [0..1]"
abstract="xs:boolean [0..1]"
final="xs:derivationSet [0..1]"
block="xs:blockSet [0..1]"
form="xs:formChoice [0..1]"
targetNamespace="xs:anyURI [0..1]">
<xs:annotation> ... </xs:annotation> [0..1]
Start Choice [0..1]
<xs:simpleType> xs:localSimpleType </xs:simpleType> [1]
<xs:complexType> xs:localComplexType </xs:complexType> [1]
End Choice
<xs:alternative> xs:altType </xs:alternative> [0..*]
Start Group: xs:identityConstraint [0..*]
Start Choice [1]
<xs:unique> ... </xs:unique> [1]
<xs:key> ... </xs:key> [1]
<xs:keyref> ... </xs:keyref> [1]
End Choice
End Group: xs:identityConstraint
</...>
Schema Component Representation
<xs:complexType name="element" abstract="true">
<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:element name="alternative" type="xs:altType" minOccurs="0" maxOccurs="unbounded"/>
<xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref="xs:defRef"/>
<xs:attribute name="type" type="xs:QName"/>
<xs:attribute name="substitutionGroup">
<xs:simpleType>
<xs:list itemType="xs:QName"/>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="xs:occurs"/>
<xs:attribute name="default" type="xs:string"/>
<xs:attribute name="fixed" type="xs:string"/>
<xs:attribute name="nillable" type="xs:boolean" use="optional"/>
<xs:attribute name="abstract" type="xs:boolean" default="false" use="optional"/>
<xs:attribute name="final" type="xs:derivationSet"/>
<xs:attribute name="block" type="xs:blockSet"/>
<xs:attribute name="form" type="xs:formChoice"/>
<xs:attribute name="targetNamespace" type="xs:anyURI"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
top

Complex Type: explicitGroup

Super-types: anyType < openAttrs (by restriction) < annotated (by extension) < group (by extension) < explicitGroup (by restriction)
Sub-types:
Name explicitGroup
Abstract no
Documentation group type for the three kinds of group
XML Instance Representation
<...
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
minOccurs="xs:nonNegativeInteger [0..1]"
maxOccurs="xs:allNNI [0..1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
Start Group: xs:nestedParticle [0..*]
Start Choice [1]
<xs:element> xs:localElement </xs:element> [1]
<xs:group> xs:groupRef </xs:group> [1]
<xs:choice> ... </xs:choice> [1]
<xs:sequence> ... </xs:sequence> [1]
<xs:any> ... </xs:any> [1]
End Choice
End Group: xs:nestedParticle
</...>
Schema Component Representation
<xs:complexType name="explicitGroup">
<xs:complexContent>
<xs:restriction base="xs:group">
<xs:sequence>
<xs:element ref="xs:annotation" minOccurs="0"/>
<xs:group ref="xs:nestedParticle" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="name" use="prohibited"/>
<xs:attribute name="ref" use="prohibited"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
top

Complex Type: extensionType

Super-types: anyType < openAttrs (by restriction) < annotated (by extension) < extensionType (by extension)
Sub-types:
Name extensionType
Abstract no
XML Instance Representation
<...
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
base="xs:QName [1]">
<xs:annotation> ... </xs:annotation> [0..1]
<xs:openContent> ... </xs:openContent> [0..1]
Start Group: xs:typeDefParticle [0..1]
Start Choice [1]
<xs:group> xs:groupRef </xs:group> [1]
<xs:all> ... </xs:all> [1]
<xs:choice> ... </xs:choice> [1]
<xs:sequence> ... </xs:sequence> [1]
End Choice
End Group: xs:typeDefParticle
Start Choice [0..*]
<xs:attribute> xs:attribute </xs:attribute> [1]
<xs:attributeGroup> xs:attributeGroupRef </xs:attributeGroup> [1]
End Choice
<xs:anyAttribute> ... </xs:anyAttribute> [0..1]
<xs:assert> xs:assertion </xs:assert> [0..*]
</...>
Schema Component Representation
<xs:complexType name="extensionType">
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:sequence>
<xs:element ref="xs:openContent" minOccurs="0"/>
<xs:group ref="xs:typeDefParticle" minOccurs="0"/>
<xs:group ref="xs:attrDecls"/>
<xs:group ref="xs:assertions"/>
</xs:sequence>
<xs:attribute name="base" type="xs:QName" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
top

Complex Type: facet

Super-types: anyType < openAttrs (by restriction) < annotated (by extension) < facet (by extension)
Sub-types:
Name facet
Abstract no
XML Instance Representation
<...
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
value="anySimpleType [1]"
fixed="xs:boolean [0..1]">
<xs:annotation> ... </xs:annotation> [0..1]
</...>
Schema Component Representation
<xs:complexType name="facet">
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:attribute name="value" use="required"/>
<xs:attribute name="fixed" type="xs:boolean" default="false" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
top

Complex Type: group

Super-types: anyType < openAttrs (by restriction) < annotated (by extension) < group (by extension)
Sub-types:
Name group
Abstract yes
Documentation group type for explicit groups, named top-level groups and group references
XML Instance Representation
<...
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
name="xs:NCName [0..1]"
ref="xs:QName [0..1]"
minOccurs="xs:nonNegativeInteger [0..1]"
maxOccurs="xs:allNNI [0..1]">
<xs:annotation> ... </xs:annotation> [0..1]
Start Group: xs:particle [0..*]
Start Choice [1]
<xs:element> xs:localElement </xs:element> [1]
<xs:group> xs:groupRef </xs:group> [1]
<xs:all> ... </xs:all> [1]
<xs:choice> ... </xs:choice> [1]
<xs:sequence> ... </xs:sequence> [1]
<xs:any> ... </xs:any> [1]
End Choice
End Group: xs:particle
</...>
Schema Component Representation
<xs:complexType name="group" abstract="true">
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:group ref="xs:particle" minOccurs="0" maxOccurs="unbounded"/>
<xs:attributeGroup ref="xs:defRef"/>
<xs:attributeGroup ref="xs:occurs"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
top

Complex Type: groupRef

Super-types: anyType < openAttrs (by restriction) < annotated (by extension) < group (by extension) < realGroup (by restriction) < groupRef (by restriction)
Sub-types: None
Name groupRef
Abstract no
XML Instance Representation
<...
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
minOccurs="xs:nonNegativeInteger [0..1]"
maxOccurs="xs:allNNI [0..1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).

ref="xs:QName [1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
</...>
Schema Component Representation
<xs:complexType name="groupRef">
<xs:complexContent>
<xs:restriction base="xs:realGroup">
<xs:sequence>
<xs:element ref="xs:annotation" minOccurs="0"/>
</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>
top

Complex Type: intFacet

Super-types: anyType < openAttrs (by restriction) < annotated (by extension) < facet (by extension) < intFacet (by restriction)
Sub-types: None
Name intFacet
Abstract no
XML Instance Representation
<...
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
fixed="xs:boolean [0..1]"
value="xs:integer [1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
</...>
Schema Component Representation
<xs:complexType name="intFacet">
<xs:complexContent>
<xs:restriction base="xs:facet">
<xs:sequence>
<xs:element ref="xs:annotation" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="value" type="xs:integer" use="required"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
top

Complex Type: keybase

Super-types: anyType < openAttrs (by restriction) < annotated (by extension) < keybase (by extension)
Sub-types: None
Name keybase
Abstract no
XML Instance Representation
<...
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
name="xs:NCName [0..1]"
ref="xs:QName [0..1]">
<xs:annotation> ... </xs:annotation> [0..1]
Start Sequence [0..1]
<xs:selector> ... </xs:selector> [1]
<xs:field> ... </xs:field> [1..*]
End Sequence
</...>
Schema Component Representation
<xs:complexType name="keybase">
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:sequence minOccurs="0">
<xs:element ref="xs:selector"/>
<xs:element ref="xs:field" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="name" type="xs:NCName"/>
<xs:attribute name="ref" type="xs:QName"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
top

Complex Type: localComplexType

Super-types: anyType < openAttrs (by restriction) < annotated (by extension) < complexType (by extension) < localComplexType (by restriction)
Sub-types: None
Name localComplexType
Abstract no
XML Instance Representation
<...
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
mixed="xs:boolean [0..1] ?"
defaultAttributesApply="xs:boolean [0..1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
Start Choice [1]
<xs:openContent> ... </xs:openContent> [0..1]
Start Group: xs:typeDefParticle [0..1]
Start Choice [1]
<xs:group> xs:groupRef </xs:group> [1]
<xs:all> ... </xs:all> [1]
<xs:choice> ... </xs:choice> [1]
<xs:sequence> ... </xs:sequence> [1]
End Choice
End Group: xs:typeDefParticle
Start Choice [0..*]
<xs:attribute> xs:attribute </xs:attribute> [1]
<xs:attributeGroup> xs:attributeGroupRef </xs:attributeGroup> [1]
End Choice
<xs:anyAttribute> ... </xs:anyAttribute> [0..1]
<xs:assert> xs:assertion </xs:assert> [0..*]
End Choice
</...>
Schema Component Representation
<xs:complexType name="localComplexType">
<xs:complexContent>
<xs:restriction base="xs:complexType">
<xs:sequence>
<xs:element ref="xs:annotation" minOccurs="0"/>
<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>
top

Complex Type: localElement

Super-types: anyType < openAttrs (by restriction) < annotated (by extension) < element (by extension) < localElement (by restriction)
Sub-types: None
Name localElement
Abstract no
XML Instance Representation
<...
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
name="xs:NCName [0..1]"
ref="xs:QName [0..1]"
type="xs:QName [0..1]"
minOccurs="xs:nonNegativeInteger [0..1]"
maxOccurs="xs:allNNI [0..1]"
default="xs:string [0..1]"
fixed="xs:string [0..1]"
nillable="xs:boolean [0..1]"
block="xs:blockSet [0..1]"
form="xs:formChoice [0..1]"
targetNamespace="xs:anyURI [0..1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
Start Choice [0..1]
<xs:simpleType> xs:localSimpleType </xs:simpleType> [1]
<xs:complexType> xs:localComplexType </xs:complexType> [1]
End Choice
<xs:alternative> xs:altType </xs:alternative> [0..*]
Start Group: xs:identityConstraint [0..*]
Start Choice [1]
<xs:unique> ... </xs:unique> [1]
<xs:key> ... </xs:key> [1]
<xs:keyref> ... </xs:keyref> [1]
End Choice
End Group: xs:identityConstraint
</...>
Schema Component Representation
<xs:complexType name="localElement">
<xs:complexContent>
<xs:restriction base="xs:element">
<xs:sequence>
<xs:element ref="xs:annotation" minOccurs="0"/>
<xs:choice minOccurs="0">
<xs:element name="simpleType" type="xs:localSimpleType"/>
<xs:element name="complexType" type="xs:localComplexType"/>
</xs:choice>
<xs:element name="alternative" type="xs:altType" minOccurs="0" maxOccurs="unbounded"/>
<xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
</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>
top

Complex Type: localSimpleType

Super-types: anyType < openAttrs (by restriction) < annotated (by extension) < simpleType (by extension) < localSimpleType (by restriction)
Sub-types: None
Name localSimpleType
Abstract no
XML Instance Representation
<...
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
Start Choice [1]
<xs:list> ... </xs:list> [1]
<xs:union> ... </xs:union> [1]
End Choice
</...>
Schema Component Representation
<xs:complexType name="localSimpleType">
<xs:complexContent>
<xs:restriction base="xs:simpleType">
<xs:sequence>
<xs:element ref="xs:annotation" minOccurs="0"/>
<xs:group ref="xs:simpleDerivation"/>
</xs:sequence>
<xs:attribute name="name" use="prohibited"/>
<xs:attribute name="final" use="prohibited"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
top

Complex Type: namedAttributeGroup

Super-types: anyType < openAttrs (by restriction) < annotated (by extension) < attributeGroup (by extension) < namedAttributeGroup (by restriction)
Sub-types: None
Name namedAttributeGroup
Abstract no
XML Instance Representation
<...
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
name="xs:NCName [1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
Start Choice [0..*]
<xs:attribute> xs:attribute </xs:attribute> [1]
<xs:attributeGroup> xs:attributeGroupRef </xs:attributeGroup> [1]
End Choice
<xs:anyAttribute> ... </xs:anyAttribute> [0..1]
</...>
Schema Component Representation
<xs:complexType name="namedAttributeGroup">
<xs:complexContent>
<xs:restriction base="xs:attributeGroup">
<xs:sequence>
<xs:element ref="xs:annotation" minOccurs="0"/>
<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>
top

Complex Type: namedGroup

Super-types: anyType < openAttrs (by restriction) < annotated (by extension) < group (by extension) < realGroup (by restriction) < namedGroup (by restriction)
Sub-types: None
Name namedGroup
Abstract no
XML Instance Representation
<...
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).

name="xs:NCName [1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
Start Choice [1]
<xs:all
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).
> [1]
<xs:annotation> ... </xs:annotation> [0..1]
Start Choice [0..*] ?
<xs:element> xs:localElement </xs:element> [1]
<xs:any> ... </xs:any> [1]
<xs:group
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).

ref="xs:QName [1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).

minOccurs="1 [0..1]"
maxOccurs="1 [0..1]"> [1]
<xs:annotation> ... </xs:annotation> [0..1]
</xs:group>
End Choice
</xs:all>
<xs:choice> xs:simpleExplicitGroup </xs:choice> [1]
<xs:sequence> xs:simpleExplicitGroup </xs:sequence> [1]
End Choice
</...>
Schema Component Representation
<xs:complexType name="namedGroup">
<xs:complexContent>
<xs:restriction base="xs:realGroup">
<xs:sequence>
<xs:element ref="xs:annotation" minOccurs="0"/>
<xs:choice minOccurs="1" maxOccurs="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>
top

Complex Type: noFixedFacet

Super-types: anyType < openAttrs (by restriction) < annotated (by extension) < facet (by extension) < noFixedFacet (by restriction)
Sub-types: None
Name noFixedFacet
Abstract no
XML Instance Representation
<...
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
value="anySimpleType [1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
</...>
Schema Component Representation
<xs:complexType name="noFixedFacet">
<xs:complexContent>
<xs:restriction base="xs:facet">
<xs:sequence>
<xs:element ref="xs:annotation" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="fixed" use="prohibited"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
top

Complex Type: numFacet

Super-types: anyType < openAttrs (by restriction) < annotated (by extension) < facet (by extension) < numFacet (by restriction)
Sub-types: None
Name numFacet
Abstract no
XML Instance Representation
<...
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
fixed="xs:boolean [0..1]"
value="xs:nonNegativeInteger [1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
</...>
Schema Component Representation
<xs:complexType name="numFacet">
<xs:complexContent>
<xs:restriction base="xs:facet">
<xs:sequence>
<xs:element ref="xs:annotation" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="value" type="xs:nonNegativeInteger" use="required"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
top

Complex Type: openAttrs

Super-types: anyType < openAttrs (by restriction)
Sub-types:
Name openAttrs
Abstract no
Documentation This type is extended by almost all schema types to allow attributes from other namespaces to be added to user schemas.
XML Instance Representation
<...
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).
/>
Schema Component Representation
<xs:complexType name="openAttrs">
<xs:complexContent>
<xs:restriction base="xs:anyType">
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
top

Complex Type: realGroup

Super-types: anyType < openAttrs (by restriction) < annotated (by extension) < group (by extension) < realGroup (by restriction)
Sub-types:
Name realGroup
Abstract no
XML Instance Representation
<...
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
name="xs:NCName [0..1]"
ref="xs:QName [0..1]"
minOccurs="xs:nonNegativeInteger [0..1]"
maxOccurs="xs:allNNI [0..1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
Start Choice [0..1]
<xs:all> ... </xs:all> [1]
<xs:choice> ... </xs:choice> [1]
<xs:sequence> ... </xs:sequence> [1]
End Choice
</...>
Schema Component Representation
<xs:complexType name="realGroup">
<xs:complexContent>
<xs:restriction base="xs:group">
<xs:sequence>
<xs:element ref="xs:annotation" minOccurs="0"/>
<xs:choice minOccurs="0" maxOccurs="1">
<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>
top

Complex Type: restrictionType

Super-types: anyType < openAttrs (by restriction) < annotated (by extension) < restrictionType (by extension)
Sub-types:
Name restrictionType
Abstract no
XML Instance Representation
<...
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
base="xs:QName [1]">
<xs:annotation> ... </xs:annotation> [0..1]
Start Choice [0..1]
<xs:openContent> ... </xs:openContent> [0..1]
Start Choice [1]
<xs:group> xs:groupRef </xs:group> [1]
<xs:all> ... </xs:all> [1]
<xs:choice> ... </xs:choice> [1]
<xs:sequence> ... </xs:sequence> [1]
End Choice
<xs:simpleType> xs:localSimpleType </xs:simpleType> [0..1]
Start Choice [0..*]
<xs:facet> ... </xs:facet> [1]
Allow any elements from a namespace other than this schema's namespace (lax validation). [1]
End Choice
End Choice
Start Choice [0..*]
<xs:attribute> xs:attribute </xs:attribute> [1]
<xs:attributeGroup> xs:attributeGroupRef </xs:attributeGroup> [1]
End Choice
<xs:anyAttribute> ... </xs:anyAttribute> [0..1]
<xs:assert> xs:assertion </xs:assert> [0..*]
</...>
Schema Component Representation
<xs:complexType name="restrictionType">
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:sequence>
<xs:choice minOccurs="0">
<xs:sequence>
<xs:element ref="xs:openContent" minOccurs="0"/>
<xs:group ref="xs:typeDefParticle"/>
</xs:sequence>
<xs:group ref="xs:simpleRestrictionModel"/>
</xs:choice>
<xs:group ref="xs:attrDecls"/>
<xs:group ref="xs:assertions"/>
</xs:sequence>
<xs:attribute name="base" type="xs:QName" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
top

Complex Type: simpleExplicitGroup

Super-types: anyType < openAttrs (by restriction) < annotated (by extension) < group (by extension) < explicitGroup (by restriction) < simpleExplicitGroup (by restriction)
Sub-types: None
Name simpleExplicitGroup
Abstract no
XML Instance Representation
<...
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
Start Group: xs:nestedParticle [0..*]
Start Choice [1]
<xs:element> xs:localElement </xs:element> [1]
<xs:group> xs:groupRef </xs:group> [1]
<xs:choice> ... </xs:choice> [1]
<xs:sequence> ... </xs:sequence> [1]
<xs:any> ... </xs:any> [1]
End Choice
End Group: xs:nestedParticle
</...>
Schema Component Representation
<xs:complexType name="simpleExplicitGroup">
<xs:complexContent>
<xs:restriction base="xs:explicitGroup">
<xs:sequence>
<xs:element ref="xs:annotation" minOccurs="0"/>
<xs:group ref="xs:nestedParticle" minOccurs="0" maxOccurs="unbounded"/>
</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>
top

Complex Type: simpleExtensionType

Super-types: anyType < openAttrs (by restriction) < annotated (by extension) < extensionType (by extension) < simpleExtensionType (by restriction)
Sub-types: None
Name simpleExtensionType
Abstract no
XML Instance Representation
<...
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
base="xs:QName [1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
Start Choice [0..*]
<xs:attribute> xs:attribute </xs:attribute> [1]
<xs:attributeGroup> xs:attributeGroupRef </xs:attributeGroup> [1]
End Choice
<xs:anyAttribute> ... </xs:anyAttribute> [0..1]
<xs:assert> xs:assertion </xs:assert> [0..*]
</...>
Schema Component Representation
<xs:complexType name="simpleExtensionType">
<xs:complexContent>
<xs:restriction base="xs:extensionType">
<xs:sequence>
<xs:element ref="xs:annotation" minOccurs="0"/>
<xs:group ref="xs:attrDecls"/>
<xs:group ref="xs:assertions"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
top

Complex Type: simpleRestrictionType

Super-types: anyType < openAttrs (by restriction) < annotated (by extension) < restrictionType (by extension) < simpleRestrictionType (by restriction)
Sub-types: None
Name simpleRestrictionType
Abstract no
XML Instance Representation
<...
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
base="xs:QName [1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
Start Choice [0..1] ?
<xs:simpleType> xs:localSimpleType </xs:simpleType> [0..1]
Start Choice [0..*]
<xs:facet> ... </xs:facet> [1]
Allow any elements from a namespace other than this schema's namespace (lax validation). [1]
End Choice
End Choice
Start Choice [0..*]
<xs:attribute> xs:attribute </xs:attribute> [1]
<xs:attributeGroup> xs:attributeGroupRef </xs:attributeGroup> [1]
End Choice
<xs:anyAttribute> ... </xs:anyAttribute> [0..1]
<xs:assert> xs:assertion </xs:assert> [0..*]
</...>
Schema Component Representation
<xs:complexType name="simpleRestrictionType">
<xs:complexContent>
<xs:restriction base="xs:restrictionType">
<xs:sequence>
<xs:element ref="xs:annotation" minOccurs="0"/>
<xs:choice minOccurs="0">
<xs:group ref="xs:simpleRestrictionModel"/>
</xs:choice>
<xs:group ref="xs:attrDecls"/>
<xs:group ref="xs:assertions"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
top

Complex Type: simpleType

Super-types: anyType < openAttrs (by restriction) < annotated (by extension) < simpleType (by extension)
Sub-types:
Name simpleType
Abstract yes
XML Instance Representation
<...
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
final="xs:simpleDerivationSet [0..1]"
name="xs:NCName [0..1] ?">
<xs:annotation> ... </xs:annotation> [0..1]
Start Choice [1]
<xs:list> ... </xs:list> [1]
<xs:union> ... </xs:union> [1]
End Choice
</...>
Schema Component Representation
<xs:complexType name="simpleType" abstract="true">
<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:extension>
</xs:complexContent>
</xs:complexType>
top

Complex Type: topLevelAttribute

Super-types: anyType < openAttrs (by restriction) < annotated (by extension) < attribute (by extension) < topLevelAttribute (by restriction)
Sub-types: None
Name topLevelAttribute
Abstract no
XML Instance Representation
<...
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
type="xs:QName [0..1]"
default="xs:string [0..1]"
fixed="xs:string [0..1]"
name="xs:NCName [1]"
inheritable="xs:boolean [0..1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
<xs:simpleType> xs:localSimpleType </xs:simpleType> [0..1]
</...>
Schema Component Representation
<xs:complexType name="topLevelAttribute">
<xs:complexContent>
<xs:restriction base="xs:attribute">
<xs:sequence>
<xs:element ref="xs:annotation" minOccurs="0"/>
<xs:element name="simpleType" type="xs:localSimpleType" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="ref" use="prohibited"/>
<xs:attribute name="form" use="prohibited"/>
<xs:attribute name="use" use="prohibited"/>
<xs:attribute name="targetNamespace" use="prohibited"/>
<xs:attribute name="name" type="xs:NCName" use="required"/>
<xs:attribute name="inheritable" type="xs:boolean"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
top

Complex Type: topLevelComplexType

Super-types: anyType < openAttrs (by restriction) < annotated (by extension) < complexType (by extension) < topLevelComplexType (by restriction)
Sub-types: None
Name topLevelComplexType
Abstract no
XML Instance Representation
<...
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
mixed="xs:boolean [0..1] ?"
abstract="xs:boolean [0..1]"
final="xs:derivationSet [0..1]"
block="xs:derivationSet [0..1]"
defaultAttributesApply="xs:boolean [0..1]"
name="xs:NCName [1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
Start Choice [1]
<xs:openContent> ... </xs:openContent> [0..1]
Start Group: xs:typeDefParticle [0..1]
Start Choice [1]
<xs:group> xs:groupRef </xs:group> [1]
<xs:all> ... </xs:all> [1]
<xs:choice> ... </xs:choice> [1]
<xs:sequence> ... </xs:sequence> [1]
End Choice
End Group: xs:typeDefParticle
Start Choice [0..*]
<xs:attribute> xs:attribute </xs:attribute> [1]
<xs:attributeGroup> xs:attributeGroupRef </xs:attributeGroup> [1]
End Choice
<xs:anyAttribute> ... </xs:anyAttribute> [0..1]
<xs:assert> xs:assertion </xs:assert> [0..*]
End Choice
</...>
Schema Component Representation
<xs:complexType name="topLevelComplexType">
<xs:complexContent>
<xs:restriction base="xs:complexType">
<xs:sequence>
<xs:element ref="xs:annotation" minOccurs="0"/>
<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>
top

Complex Type: topLevelElement

Super-types: anyType < openAttrs (by restriction) < annotated (by extension) < element (by extension) < topLevelElement (by restriction)
Sub-types: None
Name topLevelElement
Abstract no
XML Instance Representation
<...
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
type="xs:QName [0..1]"
substitutionGroup="list of: xs:QName [0..1]"
default="xs:string [0..1]"
fixed="xs:string [0..1]"
nillable="xs:boolean [0..1]"
abstract="xs:boolean [0..1]"
final="xs:derivationSet [0..1]"
block="xs:blockSet [0..1]"
name="xs:NCName [1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
Start Choice [0..1]
<xs:simpleType> xs:localSimpleType </xs:simpleType> [1]
<xs:complexType> xs:localComplexType </xs:complexType> [1]
End Choice
<xs:alternative> xs:altType </xs:alternative> [0..*]
Start Group: xs:identityConstraint [0..*]
Start Choice [1]
<xs:unique> ... </xs:unique> [1]
<xs:key> ... </xs:key> [1]
<xs:keyref> ... </xs:keyref> [1]
End Choice
End Group: xs:identityConstraint
</...>
Schema Component Representation
<xs:complexType name="topLevelElement">
<xs:complexContent>
<xs:restriction base="xs:element">
<xs:sequence>
<xs:element ref="xs:annotation" minOccurs="0"/>
<xs:choice minOccurs="0">
<xs:element name="simpleType" type="xs:localSimpleType"/>
<xs:element name="complexType" type="xs:localComplexType"/>
</xs:choice>
<xs:element name="alternative" type="xs:altType" minOccurs="0" maxOccurs="unbounded"/>
<xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="ref" use="prohibited"/>
<xs:attribute name="form" use="prohibited"/>
<xs:attribute name="targetNamespace" 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>
top

Complex Type: topLevelSimpleType

Super-types: anyType < openAttrs (by restriction) < annotated (by extension) < simpleType (by extension) < topLevelSimpleType (by restriction)
Sub-types: None
Name topLevelSimpleType
Abstract no
XML Instance Representation
<...
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
final="xs:simpleDerivationSet [0..1]"
name="xs:NCName [1] ?"
Allow any attributes from a namespace other than this schema's namespace (lax validation).
>
<xs:annotation> ... </xs:annotation> [0..1]
Start Choice [1]
<xs:list> ... </xs:list> [1]
<xs:union> ... </xs:union> [1]
End Choice
</...>
Schema Component Representation
<xs:complexType name="topLevelSimpleType">
<xs:complexContent>
<xs:restriction base="xs:simpleType">
<xs:sequence>
<xs:element ref="xs:annotation" minOccurs="0"/>
<xs:group ref="xs:simpleDerivation"/>
</xs:sequence>
<xs:attribute name="name" type="xs:NCName" use="required"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
top

Complex Type: wildcard

Super-types: anyType < openAttrs (by restriction) < annotated (by extension) < wildcard (by extension)
Sub-types: None
Name wildcard
Abstract no
XML Instance Representation
<...
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
namespace="xs:namespaceList [0..1]"
notNamespace="xs:basicNamespaceList (length >= 1) [0..1]"
processContents="xs:NMTOKEN (value comes from list: {'skip'|'lax'|'strict'}) [0..1]">
<xs:annotation> ... </xs:annotation> [0..1]
</...>
Schema Component Representation
<xs:complexType name="wildcard">
<xs:complexContent>
<xs:extension base="xs:annotated">
<xs:attributeGroup ref="xs:anyAttrGroup"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
top

Model Group: allModel

Name allModel
XML Instance Representation
<xs:annotation> ... </xs:annotation> [0..1]
Start Choice [0..*] ?
<xs:element> xs:localElement </xs:element> [1]
<xs:any> ... </xs:any> [1]
<xs:group
Allow any attributes from any namespace (lax validation).
Allow any attributes from a namespace other than this schema's namespace (lax validation).

id="xs:ID [0..1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).

ref="xs:QName [1]"
Allow any attributes from a namespace other than this schema's namespace (lax validation).

minOccurs="1 [0..1]"
maxOccurs="1 [0..1]"> [1]
<xs:annotation> ... </xs:annotation> [0..1]
</xs:group>
End Choice
Schema Component Representation
<xs:group name="allModel">
<xs:sequence>
<xs:element ref="xs:annotation" minOccurs="0"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="element" type="xs:localElement"/>
<xs:element ref="xs:any"/>
<xs:element name="group">
<xs:complexType>
<xs:complexContent>
<xs:restriction base="xs:groupRef">
<xs:sequence>
<xs:element ref="xs:annotation" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="minOccurs" type="xs:nonNegativeInteger" fixed="1"/>
<xs:attribute name="maxOccurs" type="xs:nonNegativeInteger" fixed="1"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:sequence>
</xs:group>
top

Model Group: assertions

Name assertions
XML Instance Representation
<xs:assert> xs:assertion </xs:assert> [0..*]
Schema Component Representation
<xs:group name="assertions">
<xs:sequence>
<xs:element name="assert" type="xs:assertion" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:group>
top

Model Group: attrDecls

Name attrDecls
XML Instance Representation
Start Choice [0..*]
<xs:attribute> xs:attribute </xs:attribute> [1]
<xs:attributeGroup> xs:attributeGroupRef </xs:attributeGroup> [1]
End Choice
<xs:anyAttribute> ... </xs:anyAttribute> [0..1]
Schema Component Representation
<xs:group name="attrDecls">
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="attribute" type="xs:attribute"/>
<xs:element name="attributeGroup" type="xs:attributeGroupRef"/>
</xs:choice>
<xs:element ref="xs:anyAttribute" minOccurs="0"/>
</xs:sequence>
</xs:group>
top

Model Group: complexTypeModel

Name complexTypeModel
XML Instance Representation
Start Choice [1]
<xs:simpleContent> ... </xs:simpleContent> [1]
<xs:complexContent> ... </xs:complexContent> [1]
<xs:openContent> ... </xs:openContent> [0..1]
Start Group: xs:typeDefParticle [0..1]
Start Choice [1]
<xs:group> xs:groupRef </xs:group> [1]
<xs:all> ... </xs:all> [1]
<xs:choice> ... </xs:choice> [1]
<xs:sequence> ... </xs:sequence> [1]
End Choice
End Group: xs:typeDefParticle
Start Choice [0..*]
<xs:attribute> xs:attribute </xs:attribute> [1]
<xs:attributeGroup> xs:attributeGroupRef </xs:attributeGroup> [1]
End Choice
<xs:anyAttribute> ... </xs:anyAttribute> [0..1]
<xs:assert> xs:assertion </xs:assert> [0..*]
End Choice
Schema Component Representation
<xs:group name="complexTypeModel">
<xs:choice>
<xs:element ref="xs:simpleContent"/>
<xs:element ref="xs:complexContent"/>
<xs:sequence>
<xs:element ref="xs:openContent" minOccurs="0"/>
<xs:group ref="xs:typeDefParticle" minOccurs="0"/>
<xs:group ref="xs:attrDecls"/>
<xs:group ref="xs:assertions"/>
</xs:sequence>
</xs:choice>
</xs:group>
top

Model Group: composition

Name composition
XML Instance Representation
Start Choice [1]
<xs:include> ... </xs:include> [1]
<xs:import> ... </xs:import> [1]
<xs:redefine> ... </xs:redefine> [1]
<xs:override> ... </xs:override> [1]
<xs:annotation> ... </xs:annotation> [1]
End Choice
Schema Component Representation
<xs:group name="composition">
<xs:choice>
<xs:element ref="xs:include"/>
<xs:element ref="xs:import"/>
<xs:element ref="xs:redefine"/>
<xs:element ref="xs:override"/>
<xs:element ref="xs:annotation"/>
</xs:choice>
</xs:group>
top

Model Group: identityConstraint

Name identityConstraint
Documentation The three kinds of identity constraints, all with type of or derived from 'keybase'.
XML Instance Representation
Start Choice [1]
<xs:unique> ... </xs:unique> [1]
<xs:key> ... </xs:key> [1]
<xs:keyref> ... </xs:keyref> [1]
End Choice
Schema Component Representation
<xs:group name="identityConstraint">
<xs:choice>
<xs:element ref="xs:unique"/>
<xs:element ref="xs:key"/>
<xs:element ref="xs:keyref"/>
</xs:choice>
</xs:group>
top

Model Group: nestedParticle

Name nestedParticle
XML Instance Representation
Start Choice [1]
<xs:element> xs:localElement </xs:element> [1]
<xs:group> xs:groupRef </xs:group> [1]
<xs:choice> ... </xs:choice> [1]
<xs:sequence> ... </xs:sequence> [1]
<xs:any> ... </xs:any> [1]
End Choice
Schema Component Representation
<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>
top

Model Group: particle

Name particle
XML Instance Representation
Start Choice [1]
<xs:element> xs:localElement </xs:element> [1]
<xs:group> xs:groupRef </xs:group> [1]
<xs:all> ... </xs:all> [1]
<xs:choice> ... </xs:choice> [1]
<xs:sequence> ... </xs:sequence> [1]
<xs:any> ... </xs:any> [1]
End Choice
Schema Component Representation
<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>
top

Model Group: redefinable

Name redefinable
Documentation This group is for the elements which can self-redefine (see <redefine> below).
XML Instance Representation
Start Choice [1]
<xs:simpleType> ... </xs:simpleType> [1]
<xs:complexType> ... </xs:complexType> [1]
<xs:group> ... </xs:group> [1]
<xs:attributeGroup> ... </xs:attributeGroup> [1]
End Choice
Schema Component Representation
<xs:group name="redefinable">
<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>
top

Model Group: schemaTop

Name schemaTop
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.
XML Instance Representation
Start Choice [1]
Start Choice [1]
<xs:simpleType> ... </xs:simpleType> [1]
<xs:complexType> ... </xs:complexType> [1]
<xs:group> ... </xs:group> [1]
<xs:attributeGroup> ... </xs:attributeGroup> [1]
End Choice
<xs:element> ... </xs:element> [1]
<xs:attribute> ... </xs:attribute> [1]
<xs:notation> ... </xs:notation> [1]
End Choice
Schema Component Representation
<xs:group name="schemaTop">
<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>
top

Model Group: simpleDerivation

Name simpleDerivation
XML Instance Representation
Start Choice [1]
<xs:restriction> ... </xs:restriction> [1]
<xs:list> ... </xs:list> [1]
<xs:union> ... </xs:union> [1]
End Choice
Schema Component Representation
<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>
top

Model Group: simpleRestrictionModel

Name simpleRestrictionModel
XML Instance Representation
<xs:simpleType> xs:localSimpleType </xs:simpleType> [0..1]
Start Choice [0..*]
<xs:facet> ... </xs:facet> [1]
Allow any elements from a namespace other than this schema's namespace (lax validation). [1]
End Choice
Schema Component Representation
<xs:group name="simpleRestrictionModel">
<xs:sequence>
<xs:element name="simpleType" type="xs:localSimpleType" minOccurs="0"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="xs:facet"/>
<xs:any processContents="lax" namespace="##other"/>
</xs:choice>
</xs:sequence>
</xs:group>
top

Model Group: typeDefParticle

Name typeDefParticle
Documentation 'complexType' uses this
XML Instance Representation
Start Choice [1]
<xs:group> xs:groupRef </xs:group> [1]
<xs:all> ... </xs:all> [1]
<xs:choice> ... </xs:choice> [1]
<xs:sequence> ... </xs:sequence> [1]
End Choice
Schema Component Representation
<xs:group name="typeDefParticle">
<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>
top

Notation: XML

Name XML
Public Identifier REC-xml-19980210
System Identifier http://www.w3.org/TR/1998/REC-xml-19980210
Schema Component Representation
<xs:notation name="XML" public="REC-xml-19980210" system="http://www.w3.org/TR/1998/REC-xml-19980210"/>
top

Notation: XMLSchemaStructures

Name XMLSchemaStructures
Public Identifier structures
System Identifier http://www.w3.org/2000/08/XMLSchema.xsd
Schema Component Representation
<xs:notation name="XMLSchemaStructures" public="structures" system="http://www.w3.org/2000/08/XMLSchema.xsd"/>
top

Simple Type: allNNI

Super-types: None
Sub-types: None
Name allNNI
Content
Documentation for maxOccurs
Schema Component Representation
<xs:simpleType name="allNNI">
<xs:union memberTypes="xs:nonNegativeInteger">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="unbounded"/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
top

Simple Type: basicNamespaceList

Super-types: None
Sub-types: None
Name basicNamespaceList
Content
  • List of:
    • Locally defined type:
      • Union of following types:
        • xs:anyURI
        • Locally defined type:
          • value comes from list: {'##targetNamespace'|'##local'}
Documentation A utility type, not for public use
Schema Component Representation
<xs:simpleType name="basicNamespaceList">
<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>
top

Simple Type: blockSet

Super-types: None
Sub-types: None
Name blockSet
Content
  • Union of following types:
    • Locally defined type:
      • value comes from list: {'#all'}
    • Locally defined type:
      • List of:
        • Locally defined type:
          • value comes from list: {'extension'|'restriction'|'substitution'}
Documentation A utility type, not for public use

#all or (possibly empty) subset of {substitution, extension, restriction}
Schema Component Representation
<xs:simpleType name="blockSet">
<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>
top

Simple Type: derivationControl

Super-types: xs:NMTOKEN < derivationControl (by restriction)
Sub-types:
Name derivationControl
Content
  • value comes from list: {'substitution'|'extension'|'restriction'|'list'|'union'}
Documentation A utility type, not for public use
Schema Component Representation
<xs:simpleType name="derivationControl">
<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>
top

Simple Type: derivationSet

Super-types: None
Sub-types: None
Name derivationSet
Content
Documentation A utility type, not for public use

#all or (possibly empty) subset of {extension, restriction}
Schema Component Representation
<xs:simpleType name="derivationSet">
<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>
top

Simple Type: formChoice

Super-types: xs:NMTOKEN < formChoice (by restriction)
Sub-types: None
Name formChoice
Content
  • value comes from list: {'qualified'|'unqualified'}
Documentation A utility type, not for public use
Schema Component Representation
<xs:simpleType name="formChoice">
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="qualified"/>
<xs:enumeration value="unqualified"/>
</xs:restriction>
</xs:simpleType>
top

Simple Type: fullDerivationSet

Super-types: None
Sub-types: None
Name fullDerivationSet
Content
  • Union of following types:
Documentation A utility type, not for public use

#all or (possibly empty) subset of {extension, restriction, list, union}
Schema Component Representation
<xs:simpleType name="fullDerivationSet">
<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>
top

Simple Type: namespaceList

Super-types: None
Sub-types: None
Name namespaceList
Content
Documentation A utility type, not for public use
Schema Component Representation
<xs:simpleType name="namespaceList">
<xs:union memberTypes="xs:specialNamespaceList xs:basicNamespaceList"/>
</xs:simpleType>
top

Simple Type: public

Super-types: xs:token < public (by restriction)
Sub-types: None
Name public
Content
Documentation A utility type, not for public use

A public identifier, per ISO 8879
Schema Component Representation
<xs:simpleType name="public">
<xs:restriction base="xs:token"/>
</xs:simpleType>
top

Simple Type: qnameList

Super-types: None
Sub-types: None
Name qnameList
Content
  • List of:
    • Locally defined type:
      • Union of following types:
        • xs:QName
        • Locally defined type:
          • value comes from list: {'##defined'|'##definedSibling'}
Documentation A utility type, not for public use
Schema Component Representation
<xs:simpleType name="qnameList">
<xs:list>
<xs:simpleType>
<xs:union memberTypes="xs:QName">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="##defined"/>
<xs:enumeration value="##definedSibling"/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:list>
</xs:simpleType>
top

Simple Type: qnameListA

Super-types: None
Sub-types: None
Name qnameListA
Content
  • List of:
    • Locally defined type:
      • Union of following types:
        • xs:QName
        • Locally defined type:
          • value comes from list: {'##defined'}
Documentation A utility type, not for public use
Schema Component Representation
<xs:simpleType name="qnameListA">
<xs:list>
<xs:simpleType>
<xs:union memberTypes="xs:QName">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="##defined"/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:list>
</xs:simpleType>
top

Simple Type: reducedDerivationControl

Super-types: xs:NMTOKEN < derivationControl (by restriction) < reducedDerivationControl (by restriction)
Sub-types: None
Name reducedDerivationControl
Content
  • value comes from list: {'extension'|'restriction'}
Documentation A utility type, not for public use
Schema Component Representation
<xs:simpleType name="reducedDerivationControl">
<xs:restriction base="xs:derivationControl">
<xs:enumeration value="extension"/>
<xs:enumeration value="restriction"/>
</xs:restriction>
</xs:simpleType>
top

Simple Type: simpleDerivationSet

Super-types: None
Sub-types: None
Name simpleDerivationSet
Content
  • Union of following types:
    • Locally defined type:
      • value comes from list: {'#all'}
    • Locally defined type:
      • List of:
        • Locally defined type:
          • value comes from list: {'list'|'union'|'restriction'|'extension'}
Documentation #all or (possibly empty) subset of {restriction, extension, union, list}

A utility type, not for public use
Schema Component Representation
<xs:simpleType name="simpleDerivationSet">
<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:enumeration value="extension"/>
</xs:restriction>
</xs:simpleType>
</xs:list>
</xs:simpleType>
</xs:union>
</xs:simpleType>
top

Simple Type: specialNamespaceList

Super-types: xs:token < specialNamespaceList (by restriction)
Sub-types: None
Name specialNamespaceList
Content
  • value comes from list: {'##any'|'##other'}
Documentation A utility type, not for public use
Schema Component Representation
<xs:simpleType name="specialNamespaceList">
<xs:restriction base="xs:token">
<xs:enumeration value="##any"/>
<xs:enumeration value="##other"/>
</xs:restriction>
</xs:simpleType>
top

Simple Type: typeDerivationControl

Super-types: xs:NMTOKEN < derivationControl (by restriction) < typeDerivationControl (by restriction)
Sub-types: None
Name typeDerivationControl
Content
  • value comes from list: {'extension'|'restriction'|'list'|'union'}
Documentation A utility type, not for public use
Schema Component Representation
<xs:simpleType name="typeDerivationControl">
<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>
top

Simple Type: xpathDefaultNamespace

Super-types: None
Sub-types: None
Name xpathDefaultNamespace
Content
  • Union of following types:
    • xs:anyURI
    • Locally defined type:
      • value comes from list: {'##defaultNamespace'|'##targetNamespace'|'##local'}
Schema Component Representation
<xs:simpleType name="xpathDefaultNamespace">
<xs:union memberTypes="xs:anyURI">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="##defaultNamespace"/>
<xs:enumeration value="##targetNamespace"/>
<xs:enumeration value="##local"/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
top

Legend

Complex Type:

Schema Component Type

AusAddress

Schema Component Name
Super-types: Address < AusAddress (by extension)
Sub-types:
  • QLDAddress (by restriction)
If this schema component is a type definition, its type hierarchy is shown in a gray-bordered box.
Name AusAddress
Abstract no
The table above displays the properties of this schema component.
XML Instance Representation
<... country="Australia">
<unitNo> string </unitNo> [0..1]
<houseNo> string </houseNo> [1]
<street> string </street> [1]
Start Choice[1]
<city> string </city> [1]
<town> string </town> [1]
End Choice
<state> AusStates </state> [1]
<postcode> string <<pattern = [1-9][0-9]{3}>> </postcode> [1]?
</...>

The XML Instance Representation table above shows the schema component's content as an XML instance.

Schema Component Representation
<complexTypename="AusAddress">
<complexContent>
<extensionbase="Address">
<sequence>
<elementname="state" type="AusStates"/>
<elementname="postcode">
<simpleType>
<restrictionbase="string">
<patternvalue="[1-9][0-9]{3}"/>
</restriction>
</simpleType>
</element>
</sequence>
<attributename="country" type="string" fixed="Australia"/>
</extension>
</complexContent>
</complexType>
The Schema Component Representation table above displays the underlying XML representation of the schema component. (Annotations are not shown.)
top

Glossary

Abstract (Applies to complex type definitions and element declarations). An abstract element or complex type cannot used to validate an element instance. If there is a reference to an abstract element, only element declarations that can substitute the abstract element can be used to validate the instance. For references to abstract type definitions, only derived types can be used.

All Model Group Child elements can be provided in any order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-all.

Choice Model Group Only one from the list of child elements and model groups can be provided in instances. See: http://www.w3.org/TR/xmlschema-1/#element-choice.

Collapse Whitespace Policy Replace tab, line feed, and carriage return characters with space character (Unicode character 32). Then, collapse contiguous sequences of space characters into single space character, and remove leading and trailing space characters.

Disallowed Substitutions (Applies to element declarations). If substitution is specified, then substitution group members cannot be used in place of the given element declaration to validate element instances. If derivation methods, e.g. extension, restriction, are specified, then the given element declaration will not validate element instances that have types derived from the element declaration's type using the specified derivation methods. Normally, element instances can override their declaration's type by specifying an xsi:type attribute.

Key Constraint Like Uniqueness Constraint, but additionally requires that the specified value(s) must be provided. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.

Key Reference Constraint Ensures that the specified value(s) must match value(s) from a Key Constraint or Uniqueness Constraint. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.

Model Group Groups together element content, specifying the order in which the element content can occur and the number of times the group of element content may be repeated. See: http://www.w3.org/TR/xmlschema-1/#Model_Groups.

Nillable (Applies to element declarations). If an element declaration is nillable, instances can use the xsi:nil attribute. The xsi:nil attribute is the boolean attribute, nil, from the http://www.w3.org/2001/XMLSchema-instance namespace. If an element instance has an xsi:nil attribute set to true, it can be left empty, even though its element declaration may have required content.

Notation A notation is used to identify the format of a piece of data. Values of elements and attributes that are of type, NOTATION, must come from the names of declared notations. See: http://www.w3.org/TR/xmlschema-1/#cNotation_Declarations.

Preserve Whitespace Policy Preserve whitespaces exactly as they appear in instances.

Prohibited Derivations (Applies to type definitions). Derivation methods that cannot be used to create sub-types from a given type definition.

Prohibited Substitutions (Applies to complex type definitions). Prevents sub-types that have been derived using the specified derivation methods from validating element instances in place of the given type definition.

Replace Whitespace Policy Replace tab, line feed, and carriage return characters with space character (Unicode character 32).

Sequence Model Group Child elements and model groups must be provided in the specified order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-sequence.

Substitution Group Elements that are members of a substitution group can be used wherever the head element of the substitution group is referenced.

Substitution Group Exclusions (Applies to element declarations). Prohibits element declarations from nominating themselves as being able to substitute a given element declaration, if they have types that are derived from the original element's type using the specified derivation methods.

Target Namespace The target namespace identifies the namespace that components in this schema belongs to. If no target namespace is provided, then the schema components do not belong to any namespace.

Uniqueness Constraint Ensures uniqueness of an element/attribute value, or a combination of values, within a specified scope. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.

top