xml:lang tag

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

Received on Tuesday, 16 June 1998 09:32:45 UTC