- From: Richard Tobin <richard@cogsci.ed.ac.uk>
- Date: Sat, 7 Apr 2001 21:17:47 +0100 (BST)
- To: "Glenn Marcy" <gmarcy@us.ibm.com>, xml-editor@w3.org
- Cc: Richard Tobin <richard@cogsci.ed.ac.uk>, "Arnaud Le Hors" <lehors@us.ibm.com>
> Q1:
>
> The following declaration seems a bit odd, but is it valid?
>
> <!ATTLIST root a NOTATION (a|a) "a">
>
> The Section 3.3.1, the spec says:
>
> "For interoperability, the same Nmtoken should not occur more than once in
> the enumerated
> attribute types of a single element type."
>
> Is the same true for the Name choices in NOTATION attributes? Does the
> spec say this?
There is an erratum to the second edition
http://www.w3.org/XML/xml-V10-2e-errata#E2
which says
Add a validity constraint applying to productions [58] NotationType
and [59] Enumeration as follows:
Validity constraint: No duplicate tokens
The notation names in a single NotationType attribute declaration, as
well as the NmTokens in a single Enumeration attribute declaration,
must all be distinct.
Rationale
Necessary to maintain compatibility with SGML.
The interoperability constraint you quote is much more restrictive;
it relates to the fact that attribute names can be omitted in SGML,
so you can't even do
<!ATTLIST root a (true|false)
b (true|false)>
because <a true> would be ambiguous. Since it's just an
interoperability constraint, you can ignore it.
> Q2:
>
> In Section 3.3.1, all of the VC's for TokenizedType attribute types use the
> phrase:
>
> Values of type X must match the Y production.
>
> The VC's for EnumeratedType attribute types use phrase:
>
> Values of this type must match one of the <Y things> in the declaration.
>
> The second case seems less precise. In particular, if I had an attribute
> declared as:
>
> <!ATTLIST root a (A|B) " 
A ">
>
> While the normalized value of "#xD A" does not "match the Nmtoken
> production", I feel on less secure footing
> that is doesn't "match one of the Nmtoken tokens in the declaration", which
> might be attributed to implementation
> "laziness" and not to adherence to the specification.
I don't see this. The normalized value definitely doesn't match A or
B (NB "match" is defined in the Terminology section). Am I missing
your point here?
> Q3:
>
> Once the issue of (E108 vs. E62) is resolved, Section 3.3.3 might want to
> say that if a character reference to a
> whitespace character other than #x20 appears directly in a non-CDATA
> attribute, the attribute will be well-formed,
> but invalid. Direct wording would be stronger than attempting to glean
> this fact from the examples.
Noted.
-- Richard
Received on Saturday, 7 April 2001 16:19:42 UTC