[Prev][Next][Index][Thread]

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
    <!AttList boy
	Name CDATA #IMPLIED
	Age CDATA #IMPLIED
    >
    <!AttList boy
	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
    <!AttList boy
	#ADD
	    Height RCDATA #IMPLIED
	#REMOVE
	    Name
	#ADD
	    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)....!


Lee

[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.
]