The schema corresponding to this document is normative,with respect to the syntactic constraints it expresses in theXML Schema language. The documentation (within <documentation> elements)below, is not normative, but rather highlights important aspects ofthe W3C Recommendation of which this is a part
The simpleType element and all of its members are definedtowards 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 XML Schema schemas
First the built-in primitive datatypes. These definitions are forinformation only, the real built-in definitions are magic.
For each built-in datatype in this schema (both primitive and derived) can be uniquely addressed via a URI constructed as follows: 1) the base URI is the URI of the XML Schema namespace 2) the fragment identifier is the name of the datatype For example, to address the int datatype, the URI is: http://www.w3.org/2001/XMLSchema#int Additionally, each facet definition element can be uniquely addressed via a URI constructed as follows: 1) the base URI is the URI of the XML Schema namespace 2) the fragment identifier is the name of the facet For example, to address the maxInclusive facet, the URI is: http://www.w3.org/2001/XMLSchema#maxInclusive Additionally, each facet usage in a built-in datatype definition can be uniquely addressed via a URI constructed as follows: 1) the base URI is the URI of the XML Schema namespace 2) the fragment identifier is the name of the datatype, followed by a period (".") followed by the name of the facet For example, to address the usage of the maxInclusive facet in the definition of int, the URI is: http://www.w3.org/2001/XMLSchema#int.maxInclusive
See http://www.w3.org/XML/1998/namespace.html and http://www.w3.org/TR/REC-xml for information about this namespace. This schema document describes the XML namespace, in a form suitable for import by other schema documents. Note that local names in this namespace are intended to be defined only by the World Wide Web Consortium or its subgroups. The following names are currently defined in this namespace and should not be used with conflicting semantics by any Working Group, specification, or document instance: base (as an attribute name): denotes an attribute whose value provides a URI to be used as the base for interpreting any relative URIs in the scope of the element on which it appears; its value is inherited. This name is reserved by virtue of its definition in the XML Base specification. id (as an attribute name): denotes an attribute whose value should be interpreted as if declared to be of type ID. This name is reserved by virtue of its definition in the xml:id specification. lang (as an attribute name): denotes an attribute whose value is a language code for the natural language of the content of any element; its value is inherited. This name is reserved by virtue of its definition in the XML specification. space (as an attribute name): denotes an attribute whose value is a keyword indicating what whitespace processing discipline is intended for the content of the element; its value is inherited. This name is reserved by virtue of its definition in the XML specification. Father (in any context at all): denotes Jon Bosak, the chair of the original XML Working Group. This name is reserved by the following decision of the W3C XML Plenary and XML Coordination groups: In appreciation for his vision, leadership and dedication the W3C XML Plenary on this 10th day of February, 2000 reserves for Jon Bosak in perpetuity the XML name xml:Father
This schema defines attributes and an attribute group suitable for use by schemas wishing to allow xml:base, xml:lang, xml:space or xml:id attributes on elements they define. To enable this, such a schema must import this schema for the XML namespace, e.g. as follows: <schema . . .> . . . <import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/> Subsequently, qualified reference to any of the attributes or the group defined below will have the desired effect, e.g. <type . . .> . . . <attributeGroup ref="xml:specialAttrs"/> will define a type which will schema-validate an instance element with any of those attributes
In keeping with the XML Schema WG's standard versioningpolicy, this schema document will persist athttp://www.w3.org/2007/08/xml.xsd.At the date of issue it can also be found athttp://www.w3.org/2001/xml.xsd.The schema document at that URI may however change in the future,in order to remain compatible with the latest version of XML Schemaitself, or with the XML namespace itself. In other words, if the XMLSchema or XML namespaces change, the version of this document athttp://www.w3.org/2001/xml.xsd will changeaccordingly; the version athttp://www.w3.org/2007/08/xml.xsd will not change.
Attempting to install the relevant ISO 2- and 3-letter codes as the enumerated possible values is probably never going to be a realistic possibility. See RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry at http://www.iana.org/assignments/lang-tag-apps.htm for further information. The union allows for the 'un-declaration' of xml:lang with the empty string.
Wildcard: ANY attribute from ANY namespace OTHER than 'http://www.w3.org/2001/XMLSchema'
Wildcard: ANY attribute from ANY namespace OTHER than 'http://www.w3.org/2001/XMLSchema'
Source
<xs:element name="restriction" id="restriction"><xs:complexType><xs:annotation><xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-restriction">base attribute and simpleType child are mutually exclusive, but one or other is required</xs:documentation></xs:annotation><xs:complexContent><xs:extension base="xs:annotated"><xs:group ref="xs:simpleRestrictionModel"/><xs:attribute name="base" type="xs:QName" use="optional"/></xs:extension></xs:complexContent></xs:complexType></xs:element>
Wildcard: ANY attribute from ANY namespace OTHER than 'http://www.w3.org/2001/XMLSchema'
Source
<xs:element name="list" id="list"><xs:complexType><xs:annotation><xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-list">itemType attribute and simpleType child are mutually exclusive, but one or other is required</xs:documentation></xs:annotation><xs:complexContent><xs:extension base="xs:annotated"><xs:sequence><xs:element 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>
Wildcard: ANY attribute from ANY namespace OTHER than 'http://www.w3.org/2001/XMLSchema'
Source
<xs:element name="union" id="union"><xs:complexType><xs:annotation><xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-union">memberTypes attribute must be non-empty or there must be at least one simpleType child</xs:documentation></xs:annotation><xs:complexContent><xs:extension base="xs:annotated"><xs:sequence><xs:element 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>
Wildcard: ANY attribute from ANY namespace OTHER than 'http://www.w3.org/2001/XMLSchema'
Source
<xs:element name="selector" id="selector"><xs:annotation><xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-selector"/></xs:annotation><xs:complexType><xs:complexContent><xs:extension base="xs:annotated"><xs:attribute name="xpath" use="required"><xs:simpleType><xs:annotation><xs:documentation>A subset of XPath expressions for use in selectors</xs:documentation><xs:documentation>A utility type, not for public use</xs:documentation></xs:annotation><xs:restriction base="xs:token"><xs:annotation><xs:documentation>The following pattern is intended to allow XPath expressions per the following EBNF: Selector ::= Path ( '|' Path )* Path ::= ('.//')? Step ( '/' Step )* Step ::= '.' | NameTest NameTest ::= QName | '*' | NCName ':' '*' child:: is also allowed</xs:documentation></xs:annotation><xs:pattern value="(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*(\|(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*)*"></xs:pattern></xs:restriction></xs:simpleType></xs:attribute></xs:extension></xs:complexContent></xs:complexType></xs:element>
Wildcard: ANY attribute from ANY namespace OTHER than 'http://www.w3.org/2001/XMLSchema'
Source
<xs:element name="field" id="field"><xs:annotation><xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-field"/></xs:annotation><xs:complexType><xs:complexContent><xs:extension base="xs:annotated"><xs:attribute name="xpath" use="required"><xs:simpleType><xs:annotation><xs:documentation>A subset of XPath expressions for use in fields</xs:documentation><xs:documentation>A utility type, not for public use</xs:documentation></xs:annotation><xs:restriction base="xs:token"><xs:annotation><xs:documentation>The following pattern is intended to allow XPath expressions per the same EBNF as for selector, with the following change: Path ::= ('.//')? ( Step '/' )* ( Step | '@' NameTest )</xs:documentation></xs:annotation><xs:pattern value="(\.//)?((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)/)*((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)|((attribute::|@)((\i\c*:)?(\i\c*|\*))))(\|(\.//)?((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)/)*((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)|((attribute::|@)((\i\c*:)?(\i\c*|\*)))))*"></xs:pattern></xs:restriction></xs:simpleType></xs:attribute></xs:extension></xs:complexContent></xs:complexType></xs:element>
Attempting to install the relevant ISO 2- and 3-letter codes as the enumerated possible values is probably never going to be a realistic possibility. See RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry at http://www.iana.org/assignments/lang-tag-apps.htm for further information. The union allows for the 'un-declaration' of xml:lang with the empty string.
Wildcard: ANY attribute from ANY namespace OTHER than 'http://www.w3.org/2001/XMLSchema'
Wildcard: ANY attribute from ANY namespace OTHER than 'http://www.w3.org/2001/XMLSchema'
Source
<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" use="required" type="xs:NCName"><xs:annotation><xs:documentation>Required at the top level</xs:documentation></xs:annotation></xs:attribute><xs:anyAttribute namespace="##other" processContents="lax"/></xs:restriction></xs:complexContent></xs:complexType>
Wildcard: ANY attribute from ANY namespace OTHER than 'http://www.w3.org/2001/XMLSchema'
Source
<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:annotation><xs:documentation>Can be restricted to required or forbidden</xs:documentation></xs:annotation></xs:attribute></xs:extension></xs:complexContent></xs:complexType>
Wildcard: ANY attribute from ANY namespace OTHER than 'http://www.w3.org/2001/XMLSchema'
Source
<xs:complexType name="annotated"><xs:annotation><xs:documentation>This type is extended by all types which allow annotation other than <schema> itself</xs:documentation></xs:annotation><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>
Wildcard: ANY attribute from ANY namespace OTHER than 'http://www.w3.org/2001/XMLSchema'
Source
<xs:complexType name="openAttrs"><xs:annotation><xs:documentation>This type is extended by almost all schema types to allow attributes from other namespaces to be added to user schemas.</xs:documentation></xs:annotation><xs:complexContent><xs:restriction base="xs:anyType"><xs:anyAttribute namespace="##other" processContents="lax"/></xs:restriction></xs:complexContent></xs:complexType>
<xs:complexType name="anyType" mixed="true"><xs:annotation><xs:documentation>Not the real urType, but as close an approximation as we can get in the XML representation</xs:documentation></xs:annotation><xs:sequence><xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/></xs:sequence><xs:anyAttribute processContents="lax"/></xs:complexType>
<xs:simpleType name="NCName" id="NCName"><xs:annotation><xs:documentation source="http://www.w3.org/TR/xmlschema-2/#NCName"/></xs:annotation><xs:restriction base="xs:Name"><xs:pattern value="[\i-[:]][\c-[:]]*" id="NCName.pattern"><xs:annotation><xs:documentation source="http://www.w3.org/TR/REC-xml-names/#NT-NCName">pattern matches production 4 from the Namespaces in XML spec</xs:documentation></xs:annotation></xs:pattern></xs:restriction></xs:simpleType>
<xs:simpleType name="Name" id="Name"><xs:annotation><xs:documentation source="http://www.w3.org/TR/xmlschema-2/#Name"/></xs:annotation><xs:restriction base="xs:token"><xs:pattern value="\i\c*" id="Name.pattern"><xs:annotation><xs:documentation source="http://www.w3.org/TR/REC-xml#NT-Name">pattern matches production 5 from the XML spec</xs:documentation></xs:annotation></xs:pattern></xs:restriction></xs:simpleType>
<xs:simpleType name="simpleDerivationSet"><xs:annotation><xs:documentation>#all or (possibly empty) subset of {restriction, union, list}</xs:documentation><xs:documentation>A utility type, not for public use</xs:documentation></xs:annotation><xs:union><xs:simpleType><xs:restriction base="xs:token"><xs:enumeration value="#all"/></xs:restriction></xs:simpleType><xs:simpleType><xs:list><xs:simpleType><xs:restriction base="xs:derivationControl"><xs:enumeration value="list"/><xs:enumeration value="union"/><xs:enumeration value="restriction"/></xs:restriction></xs:simpleType></xs:list></xs:simpleType></xs:union></xs:simpleType>
<xs:simpleType name="NMTOKEN" id="NMTOKEN"><xs:annotation><xs:documentation source="http://www.w3.org/TR/xmlschema-2/#NMTOKEN"/></xs:annotation><xs:restriction base="xs:token"><xs:pattern value="\c+" id="NMTOKEN.pattern"><xs:annotation><xs:documentation source="http://www.w3.org/TR/REC-xml#NT-Nmtoken">pattern matches production 7 from the XML spec</xs:documentation></xs:annotation></xs:pattern></xs:restriction></xs:simpleType>
Wildcard: ANY attribute from ANY namespace OTHER than 'http://www.w3.org/2001/XMLSchema'
Source
<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:annotation><xs:documentation>Will be restricted to required or forbidden</xs:documentation></xs:annotation></xs:attribute><xs:attribute name="mixed" type="xs:boolean" use="optional" default="false"><xs:annotation><xs:documentation>Not allowed if simpleContent child is chosen. May be overriden by setting on complexContent child.</xs:documentation></xs:annotation></xs:attribute><xs:attribute name="abstract" type="xs:boolean" use="optional" default="false"/><xs:attribute name="final" type="xs:derivationSet"/><xs:attribute name="block" type="xs:derivationSet"/></xs:extension></xs:complexContent></xs:complexType>
Wildcard: ANY attribute from ANY namespace OTHER than 'http://www.w3.org/2001/XMLSchema'
Source
<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:annotation><xs:documentation>This choice is added simply to make this a valid restriction per the REC</xs:documentation></xs:annotation><xs:group ref="xs:simpleRestrictionModel"/></xs:choice><xs:group ref="xs:attrDecls"/></xs:sequence><xs:anyAttribute namespace="##other" processContents="lax"/></xs:restriction></xs:complexContent></xs:complexType>
Wildcard: ANY attribute from ANY namespace OTHER than 'http://www.w3.org/2001/XMLSchema'
Source
<xs:complexType name="group" abstract="true"><xs:annotation><xs:documentation>group type for explicit groups, named top-level groups and group references</xs:documentation></xs:annotation><xs:complexContent><xs:extension base="xs:annotated"><xs:group ref="xs:particle" minOccurs="0" maxOccurs="unbounded"/><xs:attributeGroup ref="xs:defRef"/><xs:attributeGroup ref="xs:occurs"/></xs:extension></xs:complexContent></xs:complexType>
The element element can be used eitherat the top level to define an element-type binding globally,or within a content model to either reference a globally-definedelement or type or declare an element-type binding locally.The ref form is not allowed at the top level.
Wildcard: ANY attribute from ANY namespace OTHER than 'http://www.w3.org/2001/XMLSchema'
Source
<xs:complexType name="element" abstract="true"><xs:annotation><xs:documentation>The element element can be used either at the top level to define an element-type binding globally, or within a content model to either reference a globally-defined element or type or declare an element-type binding locally. The ref form is not allowed at the top level.</xs:documentation></xs:annotation><xs:complexContent><xs:extension base="xs:annotated"><xs:sequence><xs:choice minOccurs="0"><xs:element name="simpleType" type="xs:localSimpleType"/><xs:element name="complexType" type="xs:localComplexType"/></xs:choice><xs:group 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" type="xs:QName"/><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" default="false"/><xs:attribute name="abstract" type="xs:boolean" use="optional" default="false"/><xs:attribute name="final" type="xs:derivationSet"/><xs:attribute name="block" type="xs:blockSet"/><xs:attribute name="form" type="xs:formChoice"/></xs:extension></xs:complexContent></xs:complexType>
<xs:simpleType name="derivationSet"><xs:annotation><xs:documentation>A utility type, not for public use</xs:documentation><xs:documentation>#all or (possibly empty) subset of {extension, restriction}</xs:documentation></xs:annotation><xs:union><xs:simpleType><xs:restriction base="xs:token"><xs:enumeration value="#all"/></xs:restriction></xs:simpleType><xs:simpleType><xs:list itemType="xs:reducedDerivationControl"/></xs:simpleType></xs:union></xs:simpleType>
<xs:simpleType name="blockSet"><xs:annotation><xs:documentation>A utility type, not for public use</xs:documentation><xs:documentation>#all or (possibly empty) subset of {substitution, extension, restriction}</xs:documentation></xs:annotation><xs:union><xs:simpleType><xs:restriction base="xs:token"><xs:enumeration value="#all"/></xs:restriction></xs:simpleType><xs:simpleType><xs:list><xs:simpleType><xs:restriction base="xs:derivationControl"><xs:enumeration value="extension"/><xs:enumeration value="restriction"/><xs:enumeration value="substitution"/></xs:restriction></xs:simpleType></xs:list></xs:simpleType></xs:union></xs:simpleType>
<xs:simpleType name="formChoice"><xs:annotation><xs:documentation>A utility type, not for public use</xs:documentation></xs:annotation><xs:restriction base="xs:NMTOKEN"><xs:enumeration value="qualified"/><xs:enumeration value="unqualified"/></xs:restriction></xs:simpleType>
Wildcard: ANY attribute from ANY namespace OTHER than 'http://www.w3.org/2001/XMLSchema'
Source
<xs:complexType name="explicitGroup"><xs:annotation><xs:documentation>group type for the three kinds of group</xs:documentation></xs:annotation><xs:complexContent><xs:restriction base="xs:group"><xs:sequence><xs:element ref="xs:annotation" minOccurs="0"/><xs:group ref="xs:nestedParticle" minOccurs="0" maxOccurs="unbounded"/></xs:sequence><xs:attribute name="name" type="xs:NCName" use="prohibited"/><xs:attribute name="ref" type="xs:QName" use="prohibited"/><xs:anyAttribute namespace="##other" processContents="lax"/></xs:restriction></xs:complexContent></xs:complexType>
<xs:simpleType name="namespaceList"><xs:annotation><xs:documentation>A utility type, not for public use</xs:documentation></xs:annotation><xs:union><xs:simpleType><xs:restriction base="xs:token"><xs:enumeration value="##any"/><xs:enumeration value="##other"/></xs:restriction></xs:simpleType><xs:simpleType><xs:list><xs:simpleType><xs:union memberTypes="xs:anyURI"><xs:simpleType><xs:restriction base="xs:token"><xs:enumeration value="##targetNamespace"/><xs:enumeration value="##local"/></xs:restriction></xs:simpleType></xs:union></xs:simpleType></xs:list></xs:simpleType></xs:union></xs:simpleType>
Wildcard: ANY attribute from ANY namespace OTHER than 'http://www.w3.org/2001/XMLSchema'
Source
<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:annotation><xs:documentation>This choice is added simply to make this a valid restriction per the REC</xs:documentation></xs:annotation><xs:group ref="xs:typeDefParticle"/></xs:choice><xs:group ref="xs:attrDecls"/></xs:sequence><xs:anyAttribute namespace="##other" processContents="lax"/></xs:restriction></xs:complexContent></xs:complexType>
<xs:simpleType name="public"><xs:annotation><xs:documentation>A utility type, not for public use</xs:documentation><xs:documentation>A public identifier, per ISO 8879</xs:documentation></xs:annotation><xs:restriction base="xs:token"/></xs:simpleType>
<xs:simpleType name="reducedDerivationControl"><xs:annotation><xs:documentation>A utility type, not for public use</xs:documentation></xs:annotation><xs:restriction base="xs:derivationControl"><xs:enumeration value="extension"/><xs:enumeration value="restriction"/></xs:restriction></xs:simpleType>
<xs:simpleType name="derivationControl"><xs:annotation><xs:documentation>A utility type, not for public use</xs:documentation></xs:annotation><xs:restriction base="xs:NMTOKEN"><xs:enumeration value="substitution"/><xs:enumeration value="extension"/><xs:enumeration value="restriction"/><xs:enumeration value="list"/><xs:enumeration value="union"/></xs:restriction></xs:simpleType>
<xs:simpleType name="typeDerivationControl"><xs:annotation><xs:documentation>A utility type, not for public use</xs:documentation></xs:annotation><xs:restriction base="xs:derivationControl"><xs:enumeration value="extension"/><xs:enumeration value="restriction"/><xs:enumeration value="list"/><xs:enumeration value="union"/></xs:restriction></xs:simpleType>
<xs:simpleType name="fullDerivationSet"><xs:annotation><xs:documentation>A utility type, not for public use</xs:documentation><xs:documentation>#all or (possibly empty) subset of {extension, restriction, list, union}</xs:documentation></xs:annotation><xs:union><xs:simpleType><xs:restriction base="xs:token"><xs:enumeration value="#all"/></xs:restriction></xs:simpleType><xs:simpleType><xs:list itemType="xs:typeDerivationControl"/></xs:simpleType></xs:union></xs:simpleType>
NOTATION cannot be used directly in a schema; rather a typemust be derived from it by specifying at least one enumerationfacet whose value is the name of a NOTATION declared in theschema.
Diagram
Source
<xs:simpleType name="NOTATION" id="NOTATION"><xs:annotation><xs:appinfo><hfp:hasFacet name="length"/><hfp:hasFacet name="minLength"/><hfp:hasFacet name="maxLength"/><hfp:hasFacet name="pattern"/><hfp:hasFacet name="enumeration"/><hfp:hasFacet name="whiteSpace"/><hfp:hasProperty name="ordered" value="false"/><hfp:hasProperty name="bounded" value="false"/><hfp:hasProperty name="cardinality" value="countably infinite"/><hfp:hasProperty name="numeric" value="false"/></xs:appinfo><xs:documentation source="http://www.w3.org/TR/xmlschema-2/#NOTATION"/><xs:documentation>NOTATION cannot be used directly in a schema; rather a type must be derived from it by specifying at least one enumeration facet whose value is the name of a NOTATION declared in the schema.</xs:documentation></xs:annotation><xs:restriction base="xs:anySimpleType"><xs:whiteSpace value="collapse" fixed="true" id="NOTATION.whiteSpace"/></xs:restriction></xs:simpleType>
<xs:simpleType name="language" id="language"><xs:annotation><xs:documentation source="http://www.w3.org/TR/xmlschema-2/#language"/></xs:annotation><xs:restriction base="xs:token"><xs:pattern value="[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*" id="language.pattern"><xs:annotation><xs:documentation source="http://www.ietf.org/rfc/rfc3066.txt">pattern specifies the content of section 2.12 of XML 1.0e2 and RFC 3066 (Revised version of RFC 1766).</xs:documentation></xs:annotation></xs:pattern></xs:restriction></xs:simpleType>
Attempting to install the relevant ISO 2- and 3-letter codes as the enumerated possible values is probably never going to be a realistic possibility. See RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry at http://www.iana.org/assignments/lang-tag-apps.htm for further information. The union allows for the 'un-declaration' of xml:lang with the empty string.
<xs:attribute name="lang"><xs:annotation><xs:documentation>Attempting to install the relevant ISO 2- and 3-letter codes as the enumerated possible values is probably never going to be a realistic possibility. See RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry at http://www.iana.org/assignments/lang-tag-apps.htm for further information. The union allows for the 'un-declaration' of xml:lang with the empty string.</xs:documentation></xs:annotation><xs:simpleType><xs:union memberTypes="xs:language"><xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value=""/></xs:restriction></xs:simpleType></xs:union></xs:simpleType></xs:attribute>
<xs:attribute name="name" type="xs:NCName"><xs:annotation><xs:documentation>Can be restricted to required or forbidden</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="name" use="required" type="xs:NCName"><xs:annotation><xs:documentation>Required at the top level</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="name" type="xs:NCName"><xs:annotation><xs:documentation>Will be restricted to required or forbidden</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="mixed" type="xs:boolean" use="optional" default="false"><xs:annotation><xs:documentation>Not allowed if simpleContent child is chosen. May be overriden by setting on complexContent child.</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="xpath" use="required"><xs:simpleType><xs:annotation><xs:documentation>A subset of XPath expressions for use in selectors</xs:documentation><xs:documentation>A utility type, not for public use</xs:documentation></xs:annotation><xs:restriction base="xs:token"><xs:annotation><xs:documentation>The following pattern is intended to allow XPath expressions per the following EBNF: Selector ::= Path ( '|' Path )* Path ::= ('.//')? Step ( '/' Step )* Step ::= '.' | NameTest NameTest ::= QName | '*' | NCName ':' '*' child:: is also allowed</xs:documentation></xs:annotation><xs:pattern value="(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*(\|(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*)*"></xs:pattern></xs:restriction></xs:simpleType></xs:attribute>
<xs:attribute name="xpath" use="required"><xs:simpleType><xs:annotation><xs:documentation>A subset of XPath expressions for use in fields</xs:documentation><xs:documentation>A utility type, not for public use</xs:documentation></xs:annotation><xs:restriction base="xs:token"><xs:annotation><xs:documentation>The following pattern is intended to allow XPath expressions per the same EBNF as for selector, with the following change: Path ::= ('.//')? ( Step '/' )* ( Step | '@' NameTest )</xs:documentation></xs:annotation><xs:pattern value="(\.//)?((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)/)*((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)|((attribute::|@)((\i\c*:)?(\i\c*|\*))))(\|(\.//)?((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)/)*((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)|((attribute::|@)((\i\c*:)?(\i\c*|\*)))))*"></xs:pattern></xs:restriction></xs:simpleType></xs:attribute>
<xs:attribute name="mixed" type="xs:boolean"><xs:annotation><xs:documentation>Overrides any setting on complexType parent.</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="base" type="xs:anyURI"><xs:annotation><xs:documentation>See http://www.w3.org/TR/xmlbase/ for information about this attribute.</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="id" type="xs:ID"><xs:annotation><xs:documentation>See http://www.w3.org/TR/xml-id/ for information about this attribute.</xs:documentation></xs:annotation></xs:attribute>
<xs:group name="facets"><xs:annotation><xs:documentation>We should use a substitution group for facets, but that's ruled out because it would allow users to add their own, which we're not ready for yet.</xs:documentation></xs:annotation><xs:choice><xs:element ref="xs:minExclusive"/><xs:element ref="xs:minInclusive"/><xs:element ref="xs:maxExclusive"/><xs:element ref="xs:maxInclusive"/><xs:element ref="xs:totalDigits"/><xs:element ref="xs:fractionDigits"/><xs:element ref="xs:length"/><xs:element ref="xs:minLength"/><xs:element ref="xs:maxLength"/><xs:element ref="xs:enumeration"/><xs:element ref="xs:whiteSpace"/><xs:element ref="xs:pattern"/></xs:choice></xs:group>
<xs:group name="schemaTop"><xs:annotation><xs:documentation>This group is for the elements which occur freely at the top level of schemas. All of their types are based on the "annotated" type by extension.</xs:documentation></xs:annotation><xs:choice><xs:group ref="xs:redefinable"/><xs:element ref="xs:element"/><xs:element ref="xs:attribute"/><xs:element ref="xs:notation"/></xs:choice></xs:group>
<xs:group name="redefinable"><xs:annotation><xs:documentation>This group is for the elements which can self-redefine (see <redefine> below).</xs:documentation></xs:annotation><xs:choice><xs:element ref="xs:simpleType"/><xs:element ref="xs:complexType"/><xs:element ref="xs:group"/><xs:element ref="xs:attributeGroup"/></xs:choice></xs:group>
<xs:group name="identityConstraint"><xs:annotation><xs:documentation>The three kinds of identity constraints, all with type of or derived from 'keybase'.</xs:documentation></xs:annotation><xs:choice><xs:element ref="xs:unique"/><xs:element ref="xs:key"/><xs:element ref="xs:keyref"/></xs:choice></xs:group>
<xs:group name="allModel"><xs:sequence><xs:element ref="xs:annotation" minOccurs="0"/><xs:choice minOccurs="0" maxOccurs="unbounded"><xs:annotation><xs:documentation>This choice with min/max is here to avoid a pblm with the Elt:All/Choice/Seq Particle derivation constraint</xs:documentation></xs:annotation><xs:element name="element" type="xs:narrowMaxMin"/></xs:choice></xs:sequence></xs:group>
<xs:attributeGroup name="defRef"><xs:annotation><xs:documentation>for element, group and attributeGroup, which both define and reference</xs:documentation></xs:annotation><xs:attribute name="name" type="xs:NCName"/><xs:attribute name="ref" type="xs:QName"/></xs:attributeGroup>
Attempting to install the relevant ISO 2- and 3-letter codes as the enumerated possible values is probably never going to be a realistic possibility. See RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry at http://www.iana.org/assignments/lang-tag-apps.htm for further information. The union allows for the 'un-declaration' of xml:lang with the empty string.