Menu

W3C XML Schema Structures Reference

November 29, 2000

Eric van der Vlist

xs:all

Compositor describing an unordered group of elements.
<xs:all  
  id = xs:ID
  maxOccurs = "1" : "1"
  minOccurs = ( "0" | "1" ) : "1"
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?, xs:element *)
</xs:all>  
May be included in: xs:complexType (reference or local definition), xs:complexType (global definition), xs:extension (complex content), xs:restriction (complex content)

xs:all (within a group)

Compositor describing an unordered group of elements. The number of occurences cannot be defined when xs:all is used within a group.
<xs:all  
  id = xs:ID
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?, xs:element *)
</xs:all>  
May be included in: xs:group (definition)

xs:annotation

Informative data for human or electronic agents.
<xs:annotation  
  id = xs:ID
  {any attributes with non-schema namespace}
  >
  Content: (xs:appinfo | xs:documentation)*
</xs:annotation>  
May be included in: xs:all, xs:all (within a group), xs:any, xs:anyAttribute, xs:attribute (reference or local definition), xs:attribute (global definition), xs:attributeGroup (reference or local definition), xs:attributeGroup (global definition), xs:choice, xs:choice (within a group), xs:complexContent, xs:complexType (reference or local definition), xs:complexType (global definition), xs:element (within xs:all), xs:element (reference or local definition), xs:element (global definition), xs:enumeration, xs:extension (complex content), xs:extension (simple content), xs:field, xs:fractionDigits, xs:group (reference), xs:group (definition), xs:import, xs:include, xs:key, xs:keyref, xs:length, xs:list, xs:maxExclusive, xs:maxInclusive, xs:maxLength, xs:minExclusive, xs:minInclusive, xs:minLength, xs:notation, xs:pattern, xs:redefine, xs:restriction (complex content), xs:restriction (simple type), xs:restriction (simple content), xs:schema, xs:selector, xs:sequence (within a group), xs:sequence, xs:simpleContent, xs:simpleType (reference or local definition), xs:simpleType (global definition), xs:totalDigits, xs:union, xs:unique, xs:whiteSpace

xs:any

Wildcard to replace any element.
<xs:any  
  id = xs:ID
  maxOccurs = ( xs:nonNegativeInteger | "unbounded" ) : "1"
  minOccurs = xs:nonNegativeInteger : "1"
  namespace = ( ( "##any" | "##other" ) | list of ( xs:anyURI | ( "##targetNamespace" | "##local" ) ) ) : "##any"
  processContents = ( "skip" | "lax" | "strict" ) : "strict"
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?)
</xs:any>  
May be included in: xs:choice, xs:choice (within a group), xs:sequence (within a group), xs:sequence

xs:anyAttribute

Wildcard to replace any attribute.
<xs:anyAttribute  
  id = xs:ID
  namespace = ( ( "##any" | "##other" ) | list of ( xs:anyURI | ( "##targetNamespace" | "##local" ) ) ) : "##any"
  processContents = ( "skip" | "lax" | "strict" ) : "strict"
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?)
</xs:anyAttribute>  
May be included in: xs:attributeGroup (global definition), xs:complexType (reference or local definition), xs:complexType (global definition), xs:extension (complex content), xs:extension (simple content), xs:restriction (complex content), xs:restriction (simple content)

xs:appinfo

Information for applications.
<xs:appinfo  
  source = xs:anyURI
  >
  Content: ({any})*
</xs:appinfo>  
May be included in: xs:annotation

xs:attribute (reference or local definition)

Reference to a global attribute declaration or local definition (local definitions cannot be referenced).
<xs:attribute  
  default = xs:string
  fixed = xs:string
  form = ( "qualified" | "unqualified" )
  id = xs:ID
  name = xs:NCName
  ref = xs:QName
  type = xs:QName
  use = ( "prohibited" | "optional" | "required" ) : "optional"
  {any attributes with non-schema namespace}
  >
  Content: ((xs:annotation?), ( xs:simpleType ?))
