The xs:token
type is identical to xs:string
, except in the way that whitespace is normalized in its values. This whitespace normalization takes place during validation, and also when values are constructed or cast to xs:token
. In values of type xs:token
, the processor replaces each carriage return, line feed, and tab by a single space. Subsequently, all consecutive whitespace characters are replaced by a single space, and leading and trailing spaces are removed. This is different from xs:string
values, where whitespace is preserved. It is also different from xs:normalizedString
, which replaces whitespace characters but does not collapse them.
A value of type xs:token
can contain whitespace, despite the fact that "token" implies a single token. The xs:token
type is derived by restriction from xs:string
, so any functions and operations that can be performed on strings, such as substring
and comparisons using the <
operator, can also be performed on xs:token
values.
3.141.42.116