2E PER: Lexical Representation of unsignedLong, unsignedInt, etc...

In the sections describing the lexical representation for unsignedLong 
[1], unsignedInt [2], unsignedShort [3] and unsignedByte [4] it says that 
the lexical representation for these types consists of a finite-length 
sequence of decimal digits (#x30-#x39).  The examples that follow the 
descriptions have no leading sign which makes sense given the names of 
these types.  In the schema for datatype definitions [5] unsignedLong is 
derived by restriction from nonNegativeInteger.  nonNegativeInteger [6] 
allows a leading '+' sign and even a '-' sign for lexical forms denoting 
zero.  The type definition of unsignedLong has a maxInclusive facet but 
this doesn't disallow a leading sign.

Is it really true that an optional sign is allowed in the lexical form of 
the unsigned integer types?  If so shouldn't that be stated in the 
description of the lexical representation for each of those types?  If not 
shouldn't unsignedLong specify a pattern facet which disallows a leading 
sign?  There appears to be an error either in the schema or in the lexical 
representation descriptions.

[1] 
http://www.w3.org/TR/2004/PER-xmlschema-2-20040318/#unsignedLong-lexical-representation
[2] 
http://www.w3.org/TR/2004/PER-xmlschema-2-20040318/#unsignedInt-lexical-representation
[3] 
http://www.w3.org/TR/2004/PER-xmlschema-2-20040318/#unsignedShort-lexical-representation
[4] 
http://www.w3.org/TR/2004/PER-xmlschema-2-20040318/#unsignedByte-lexical-representation
[5] http://www.w3.org/TR/2004/PER-xmlschema-2-20040318/#schema
[6] 
http://www.w3.org/TR/2004/PER-xmlschema-2-20040318/#nonNegativeInteger-lexical-representation

Michael Glavassevich
XML Parser Development
IBM Toronto Lab

Received on Wednesday, 20 October 2004 21:50:57 UTC