</xs:attribute>  
May be included in: xs:attributeGroup (global definition), xs:complexType (reference or local definition), xs:complexType (global definition), xs:extension (complex content), xs:extension (simple content), xs:restriction (complex content), xs:restriction (simple content)

xs:attribute (global definition)

Global attribute declaration which can be referenced within the same schema of by other schemas.
<xs:attribute  
  default = xs:string
  fixed = xs:string
  id = xs:ID
  name = xs:NCName
  type = xs:QName
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?, xs:simpleType ?)
</xs:attribute>  
May be included in: xs:schema

xs:attributeGroup (reference or local definition)

Reference to a global attributes group declaration or local definition (local definitions cannot be referenced).
<xs:attributeGroup  
  id = xs:ID
  ref = xs:QName
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?)
</xs:attributeGroup>  
May be included in: xs:attributeGroup (global definition), xs:complexType (reference or local definition), xs:complexType (global definition), xs:extension (complex content), xs:extension (simple content), xs:restriction (complex content), xs:restriction (simple content)

xs:attributeGroup (global definition)

Global attributes group declaration which can be referenced within the same schema of by other schemas.
<xs:attributeGroup  
  id = xs:ID
  name = xs:NCName
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?, (( xs:attribute | xs:attributeGroup )*, xs:anyAttribute?))
</xs:attributeGroup>  
May be included in: xs:redefine, xs:schema

xs:choice

Compositor to define group of mutually exclusive elements or compositors.
<xs:choice  
  id = xs:ID
  maxOccurs = ( xs:nonNegativeInteger | "unbounded" ) : "1"
  minOccurs = xs:nonNegativeInteger : "1"
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?, ( xs:element | xs:group | xs:choice | xs:sequence | xs:any)*)
</xs:choice>  
May be included in: xs:choice, xs:choice (within a group), xs:complexType (reference or local definition), xs:complexType (global definition), xs:extension (complex content), xs:restriction (complex content), xs:sequence (within a group), xs:sequence

xs:choice (within a group)

Compositor to define group of mutually exclusive elements or compositors. The number of occurences cannot be defined when xs:choice is used within a group.
<xs:choice  
  id = xs:ID
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?, ( xs:element | xs:group | xs:choice | xs:sequence | xs:any)*)
</xs:choice>  
May be included in: xs:group (definition)

xs:complexContent

Derivation of a simple type to complex content.
<xs:complexContent  
  id = xs:ID
  mixed = xs:boolean
  {any attributes with non-schema namespace}
  >
  Content: ((xs:annotation?), ( xs:restriction | xs:extension ))
</xs:complexContent>  
May be included in: xs:complexType (reference or local definition), xs:complexType (global definition)

xs:complexType (reference or local definition)

Reference to a global complex type declaration or local definition (local definitions cannot be referenced).
<xs:complexType  
  id = xs:ID
  mixed = xs:boolean : "false"
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?, (xs:simpleContent | xs:complexContent | (( xs:group | xs:all | xs:choice | xs:sequence)?, (( xs:attribute | xs:attributeGroup )*, xs:anyAttribute?))))
</xs:complexType>  
May be included in: xs:element (within xs:all), xs:element (reference or local definition), xs:element (global definition)

xs:complexType (global definition)

Global declaration of a complex type which can be referenced within the same schema of by other schemas.
<xs:complexType  
  abstract = xs:boolean : "false"
  block = ( "#all" | list of ( "extension" | "restriction" ) )
  final = ( "#all" | list of ( "extension" | "restriction" ) )
  id = xs:ID
  mixed = xs:boolean : "false"
  name = xs:NCName
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?, (xs:simpleContent | xs:complexContent | (( xs:group | xs:all | xs:choice | xs:sequence)?, (( xs:attribute | xs:attributeGroup )*, xs:anyAttribute?))))
</xs:complexType>  
May be included in: xs:redefine, xs:schema

