More thoughts (ignore if they make no sense):
===
Section 2.12:
...The intent declared with xml:lang is considered to apply to all
attributes and
content of the element where it is specified, unless overridden with an
instance
of xml:lang on another element within that content...
===
This is so un-SGML-like that it gives me a start. If you're going to
say this, it's imperative that you formalize language tags' relationship
to existing mechanisms.
For example, what if an element has an xml:lang attribute declared - and
that attribute also has a default value? If a given instance of that ele-
ment lacks explicit mention of the xml:lang attribute, then its value is
the default. But what, then, if an enclosing element has another value of
xml:lang specified? Which takes precedence, the element with the default,
or the enclosing element?
In situtations such as this, you need to have the native SGML/XML mechan-
ism take precedence. That is, you need for the default value to take
precedence.
This will lead to unexpected results; but the other way, the results will
be even more unexpected.
Another question: If I offer an enumerated list of values when I declare
an xml:lang attribute for a given element, what happens if that element's
content model contains other elements? Do I now have to check all of these
elements to see if the values they can have for xml:lang - if an enumerated
list - are a proper subset of the higher-level elements list of values for
xml:lang? And what again if one of the lower-level elements gives a default
value for xml:lang? (We'll need to have defaults override inherited
xml:lang
values.)
This looks pretty ugly to me - very much counter to the spirit of XML. I
think you need to be pretty specific about what implementations should do if
you're going to violate SGML/XML sensibilities in this way.
--
Richard Goerwitz
PGP key fingerprint: C1 3E F4 23 7C 33 51 8D 3B 88 53 57 56 0D 38 A0
For more info (mail, phone, fax no.): finger richard@goon.stg.brown.edu