Name
xs:restriction(simple type) — Derivation of a simple datatype by restriction.
Synopsis
<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 (local definition), xs:simpleType (global definition)
Description
Deriving a simple datatype by restriction is the action of defining a new datatype by adding constraints (called facets) on a base datatype to restrict its lexical and value spaces.
The base datatype can be defined by reference (using the
base attribute) or inline (through a
xs:simpleType element defining a local datatype).
Each of the facets is defined as a child element after the optional
embedded xs:simpleType definition.
Each facet has its own meaning and depending on the facet, acts on the lexical space, on the value space, or on the whitespace transformation performed between the lexical and value spaces. Depending on the base datatype, a facet may also have a different behavior. See the detailed description of each facet in this chapter for more information.
Derivations by restrictions can be applied to any type of datatype (atomic, list, or union), and don’t change the type of the datatype (atomic, list, and union datatypes stay atomic, list, ...