Name
xs:token — Whitespace-replaced and collapsed strings.
Derived from:
xs:normalizedString
Primary:
xs:string
Known subtypes:
xs:language, xs:NMTOKEN, xs:Name
Facets:
xs:enumeration, xs:length, xs:maxLength, xs:minLength, xs:pattern, xs:whiteSpace
<xs:simpleType name="token" id="token">
<xs:restriction base="xs:normalizedString">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>Description
The lexical and value spaces of xs:token are the
sets of all the strings after whitespace replacement—i.e.,
after any occurrence of #x9 (tab),
#xA (linefeed), and #xD
(carriage return) is replaced by an occurrence of
#x20 (space) and collapsing (i.e., the contiguous
occurrences of spaces are replaced by a single space, and leading and
trailing spaces are removed).
More simply said, xs:token is the most appropriate
datatype to use for strings that do not care about whitespaces.
Restrictions
The name xs:token is misleading since whitespaces
are allowed within xs:token.
xs:NMTOKEN is the type corresponding to what is
usually called “tokens.”
Example
The element:
<title lang="en"> Being a Dog Is a Full-Time Job </title>
is a valid xs:token and its value is the string
"Being
a
Dog
Is
a
Full-Time
Job", where all the
whitespaces have been replaced by spaces, leading and trailing spaces
have been removed and contiguous sequences of spaces have been
replaced by single spaces.