whiteSpace facet definition

In XML Schema Part 2

http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#rf-whiteSpace

We have:

[[
[Definition:]   whiteSpace constrains the ·value space· of types ·derived·
from string such that the various behaviors specified in Attribute Value
Normalization in [XML 1.0 (Second Edition)] are realized. The value of
whiteSpace must be one of {preserve, replace, collapse}.
]]

This is an unfortunate wording.

It leaves open possibilities such as:

+ There is no constraint. Attribute Value Normalization leaves all character
references unchanged, so arbitrary string values can be encoded.

+ The constraint is only on the value space. The lexical-to-value mapping is
changed to realized the desired whitespace normalization. This reading would
have the string " 1" being a member of the lexical space of int, which is
then trimmed before being mapped to the integer one.

It also says nothing about its effect on types other than those derived from
string.

Looking at the process described in section 3.1.4 White Space Normalization
during Validation of [XML Schema Structures]. I understand that the
normalization described there is applied before the lexical-to-value mapping
that occurs in datatyping.

I suggest a declarative definition:

[Definition:]   whiteSpace constrains the ·lexical space· of types. The
value of whiteSpace must be one of {preserve, replace, collapse}. If the
value is replace or collapse then the string does not contain any characters
#x9 (tab), #xA (line feed) and #xD (carriage return). If the value is
collapse then the string neither starts nor ends with character #x20
(space), nor does it contain two consecutive #x20 (space) characters.

Jeremy Carroll

Received on Tuesday, 26 November 2002 10:02:20 UTC