xs:documentation

Human targeted documentation.
<xs:documentation  
  source = xs:anyURI
  xml:lang = xml:lang
  >
  Content: ({any})*
</xs:documentation>  
May be included in: xs:annotation

xs:element (within xs:all)

Reference to a global element declaration or local definition (local definitions cannot be referenced). The number of occurences can only be 0 or 1 when xs:element is used within xs:all..
<xs:element  
  block = ( "#all" | list of ( "extension" | "restriction" | "substitution" ) )
  default = xs:string
  fixed = xs:string
  form = ( "qualified" | "unqualified" )
  id = xs:ID
  maxOccurs = ( "0" | "1" ) : "1"
  minOccurs = ( "0" | "1" ) : "1"
  name = xs:NCName
  nillable = xs:boolean : "false"
  ref = xs:QName
  type = xs:QName
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?, ( xs:simpleType | xs:complexType )?, (xs:unique | xs:key | xs:keyref)*)
</xs:element>  
May be included in: xs:all, xs:all (within a group)

xs:element (reference or local definition)

Reference to a global element declaration or local definition (local definitions cannot be referenced).
<xs:element  
  block = ( "#all" | list of ( "extension" | "restriction" | "substitution" ) )
  default = xs:string
  fixed = xs:string
  form = ( "qualified" | "unqualified" )
  id = xs:ID
  maxOccurs = ( xs:nonNegativeInteger | "unbounded" ) : "1"
  minOccurs = xs:nonNegativeInteger : "1"
  name = xs:NCName
  nillable = xs:boolean : "false"
  ref = xs:QName
  type = xs:QName
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?, ( xs:simpleType | xs:complexType )?, (xs:unique | xs:key | xs:keyref)*)
</xs:element>  
May be included in: xs:choice, xs:choice (within a group), xs:sequence (within a group), xs:sequence

xs:element (global definition)

Global element declaration which can be referenced within the same schema of by other schemas.
<xs:element  
  abstract = xs:boolean : "false"
  block = ( "#all" | list of ( "extension" | "restriction" | "substitution" ) )
  default = xs:string
  final = ( "#all" | list of ( "extension" | "restriction" ) )
  fixed = xs:string
  id = xs:ID
  name = xs:NCName
  nillable = xs:boolean : "false"
  substitutionGroup = xs:QName
  type = xs:QName
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?, ( xs:simpleType | xs:complexType )?, (xs:unique | xs:key | xs:keyref)*)
</xs:element>  
May be included in: xs:schema

xs:enumeration

Facet to restrict a datatype to a finite set of values.
<xs:enumeration  
  id = xs:ID
  value = anySimpleType
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?)
</xs:enumeration>  
May be included in: xs:restriction (simple type), xs:restriction (simple content)

xs:extension (complex content)

Extension of a complex content model.
<xs:extension  
  base = xs:QName
  id = xs:ID
  {any attributes with non-schema namespace}
  >
  Content: ((xs:annotation?), (( xs:group | xs:all | xs:choice | xs:sequence)?, (( xs:attribute | xs:attributeGroup )*, xs:anyAttribute?)))
</xs:extension>  
May be included in: xs:complexContent

xs:extension (simple content)

Extension of a simple content model.
<xs:extension  
  base = xs:QName
  id = xs:ID
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?, (( xs:attribute | xs:attributeGroup )*, xs:anyAttribute?))
</xs:extension>  
May be included in: xs:simpleContent

xs:field

Definition of the field to be used for a uniqueness constraint.
<xs:field  
  id = xs:ID
  xpath = xs:token
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?)
</xs:field>  
May be included in: xs:key, xs:keyref, xs:unique

xs:fractionDigits

