Re: C.11 Multiple declarations for attributes?
> On 23 October 1996, the ERB will vote to decide the following
> question. A straw poll indicates the ERB is leaning to yes.
> C.11 Should XML retain SGML's prohibition on multiple attribute-list
> declarations for the same element (11.3.1) or on multiple
> declarations for the same attribute (11.3.2)?
I would say no.
In the case of multiple attribute definitions for a given element type,
there are two (I think) plausible interpretations:
(1) merge the definitions, so that for
Name CDATA #IMPLIED
Age CDATA #IMPLIED
Name CDATA #IMPLIED
HairColour CDATA #IMPLIED
the element boy now has three attributes
(2) replace the definitions, so that the element boy has only two
attributes (Name and HairColour).
The former of these is the one I consider to be sensible and useful.
If you have control of DTD & documents, you don't need (2). If you
don't have control, (2) doesn't help you enough to be worth while.
A third possibility would of course be
Height RCDATA #IMPLIED
Appellation RCDATA #IMPLIED
but this involves adding reserved keywords, and I don't think the extra
power is worth it.
SGML lets you have repeated declarations for some things but not others,
although I don't know why. The TEI DTD would be simplified slightly if
you could have multiple definitions for element content models, with
the first definition seen winning (as per entities)....!
[PS: I don't believe we have discussed NAMECASE, so I am free to use
mixed case in my examples and assume they are case sensitive :-)
The recent discussion of attribute values in Unicode points out that
converting to upper case is not in fact straight forward, and that
Unocode suggests that lower case be used if normalisation is required,
e.g. so you don't have to decide whether the upper-case version of
e-acute is E (France) or E-acute (Quebec).
XML should be case sensitive for ease of internationalisation, and
since entities are already usually case sensitive there is precedent.
But I am putting too much into a footnote.