Table of Contents
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 >
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).
>
Start Choice [0..*] ? <
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 :group>
End Choice </
xs :all>
Schema Component Representation
<
xs:element name ="
all "
type ="
xs :all "
id ="
all "/>
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..*] 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:choice >
<
xs:attribute name ="
id "
type ="
xs :ID "/>
</
xs:extension >
</
xs:complexContent >
</
xs:complexType >
</
xs:element >
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 :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:extension >
</
xs:complexContent >
</
xs:complexType >
</
xs:element >
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 :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 >
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 >
This element can be used wherever the following element is referenced:
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 :assertion>
Schema Component Representation
<
xs:element name ="
assertion "
type ="
xs :assertion "
id ="
assertion "
substitutionGroup ="
xs:facet "/>
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 :attribute>
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).
>
Start Choice [0..*] End Choice </
xs :attributeGroup>
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).
>
Start Group: xs :nestedParticle [0..*] Start Choice [1] End Choice End Group: xs :nestedParticle </
xs :choice>
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] ? " >
Start Choice [1] End Choice </
xs :complexContent>
Schema Component Representation
<
xs:element name ="
complexContent "
id ="
complexContent ">
<
xs:complexType >
<
xs:complexContent >
</
xs:complexContent >
</
xs:complexType >
</
xs:element >
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 :defaultOpenContent>
Schema Component Representation
<
xs:element name ="
defaultOpenContent "
id ="
defaultOpenContent ">
<
xs:complexType >
<
xs:complexContent >
<
xs:extension base ="
xs :annotated ">
<
xs:sequence >
</
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 >
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 >
This element can be used wherever the following element is referenced:
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 :enumeration>
Schema Component Representation
<
xs:element name ="
enumeration "
type ="
xs :noFixedFacet "
id ="
enumeration "
substitutionGroup ="
xs:facet "/>
This element can be used wherever the following element is referenced:
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 :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: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 >
The following elements can be used wherever this element is referenced:
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>
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 :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:simpleType >
</
xs:attribute >
</
xs:extension >
</
xs:complexContent >
</
xs:complexType >
</
xs:element >
This element can be used wherever the following element is referenced:
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 :fractionDigits>
Schema Component Representation
<
xs:element name ="
fractionDigits "
type ="
xs :numFacet "
id ="
fractionDigits "
substitutionGroup ="
xs:facet "/>
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).
>
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] Start Choice [0..*] ? <
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 :group>
End Choice </
xs :all>
End Choice </
xs :group>
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 :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 >
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 :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 >
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] " >
Start Sequence [0..1] End Sequence </
xs :key>
Schema Component Representation
<
xs:element name ="
key "
type ="
xs :keybase "
id ="
key "/>
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] " >
Start Sequence [0..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 >
This element can be used wherever the following element is referenced:
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 :length>
Schema Component Representation
<
xs:element name ="
length "
type ="
xs :numFacet "
id ="
length "
substitutionGroup ="
xs:facet "/>
Element: list
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 :list>
Schema Component Representation
<
xs:element name ="
list "
id ="
list ">
<
xs:complexType >
<
xs:complexContent >
<
xs:extension base ="
xs :annotated ">
<
xs:sequence >
</
xs:sequence >
<
xs:attribute name ="
itemType "
type ="
xs :QName "
use ="
optional "/>
</
xs:extension >
</
xs:complexContent >
</
xs:complexType >
</
xs:element >
This element can be used wherever the following element is referenced:
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 :maxExclusive>
Schema Component Representation
<
xs:element name ="
maxExclusive "
type ="
xs :facet "
id ="
maxExclusive "
substitutionGroup ="
xs:facet "/>
This element can be used wherever the following element is referenced:
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 :maxInclusive>
Schema Component Representation
<
xs:element name ="
maxInclusive "
type ="
xs :facet "
id ="
maxInclusive "
substitutionGroup ="
xs:facet "/>
This element can be used wherever the following element is referenced:
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 :maxLength>
Schema Component Representation
<
xs:element name ="
maxLength "
type ="
xs :numFacet "
id ="
maxLength "
substitutionGroup ="
xs:facet "/>
This element can be used wherever the following element is referenced:
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 :minExclusive>
Schema Component Representation
<
xs:element name ="
minExclusive "
type ="
xs :facet "
id ="
minExclusive "
substitutionGroup ="
xs:facet "/>
This element can be used wherever the following element is referenced:
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 :minInclusive>
Schema Component Representation
<
xs:element name ="
minInclusive "
type ="
xs :facet "
id ="
minInclusive "
substitutionGroup ="
xs:facet "/>
This element can be used wherever the following element is referenced:
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 :minLength>
Schema Component Representation
<
xs:element name ="
minLength "
type ="
xs :numFacet "
id ="
minLength "
substitutionGroup ="
xs:facet "/>
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 :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 >
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 :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 >
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] " >
Start Group: xs :schemaTop [0..*] Start Choice [1] Start Choice [1] End Choice 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: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 >
This element can be used wherever the following element is referenced:
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 :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:sequence >
<
xs:attribute name ="
value "
type ="
xs :string "
use ="
required "/>
<xs:anyAttribute namespace ="##other " processContents ="lax "/>
</
xs:restriction >
</
xs:complexContent >
</
xs:complexType >
</
xs:element >
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..*] Start Choice [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: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 >
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] " >
Start Choice [0..*] 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:attribute name ="
base "
type ="
xs :QName "
use ="
optional "/>
</
xs:extension >
</
xs:complexContent >
</
xs:complexType >
</
xs:element >
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 -
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] End Choice End Group: xs :composition Start Sequence [0..1] End Sequence Start Sequence [0..*] Start Choice [1] Start Choice [1] End Choice End Choice 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 :annotation "
minOccurs ="
0 "
maxOccurs ="
unbounded "/>
</
xs:sequence >
<
xs:sequence minOccurs ="
0 "
maxOccurs ="
unbounded ">
<
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 ="
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 ="
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 >
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 :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:simpleType >
</
xs:attribute >
</
xs:extension >
</
xs:complexContent >
</
xs:complexType >
</
xs:element >
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).
>
Start Group: xs :nestedParticle [0..*] Start Choice [1] End Choice End Group: xs :nestedParticle </
xs :sequence>
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] " >
Start Choice [1] End Choice </
xs :simpleContent>
Schema Component Representation
<
xs:element name ="
simpleContent "
id ="
simpleContent ">
<
xs:complexType >
<
xs:complexContent >
</
xs:complexContent >
</
xs:complexType >
</
xs:element >
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).
>
Start Choice [1] End Choice </
xs :simpleType>
This element can be used wherever the following element is referenced:
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 :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:sequence >
<xs:anyAttribute namespace ="##other " processContents ="lax "/>
</
xs:restriction >
</
xs:complexContent >
</
xs:complexType >
</
xs:element >
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 :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:simpleType >
</
xs:attribute >
</
xs:extension >
</
xs:complexContent >
</
xs:complexType >
</
xs:element >
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] " >
Start Sequence [0..1] End Sequence </
xs :unique>
Schema Component Representation
<
xs:element name ="
unique "
type ="
xs :keybase "
id ="
unique "/>
This element can be used wherever the following element is referenced:
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 :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: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 >
Schema Component Representation
<
xs:attributeGroup name ="
anyAttrGroup ">
<
xs:attribute name ="
notNamespace "
use ="
optional ">
<
xs:simpleType >
</
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 >
Attribute Group: defRef
Name
defRef
Documentation
for element, group and attributeGroup,
which both define and reference
Schema Component Representation
<
xs:attributeGroup name ="
defRef ">
<
xs:attribute name ="
name "
type ="
xs :NCName "/>
<
xs:attribute name ="
ref "
type ="
xs :QName "/>
</
xs:attributeGroup >
Attribute Group: occurs
Name
occurs
Documentation
for all particles
Schema Component Representation
<
xs:attributeGroup name ="
occurs ">
<
xs:attribute name ="
maxOccurs "
type ="
xs :allNNI "
default ="
1 "
use ="
optional "/>
</
xs:attributeGroup >
Complex Type: all
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).
>
Start Choice [0..*] ? <
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 :group>
End Choice </...>
Schema Component Representation
<
xs:complexType name ="
all ">
<
xs:complexContent >
<
xs:restriction base ="
xs :explicitGroup ">
<
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 >
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] " >
Start Choice [0..1] End Choice </...>
Schema Component Representation
<
xs:complexType name ="
altType ">
<
xs:complexContent >
<
xs:extension base ="
xs :annotated ">
<
xs:choice minOccurs ="
0 ">
</
xs:choice >
<
xs:attribute name ="
test "
type ="
xs :string "
use ="
optional "/>
<
xs:attribute name ="
type "
type ="
xs :QName "
use ="
optional "/>
</
xs:extension >
</
xs:complexContent >
</
xs:complexType >
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] " >
</...>
Schema Component Representation
<
xs:complexType name ="
annotated ">
<
xs:complexContent >
<
xs:extension base ="
xs :openAttrs ">
<
xs:sequence >
</
xs:sequence >
<
xs:attribute name ="
id "
type ="
xs :ID "/>
</
xs:extension >
</
xs:complexContent >
</
xs:complexType >
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 >
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] " >
</...>
Schema Component Representation
<
xs:complexType name ="
assertion ">
<
xs:complexContent >
</
xs:complexContent >
</
xs:complexType >
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] " >
</...>
Schema Component Representation
<
xs:complexType name ="
attribute ">
<
xs:complexContent >
<
xs:extension base ="
xs :annotated ">
<
xs:sequence >
</
xs:sequence >
<
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 ="
targetNamespace "
type ="
xs :anyURI "/>
<
xs:attribute name ="
inheritable "
type ="
xs :boolean "/>
</
xs:extension >
</
xs:complexContent >
</
xs:complexType >
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] " >
Start Choice [0..*] End Choice </...>
Schema Component Representation
<
xs:complexType name ="
attributeGroup "
abstract ="
true ">
<
xs:complexContent >
</
xs:complexContent >
</
xs:complexType >
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).
>
</...>
Schema Component Representation
<
xs:complexType name ="
attributeGroupRef ">
<
xs:complexContent >
<
xs:restriction base ="
xs :attributeGroup ">
<
xs:sequence >
</
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 >
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).
>
Start Choice [0..1] ? Start Choice [1] End Choice End Choice Start Choice [0..*] End Choice </...>
Schema Component Representation
<
xs:complexType name ="
complexRestrictionType ">
<
xs:complexContent >
<
xs:restriction base ="
xs :restrictionType ">
<
xs:sequence >
<
xs:choice minOccurs ="
0 ">
<
xs:sequence >
</
xs:sequence >
</
xs:choice >
</
xs:sequence >
<xs:anyAttribute namespace ="##other " processContents ="lax "/>
</
xs:restriction >
</
xs:complexContent >
</
xs:complexType >
Schema Component Representation
<
xs:complexType name ="
complexType "
abstract ="
true ">
<
xs:complexContent >
<
xs:extension base ="
xs :annotated ">
<
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 ="
defaultAttributesApply "
type ="
xs :boolean "
default ="
true "
use ="
optional "/>
</
xs:extension >
</
xs:complexContent >
</
xs:complexType >
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.
Schema Component Representation
<
xs:complexType name ="
element "
abstract ="
true ">
<
xs:complexContent >
<
xs:extension base ="
xs :annotated ">
<
xs:sequence >
<
xs:choice minOccurs ="
0 ">
</
xs:choice >
<
xs:element name ="
alternative "
type ="
xs :altType "
minOccurs ="
0 "
maxOccurs ="
unbounded "/>
</
xs:sequence >
<
xs:attribute name ="
type "
type ="
xs :QName "/>
<
xs:attribute name ="
substitutionGroup ">
<
xs:simpleType >
</
xs:simpleType >
</
xs:attribute >
<
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 ="
targetNamespace "
type ="
xs :anyURI "/>
</
xs:extension >
</
xs:complexContent >
</
xs:complexType >
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).
>
Start Group: xs :nestedParticle [0..*] Start Choice [1] End Choice End Group: xs :nestedParticle </...>
Schema Component Representation
<
xs:complexType name ="
explicitGroup ">
<
xs:complexContent >
<
xs:restriction base ="
xs :group ">
<
xs:sequence >
</
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 >
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] " >
Start Group: xs :typeDefParticle [0..1] Start Choice [1] End Choice End Group: xs :typeDefParticle Start Choice [0..*] End Choice </...>
Schema Component Representation
<
xs:complexType name ="
extensionType ">
<
xs:complexContent >
<
xs:extension base ="
xs :annotated ">
<
xs:sequence >
</
xs:sequence >
<
xs:attribute name ="
base "
type ="
xs :QName "
use ="
required "/>
</
xs:extension >
</
xs:complexContent >
</
xs:complexType >
Complex Type: facet
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] " >
</...>
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 >
Complex Type: group
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] " >
Start Group: xs :particle [0..*] Start Choice [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:extension >
</
xs:complexContent >
</
xs:complexType >
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).
>
</...>
Schema Component Representation
<
xs:complexType name ="
groupRef ">
<
xs:complexContent >
<
xs:restriction base ="
xs :realGroup ">
<
xs:sequence >
</
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 >
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).
>
</...>
Schema Component Representation
<
xs:complexType name ="
intFacet ">
<
xs:complexContent >
<
xs:restriction base ="
xs :facet ">
<
xs:sequence >
</
xs:sequence >
<
xs:attribute name ="
value "
type ="
xs :integer "
use ="
required "/>
<xs:anyAttribute namespace ="##other " processContents ="lax "/>
</
xs:restriction >
</
xs:complexContent >
</
xs:complexType >
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] " >
Start Sequence [0..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 :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 >
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).
>
Start Choice [1] Start Group: xs :typeDefParticle [0..1] Start Choice [1] End Choice End Group: xs :typeDefParticle Start Choice [0..*] End Choice End Choice </...>
Schema Component Representation
<
xs:complexType name ="
localComplexType ">
<
xs:complexContent >
<
xs:restriction base ="
xs :complexType ">
<
xs:sequence >
</
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 >
Schema Component Representation
<
xs:complexType name ="
localElement ">
<
xs:complexContent >
<
xs:restriction base ="
xs :element ">
<
xs:sequence >
<
xs:choice minOccurs ="
0 ">
</
xs:choice >
<
xs:element name ="
alternative "
type ="
xs :altType "
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 >
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).
>
Start Choice [1] End Choice </...>
Schema Component Representation
<
xs:complexType name ="
localSimpleType ">
<
xs:complexContent >
<
xs:restriction base ="
xs :simpleType ">
<
xs:sequence >
</
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 >
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).
>
Start Choice [0..*] End Choice </...>
Schema Component Representation
<
xs:complexType name ="
namedAttributeGroup ">
<
xs:complexContent >
<
xs:restriction base ="
xs :attributeGroup ">
<
xs:sequence >
</
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 >
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).
>
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] Start Choice [0..*] ? <
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 :group>
End Choice </
xs :all>
End Choice </...>
Schema Component Representation
<
xs:complexType name ="
namedGroup ">
<
xs:complexContent >
<
xs:restriction base ="
xs :realGroup ">
<
xs:sequence >
<
xs:choice minOccurs ="
1 "
maxOccurs ="
1 ">
<
xs:element name ="
all ">
<
xs:complexType >
<
xs:complexContent >
<
xs:restriction base ="
xs :all ">
<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: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 >
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).
>
</...>
Schema Component Representation
<
xs:complexType name ="
noFixedFacet ">
<
xs:complexContent >
<
xs:restriction base ="
xs :facet ">
<
xs:sequence >
</
xs:sequence >
<xs:attribute name ="fixed " use ="prohibited "/>
<xs:anyAttribute namespace ="##other " processContents ="lax "/>
</
xs:restriction >
</
xs:complexContent >
</
xs:complexType >
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).
>
</...>
Schema Component Representation
<
xs:complexType name ="
numFacet ">
<
xs:complexContent >
<
xs:restriction base ="
xs :facet ">
<
xs:sequence >
</
xs:sequence >
<xs:anyAttribute namespace ="##other " processContents ="lax "/>
</
xs:restriction >
</
xs:complexContent >
</
xs:complexType >
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 >
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).
>
Start Choice [0..1] End Choice </...>
Schema Component Representation
<
xs:complexType name ="
realGroup ">
<
xs:complexContent >
<
xs:restriction base ="
xs :group ">
<
xs:sequence >
<
xs:choice minOccurs ="
0 "
maxOccurs ="
1 ">
<
xs:element ref ="
xs :all "/>
</
xs:choice >
</
xs:sequence >
<xs:anyAttribute namespace ="##other " processContents ="lax "/>
</
xs:restriction >
</
xs:complexContent >
</
xs:complexType >
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] " >
Start Choice [0..1] Start Choice [1] End Choice Start Choice [0..*] Allow any elements from a namespace other than this schema's namespace (lax validation). [1]
End Choice End Choice Start Choice [0..*] End Choice </...>
Schema Component Representation
<
xs:complexType name ="
restrictionType ">
<
xs:complexContent >
<
xs:extension base ="
xs :annotated ">
<
xs:sequence >
<
xs:choice minOccurs ="
0 ">
<
xs:sequence >
</
xs:sequence >
</
xs:choice >
</
xs:sequence >
<
xs:attribute name ="
base "
type ="
xs :QName "
use ="
required "/>
</
xs:extension >
</
xs:complexContent >
</
xs:complexType >
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).
>
Start Group: xs :nestedParticle [0..*] Start Choice [1] End Choice End Group: xs :nestedParticle </...>
Schema Component Representation
<
xs:complexType name ="
simpleExplicitGroup ">
<
xs:complexContent >
<
xs:restriction base ="
xs :explicitGroup ">
<
xs:sequence >
</
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 >
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).
>
Start Choice [0..*] End Choice </...>
Schema Component Representation
<
xs:complexType name ="
simpleExtensionType ">
<
xs:complexContent >
<
xs:restriction base ="
xs :extensionType ">
<
xs:sequence >
</
xs:sequence >
<xs:anyAttribute namespace ="##other " processContents ="lax "/>
</
xs:restriction >
</
xs:complexContent >
</
xs:complexType >
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).
>
Start Choice [0..1] ? Start Choice [0..*] Allow any elements from a namespace other than this schema's namespace (lax validation). [1]
End Choice End Choice Start Choice [0..*] End Choice </...>
Schema Component Representation
<
xs:complexType name ="
simpleRestrictionType ">
<
xs:complexContent >
<
xs:restriction base ="
xs :restrictionType ">
<
xs:sequence >
<
xs:choice minOccurs ="
0 ">
</
xs:choice >
</
xs:sequence >
<xs:anyAttribute namespace ="##other " processContents ="lax "/>
</
xs:restriction >
</
xs:complexContent >
</
xs:complexType >
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] ? " >
Start Choice [1] End Choice </...>
Schema Component Representation
<
xs:complexType name ="
simpleType "
abstract ="
true ">
<
xs:complexContent >
</
xs:complexContent >
</
xs:complexType >
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).
>
</...>
Schema Component Representation
<
xs:complexType name ="
topLevelAttribute ">
<
xs:complexContent >
<
xs:restriction base ="
xs :attribute ">
<
xs:sequence >
</
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 >
Schema Component Representation
<
xs:complexType name ="
topLevelComplexType ">
<
xs:complexContent >
<
xs:restriction base ="
xs :complexType ">
<
xs:sequence >
</
xs:sequence >
<
xs:attribute name ="
name "
type ="
xs :NCName "
use ="
required "/>
<xs:anyAttribute namespace ="##other " processContents ="lax "/>
</
xs:restriction >
</
xs:complexContent >
</
xs:complexType >
Schema Component Representation
<
xs:complexType name ="
topLevelElement ">
<
xs:complexContent >
<
xs:restriction base ="
xs :element ">
<
xs:sequence >
<
xs:choice minOccurs ="
0 ">
</
xs:choice >
<
xs:element name ="
alternative "
type ="
xs :altType "
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 >
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).
>
Start Choice [1] End Choice </...>
Schema Component Representation
<
xs:complexType name ="
topLevelSimpleType ">
<
xs:complexContent >
<
xs:restriction base ="
xs :simpleType ">
<
xs:sequence >
</
xs:sequence >
<
xs:attribute name ="
name "
type ="
xs :NCName "
use ="
required "/>
<xs:anyAttribute namespace ="##other " processContents ="lax "/>
</
xs:restriction >
</
xs:complexContent >
</
xs:complexType >
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] " >
</...>
Schema Component Representation
<
xs:complexType name ="
wildcard ">
<
xs:complexContent >
</
xs:complexContent >
</
xs:complexType >
XML Instance Representation
Start Choice [0..*] ?
<
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 :group>
End Choice
Schema Component Representation
<
xs:group name ="
allModel ">
<
xs:sequence >
<
xs:choice minOccurs ="
0 "
maxOccurs ="
unbounded ">
<
xs:element ref ="
xs :any "/>
<
xs:element name ="
group ">
<
xs:complexType >
<
xs:complexContent >
<
xs:restriction base ="
xs :groupRef ">
<
xs:sequence >
</
xs:sequence >
</
xs:restriction >
</
xs:complexContent >
</
xs:complexType >
</
xs:element >
</
xs:choice >
</
xs:sequence >
</
xs:group >
Schema Component Representation
<
xs:group name ="
assertions ">
<
xs:sequence >
<
xs:element name ="
assert "
type ="
xs :assertion "
minOccurs ="
0 "
maxOccurs ="
unbounded "/>
</
xs:sequence >
</
xs:group >
Schema Component Representation
<
xs:group name ="
attrDecls ">
<
xs:sequence >
<
xs:choice minOccurs ="
0 "
maxOccurs ="
unbounded ">
</
xs:choice >
</
xs:sequence >
</
xs:group >
Schema Component Representation
<
xs:group name ="
complexTypeModel ">
<
xs:choice >
<
xs:sequence >
</
xs:sequence >
</
xs:choice >
</
xs:group >
Schema Component Representation
<
xs:group name ="
composition ">
</
xs:group >
Name
identityConstraint
Documentation
The three kinds of identity constraints, all with
type of or derived from 'keybase'.
Schema Component Representation
<
xs:group name ="
identityConstraint ">
<
xs:choice >
<
xs:element ref ="
xs :key "/>
</
xs:choice >
</
xs:group >
Schema Component Representation
<
xs:group name ="
nestedParticle ">
<
xs:choice >
<
xs:element ref ="
xs :any "/>
</
xs:choice >
</
xs:group >
Schema Component Representation
<
xs:group name ="
particle ">
<
xs:choice >
<
xs:element ref ="
xs :all "/>
<
xs:element ref ="
xs :any "/>
</
xs:choice >
</
xs:group >
Name
redefinable
Documentation
This group is for the
elements which can self-redefine (see <redefine> below).
Schema Component Representation
<
xs:group name ="
redefinable ">
</
xs:group >
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.
Schema Component Representation
<
xs:group name ="
schemaTop ">
</
xs:group >
Schema Component Representation
<
xs:group name ="
simpleDerivation ">
</
xs:group >
Name
simpleRestrictionModel
Schema Component Representation
<
xs:group name ="
simpleRestrictionModel ">
<
xs:sequence >
<
xs:choice minOccurs ="
0 "
maxOccurs ="
unbounded ">
<xs:any processContents ="lax " namespace ="##other "/>
</
xs:choice >
</
xs:sequence >
</
xs:group >
Name
typeDefParticle
Documentation
'complexType' uses this
Schema Component Representation
<
xs:group name ="
typeDefParticle ">
<
xs:choice >
<
xs:element ref ="
xs :all "/>
</
xs:choice >
</
xs:group >
Name
XML
Public Identifier
REC-xml-19980210
System Identifier
http://www.w3.org/TR/1998/REC-xml-19980210
Name
XMLSchemaStructures
Public Identifier
structures
System Identifier
http://www.w3.org/2000/08/XMLSchema.xsd
Simple Type: allNNI
Super-types:
None
Sub-types:
None
Name
allNNI
Content
Union of following types:
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 >
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 >
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 >
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 >
Super-types:
None
Sub-types:
None
Name
derivationSet
Content
Union of following types: Locally defined type:value comes from list: {'#all'} Locally defined type:
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:simpleType >
</
xs:union >
</
xs:simpleType >
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 >
Super-types:
None
Sub-types:
None
Name
fullDerivationSet
Content
Union of following types: Locally defined type:value comes from list: {'#all'} Locally defined type:
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:simpleType >
</
xs:union >
</
xs:simpleType >
Super-types:
None
Sub-types:
None
Name
namespaceList
Content
Union of following types:
Documentation
A utility type, not for public use
Schema Component Representation
<
xs:simpleType name ="
namespaceList ">
</
xs:simpleType >
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:simpleType >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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.
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.
The minimum and maximum occurrence of elements and attributes are provided in square brackets, e.g. [0..1].
Model group information are shown in gray, e.g. Start Choice ... End Choice.
For type derivations, the elements and attributes that have been added to or changed from the base type's content are shown in bold .
If an element/attribute has a fixed value, the fixed value is shown in green, e.g. country="Australia".
Otherwise, the type of the element/attribute is displayed.
If the element/attribute's type is in the schema, a link is provided to it. For local simple type definitions, the constraints are displayed in angle brackets, e.g. <<pattern = [1-9][0-9]{3}>>.
If a local element/attribute has documentation, it will be displayed in a window that pops up when the question mark inside the attribute or next to the element is clicked, e.g. <postcode>.
Schema Component Representation
<complexType name ="AusAddress ">
<complexContent >
<extension base ="Address ">
<sequence >
<element name ="state " type ="AusStates "/>
<element name ="postcode ">
<simpleType >
<restriction base ="string ">
<pattern value ="[1-9][0-9]{3} "/>
</restriction >
</simpleType >
</element >
</sequence >
<attribute name ="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.)
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 .