Facet to define the number of fractional digits of a numerical datatype.
<xs:fractionDigits  
  fixed = xs:boolean : "false"
  id = xs:ID
  value = xs:nonNegativeInteger
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?)
</xs:fractionDigits>  
May be included in: xs:restriction (simple type), xs:restriction (simple content)

xs:group (reference)

Reference to a global elements group declaration or local definition (local definitions cannot be referenced).
<xs:group  
  id = xs:ID
  maxOccurs = ( xs:nonNegativeInteger | "unbounded" ) : "1"
  minOccurs = xs:nonNegativeInteger : "1"
  ref = xs:QName
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?)
</xs:group>  
May be included in: xs:choice, xs:choice (within a group), xs:complexType (reference or local definition), xs:complexType (global definition), xs:extension (complex content), xs:restriction (complex content), xs:sequence (within a group), xs:sequence

xs:group (definition)

Global elements group declaration which can be referenced within the same schema of by other schemas.
<xs:group  
  maxOccurs = anySimpleType
  minOccurs = anySimpleType
  name = xs:NCName
  ref = anySimpleType
  >
  Content: (xs:annotation?, ( xs:all | xs:choice | xs:sequence ))
</xs:group>  
May be included in: xs:redefine, xs:schema

xs:import

Import of a W3C XML Schema for another namespace.
<xs:import  
  id = xs:ID
  namespace = xs:anyURI
  schemaLocation = xs:anyURI
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?)
</xs:import>  
May be included in: xs:schema

xs:include

Inclusion of a W3C XML Schema for the same target namespace.
<xs:include  
  id = xs:ID
  schemaLocation = xs:anyURI
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?)
</xs:include>  
May be included in: xs:schema

xs:key

Definition of a key.
<xs:key  
  id = xs:ID
  name = xs:NCName
  {any attributes with non-schema namespace}
  >
  Content: ((xs:annotation?), (xs:selector, xs:field+))
</xs:key>  
May be included in: xs:element (within xs:all), xs:element (reference or local definition), xs:element (global definition)

xs:keyref

Definition of a key reference.
<xs:keyref  
  id = xs:ID
  name = xs:NCName
  refer = xs:QName
  {any attributes with non-schema namespace}
  >
  Content: ((xs:annotation?), (xs:selector, xs:field+))
</xs:keyref>  
May be included in: xs:element (within xs:all), xs:element (reference or local definition), xs:element (global definition)

xs:length

Facet to define the length of a value.
<xs:length  
  fixed = xs:boolean : "false"
  id = xs:ID
  value = xs:nonNegativeInteger
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?)
</xs:length>  
May be included in: xs:restriction (simple type), xs:restriction (simple content)

xs:list

Derivation by list.
<xs:list  
  id = xs:ID
  itemType = xs:QName
  {any attributes with non-schema namespace}
  >
  Content: ((xs:annotation?), ( xs:simpleType ?))
</xs:list>  
May be included in: xs:simpleType (reference or local definition), xs:simpleType (global definition)

xs:maxExclusive

Facet to define a maximum (exclusive) value.
<xs:maxExclusive  
  fixed = xs:boolean : "false"
  id = xs:ID
  value = anySimpleType
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?)
</xs:maxExclusive>  
May be included in: xs:restriction (simple type), xs:restriction (simple content)

xs:maxInclusive

Facet to define a maximum (inclusive) value.
<xs:maxInclusive  
  fixed = xs:boolean : "false"
  id = xs:ID
  value = anySimpleType
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?)
</xs:maxInclusive>  
May be included in: xs:restriction (simple type), xs:restriction (simple content)

xs:maxLength

Facet to define a maximum length.
<xs:maxLength  
  fixed = xs:boolean : "false"
  id = xs:ID
  value = xs:nonNegativeInteger
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?)
</xs:maxLength>  
May be included in: xs:restriction (simple type), xs:restriction (simple content)

xs:minExclusive

