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
The restriction of a complex content complex type is an operation
that allows the addition of new constraints to both the attributes
and child elements in complex content elements (this reduces the set
of valid instances structures). It can be seen as a declaration of
intention that a new content model is a subset of a base content
model (the declaration by intention is checked by the schema
processors). The new content model is entirely described under
xs:restriction
and must represent a restriction to
what was allowed by the base content model (i.e., any content valid
per the restricted type must also be valid per the base type). The
only exception is attributes whose description may be skipped under
xs:restriction
, if not changed.
To facilitate the checking done by schema processors, the new derived content model must follow the definition of the base type particle per particle. Each of them must be explicit derivations by restriction.
The same element name (xs:restriction
) is used in
three different contexts with highly different meanings. Be careful
to be able to distinguish restrictions in the context of a simple
datatype, a simple content model, and a complex content model.
3.134.78.106