- From: Ashok Malhotra <ashokma@microsoft.com>
- Date: Wed, 24 Apr 2002 06:34:15 -0700
- To: "James Clark" <jjc@jclark.com>, "XML Schema Comments" <www-xml-schema-comments@w3.org>
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