Too much latitude in Nmtoken characters?

Eric Baatz - Sun Microsystems Labs BOS (ebaatz@barbaresco.East.Sun.COM)
Thu, 10 Jul 1997 15:45:30 -0400 (EDT)


I don't understand why such a wide choice of characters are allowed in
in the June XML Syntax specification.

[7] Nmtoken ::= (NameChar)+

Because

[4] NameChar ::= Letter | Digit | MiscName
[3] MiscName ::= '.' | '-' | '_' | ':' | CombiningChar | Ignorable | Extender
[87] Ignorable ::= a whole bunch of characters like "zero width non-joiner",
"right-to-left mark", and "zero width no-break space"

This seems to allow Nmtokens that aren't visible to the human eye,
for example, consisting of a single zero width non-joiner.

My limited understanding of SGML suggests that a Nmtoken is more like
a Name rather than a superset of it. For that matter, is "9" a sensible
Nmtoken?