Re: James Anderson's table

John Cowan (cowan@locke.ccil.org)
Thu, 13 Aug 1998 11:50:38 -0400


james anderson wrote:

> IV: for the moment, i've chosen the precedence
> tag-content,
> bindings-from-containing-elements,
> attribute-defaults
> where the bindings-from-containing-elements takes its initial value from the xml-decl.

This cannot be correct XML, and what is not correct XML is not correct
XML-ns. An XML processor, as Tim Bray pointed out the other day,
must implement attribute defaulting (modulo problems with not reading
external DTD/parameter entities), but need not tell the application
whether the attribute was explicitly present or defaulted.

Therefore, no application can make distinctions on this basis. An
attribute of the current element, explicit or defaulted, takes
precedence over an attribute inherited from an ancestral element.

The final example in clause 2.12 of the XML Rec is indicative: it shows
a variety of elements with default values for xml:lang, also an
inherited attribute. The intent of that example is clearly that
"poem" elements are French by default, and "gloss" and "note" elements
are English by default, independent of context. All other elements
presumably inherit the language from context.

> This is also not self-evident. The presence of the lexically apparent binding
> could quite reasonably be said to take precedence.

You value explicit attribute values over implicit ones in a way that has
no warrant in the XML Rec.

> I would hestitate to say
> proximity is the right criteria for precedence until either I've seen some
> 'real' instances or the standard describes the situation and specifies how to
> resolve it.

Unfortunately, all the examples in the draft are DTD-less. Nevertheless, based
on the precedent of xml:lang and Tim's remarks, I feel sure that I am correct.

-- 
John Cowan	http://www.ccil.org/~cowan		cowan@ccil.org
	You tollerday donsk?  N.  You tolkatiff scowegian?  Nn.
	You spigotty anglease?  Nnn.  You phonio saxo?  Nnnn.
		Clear all so!  'Tis a Jute.... (Finnegans Wake 16.5)