Facet to define a minimum (exclusive) value.
<xs:minExclusive  
  fixed = xs:boolean : "false"
  id = xs:ID
  value = anySimpleType
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?)
</xs:minExclusive>  
May be included in: xs:restriction (simple type), xs:restriction (simple content)

xs:minInclusive

Facet to define a minimum (inclusive) value.
<xs:minInclusive  
  fixed = xs:boolean : "false"
  id = xs:ID
  value = anySimpleType
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?)
</xs:minInclusive>  
May be included in: xs:restriction (simple type), xs:restriction (simple content)

xs:minLength

Facet to define a minimum length.
<xs:minLength  
  fixed = xs:boolean : "false"
  id = xs:ID
  value = xs:nonNegativeInteger
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?)
</xs:minLength>  
May be included in: xs:restriction (simple type), xs:restriction (simple content)

xs:notation

Declaration of a notation.
<xs:notation  
  id = xs:ID
  name = xs:NCName
  public = xs:token
  system = xs:anyURI
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?)
</xs:notation>  
May be included in: xs:schema

xs:pattern

Facet to define a regular expression pattern constraint.
<xs:pattern  
  id = xs:ID
  value = anySimpleType
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?)
</xs:pattern>  
May be included in: xs:restriction (simple type), xs:restriction (simple content)

xs:redefine

Import of a W3C XML Schema for the same namespace with possible overide.
<xs:redefine  
  id = xs:ID
  schemaLocation = xs:anyURI
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation | (xs:simpleType | xs:complexType | xs:group | xs:attributeGroup))*
</xs:redefine>  
May be included in: xs:schema

xs:restriction (complex content)

Derivation of a complex content model by restriction.
<xs:restriction  
  base = xs:QName
  id = xs:ID
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?, ( xs:group | xs:all | xs:choice | xs:sequence)?, (( xs:attribute | xs:attributeGroup )*, xs:anyAttribute?))
</xs:restriction>  
May be included in: xs:complexContent

xs:restriction (simple type)

Derivation of a simple datatype by restriction.
<xs:restriction  
  base = xs:QName
  id = xs:ID
  {any attributes with non-schema namespace}
  >
  Content: ((xs:annotation?), ( xs:simpleType ?, (xs:minExclusive | xs:minInclusive | xs:maxExclusive | xs:maxInclusive | xs:totalDigits | xs:fractionDigits | xs:length | xs:minLength | xs:maxLength | xs:enumeration | xs:whiteSpace | xs:pattern)*))
</xs:restriction>  
May be included in: xs:simpleType (reference or local definition), xs:simpleType (global definition)

xs:restriction (simple content)

Derivation of a simple content model by restriction.
<xs:restriction  
  base = xs:QName
  id = xs:ID
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?, ( xs:simpleType ?, (xs:minExclusive | xs:minInclusive | xs:maxExclusive | xs:maxInclusive | xs:totalDigits | xs:fractionDigits | xs:length | xs:minLength | xs:maxLength | xs:enumeration | xs:whiteSpace | xs:pattern)*)?, (( xs:attribute | xs:attributeGroup )*, xs:anyAttribute?))
</xs:restriction>  
May be included in: xs:simpleContent

xs:schema

Document element of a W3C XML Schema.
<xs:schema  
  attributeFormDefault = ( "qualified" | "unqualified" ) : "unqualified"
  blockDefault = ( "#all" | list of ( "extension" | "restriction" | "substitution" ) ) : ""
  elementFormDefault = ( "qualified" | "unqualified" ) : "unqualified"
  finalDefault = ( "#all" | list of ( "extension" | "restriction" ) ) : ""
  id = xs:ID
  targetNamespace = xs:anyURI
  version = xs:token
  xml:lang = xml:lang
  {any attributes with non-schema namespace}
  >
  Content: ((xs:include | xs:import | xs:redefine | xs:annotation)*, (((xs:simpleType | xs:complexType | xs:group | xs:attributeGroup) | xs:element | xs:attribute | xs:notation), xs:annotation*)*)
