W3C home > Mailing lists > Public > www-xml-schema-comments@w3.org > October to December 2000

NMTOKENS definition - contradiction?

From: Morris Matsa <mmatsa@us.ibm.com>
Date: Tue, 28 Nov 2000 12:58:09 -0500
To: www-xml-schema-comments@w3.org
Message-ID: <OF5516883D.EF457CB7-ON852569A5.00623224@somers.hqregion.ibm.com>

The XML schema spec (http://www.w3.org/TR/xmlschema-2/#NMTOKENS) defines
"NMTOKENS represents the NMTOKENS attribute type from [XML 1.0
Recommendation (Second Edition)]."

The XML spec referred to says that "values of type NMTOKENS must match
[the] Nmtokens [production]." (at
http://www.w3.org/TR/2000/WD-xml-2e-20000814#nmtok), essentially defining
NMTOKENS via the following production: (at
Nmtokens ::= Nmtoken (#x20 Nmtoken)*

The XML schema spec (still http://www.w3.org/TR/xmlschema-2/#NMTOKENS)
further defines the lexical space of NMTOKENS:
"The lexical space of NMTOKENS is the set of white space separated tokens,
each of which is in the lexical space of NMTOKEN."

The differences:

1. The XML spec allows only a single space and not general whitespace
between tokens (a change on April 9, 2000, for rationale see

2. The XML spec allows one or more tokens (minLength="1"), the schema spec
seems to allow zero or more tokens (minLength="0").

3. The XML spec does not seem to allow any leading or trailing whitespace,
the schema spec seems to allow arbitrary leading and trailing whitespace.

A suggestion, if we are correct that the spec is a contradiction:
1. Change "NMTOKENS represents       the NMTOKENS attribute type" from XML
   to     "NMTOKENS is a superset of the NMTOKENS attribute type" from XML
2. Remove this line from the definition and make it non-normative.
Received on Tuesday, 28 November 2000 12:59:22 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 23:08:49 UTC