- From: Henry S. Thompson <ht@inf.ed.ac.uk>
- Date: Wed, 16 Mar 2005 09:38:30 +0000
- To: www-xml-schema-comments@w3.org
> I still have a question concerning a similar issue: If restricting the > value of the whitespace facet of the base type, what whitespace > value is actually used for validation, the inherited or the restricted? Should be the restricted, otherwise what's the point? > Example: > > <?xml version="1.0"?> > <schema xmlns="http://www.w3.org/2001/XMLSchema"> > <element name="foo"> > <simpleType> > <restriction base="string"> > <enumeration value="hel lo"/> > <whiteSpace value="collapse"/> > </restriction> > </simpleType> > </element> > </schema> > > <?xml version="1.0"?> > <foo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > > hel lo </foo> > > Xerces uses the inherited whitespace value for normalization [of the > enumeration value]: > > "(Error) cvc-enumeration-valid: Value 'hel lo' is not facet-valid with > respect to enumeration '[hel lo]'. It must be a value from the > enumeration." That's a bug in the spec., in my opinion, with hindsight. The spec. says the enumeration values must be valid (and as a consequence, normalized with respect to) the base type defn, not the type defn itself. It's simpler that way, but at best confusing (as in your example) and at worst bizarre: <simpleType> <restriction base="string"> <maxLength value="1"/> <enumeration value="xx"/> </restriction> </simpleType> is a legal, unsatisfiable, type definition, per the spec. I _think_ I'd prefer to see the checking and normalization done against the type defn itself. ht -- Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh Half-time member of W3C Team 2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440 Fax: (44) 131 650-4587, e-mail: ht@inf.ed.ac.uk URL: http://www.ltg.ed.ac.uk/~ht/ [mail really from me _always_ has this .sig -- mail without it is forged spam]
Received on Wednesday, 16 March 2005 09:38:31 UTC