</xs:schema>  
May be included in:

xs:selector

Definition of the the path selecting an element for a uniqueness constraint.
<xs:selector  
  id = xs:ID
  xpath = xs:token
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?)
</xs:selector>  
May be included in: xs:key, xs:keyref, xs:unique

xs:sequence (within a group)

Compositor to define an ordered group of elements. The number of occurences cannot be defined when xs:all is used within a group.
<xs:sequence  
  id = xs:ID
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?, ( xs:element | xs:group | xs:choice | xs:sequence | xs:any)*)
</xs:sequence>  
May be included in: xs:group (definition)

xs:sequence

Compositor to define an ordered group of elements.
<xs:sequence  
  id = xs:ID
  maxOccurs = ( xs:nonNegativeInteger | "unbounded" ) : "1"
  minOccurs = xs:nonNegativeInteger : "1"
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?, ( xs:element | xs:group | xs:choice | xs:sequence | xs:any)*)
</xs:sequence>  
May be included in: xs:choice, xs:choice (within a group), xs:complexType (reference or local definition), xs:complexType (global definition), xs:extension (complex content), xs:restriction (complex content), xs:sequence (within a group), xs:sequence

xs:simpleContent

Simple content model declaration.
<xs:simpleContent  
  id = xs:ID
  {any attributes with non-schema namespace}
  >
  Content: ((xs:annotation?), ( xs:restriction | xs:extension ))
</xs:simpleContent>  
May be included in: xs:complexType (reference or local definition), xs:complexType (global definition)

xs:simpleType (reference or local definition)

Reference to a global simple type declaration or local definition (local definitions cannot be referenced).
<xs:simpleType  
  id = xs:ID
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?, (xs:restriction | xs:list | xs:union))
</xs:simpleType>  
May be included in: xs:attribute (reference or local definition), xs:attribute (global definition), xs:element (within xs:all), xs:element (reference or local definition), xs:element (global definition), xs:list, xs:restriction (simple type), xs:restriction (simple content), xs:union

xs:simpleType (global definition)

Global simple type declaration which can be referenced within the same schema of by other schemas.
<xs:simpleType  
  final = ( "#all" | ( "list" | "union" | "restriction" ) )
  id = xs:ID
  name = xs:NCName
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?, (xs:restriction | xs:list | xs:union))
</xs:simpleType>  
May be included in: xs:redefine, xs:schema

xs:totalDigits

Facet to define the total number of digits of a numeric datatype.
<xs:totalDigits  
  fixed = xs:boolean : "false"
  id = xs:ID
  value = xs:positiveInteger
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?)
</xs:totalDigits>  
May be included in: xs:restriction (simple type), xs:restriction (simple content)

xs:union

Derivation of simple datatypes by union.
<xs:union  
  id = xs:ID
  memberTypes = list of xs:QName
  {any attributes with non-schema namespace}
  >
  Content: ((xs:annotation?), ( xs:simpleType *))
</xs:union>  
May be included in: xs:simpleType (reference or local definition), xs:simpleType (global definition)

xs:unique

Definition of a uniqueness constraint.
<xs:unique  
  id = xs:ID
  name = xs:NCName
  {any attributes with non-schema namespace}
  >
  Content: ((xs:annotation?), (xs:selector, xs:field+))
</xs:unique>  
May be included in: xs:element (within xs:all), xs:element (reference or local definition), xs:element (global definition)

xs:whiteSpace

Facet to define the white space behavior.
<xs:whiteSpace  
  fixed = xs:boolean : "false"
  id = xs:ID
  value = ( "preserve" | "replace" | "collapse" )
  {any attributes with non-schema namespace}
  >
  Content: (xs:annotation?)
</xs:whiteSpace>  
May be included in: xs:restriction (simple type), xs:restriction (simple content)