RE: Is +0 a nonPositiveInteger?

James:
I have come to the conclusion that when you derive a simple type you
should not inherit the lexical representation of the base type.  If you
do,
you open your self to a host of problems which we can discuss another
time.

Thus, simple type derivation merely gives you a new, more restricted
value  
space.  You can then go ahead an specify a lexical space for this
restricted
value space and specify a mapping from the lexical to the value space.

If you look at it this way, nonPositiveInteger has a value space
consisting
of 0 and the negative integers.  Its lexical space consists of 0 and
strings of digits preceded by a minus sign.

All the best, Ashok 
===========================================================


-----Original Message-----
From: James Clark [mailto:jjc@jclark.com] 
Sent: Wednesday, April 24, 2002 3:23 AM
To: XML Schema Comments
Subject: Is +0 a nonPositiveInteger?

Is +0 allowed as a nonPositiveInteger?  At the moment there's a
contradiction. 3.3.14.1 says "nonPositiveInteger has a lexical
representation consisting of a negative sign ("-") followed by a
finite-length sequence of decimal digits (#x30-#x39). If the sequence of
digits consists of all zeros then the sign is optional."  This doesn't
allow
+0.  On the other hand 0 is in the value space of nonPositiveInteger and
+0
is a legal representation of ) in the lexical space of integer.

Either

(a) the prose in 3.3.14.1 needs fixing, or

(b) the schema for schema needs to add a pattern facet to the definition
of
nonPositiveInteger that excludes +0

If you do (b), then you will probably want to fix nonNegativeInteger to
disallow "-0". However, at the moment there's no contradiction since the
prose for nonNegativeInteger allows "an optional sign" not just an
optional
positive sign.

James

Received on Wednesday, 24 April 2002 09:34:39 UTC