attlistdecl (nmtoken vs attvalue) in enumeration
mecom-gmbh at mixx.de
Fri Dec 26 18:29:59 GMT 1997
why are the elements of an enumarated attribute type specified to be
name tokens rather than attribute values? to wit:
 AttlistDecl ::= '<!ATTLIST' S Name AttDef* S? '>'
 AttDef := S Name S AttType S Default
 AttType ::= StringType | TokenizedType | EnumeratedType
 EnumeratedType ::= NotationType | Enumeration
 NotationType ::= 'NOTATION' S '(' S? Name (S? '|' Name)* S? ')'
 Enumeration ::= '(' S? Nmtoken (S? '|' S? Nmtoken)* S? ')'
 Default ::= '#REQUIRED' | '#IMPLIED' | (('#FIXED' S)? AttValue)
? isn't their domain actually attribute values, as in the example:
type (bullets|ordered|glossary) "ordered">
? since name characters constitute a smaller domain than attribute value
characters don't you end up with attribute values which can't be
included in the enumeration constraint?
? even without the distinction in character range, isn't this conflating
two domains - that of interned tokens and that of string values - which
are better of kept distinct. either the constraints look like tokens,
but must be parsed as if they were strings, or the constraint evaluation
must permit tokens to be compared to strings.
type ("bullets"|"ordered"|"glossary") "ordered">
be both clearer and easier to implement ?
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev