> E)
> Like you example 1, ie as now but name attributes are not allowed to be
> qualified, but allow <grammar> elements to group definitions using <div>
> elements as in RELAX NG.
Another addition that would make this (or Murata-san's option 1) a bit
less painful is to special-case the "xml" prefix. Although
special-casing is generally bad, both the XML 1.0 Rec and the XML
Namespaces Rec special-case this prefix, and the implicit declaration of
the "xml" prefix makes this inherently a special-case.
One important reason for special-casing the "xml" prefix is to support
the needs of the "don't care about XML namespaces" constituency. This
constituency ought to be able to use the xml:space, xml:lang and
xml:base attributes without being forced to use the XML Namespaces Rec.
Particularly, the xml:lang attribute is important for I18N, and it ought
to be made convenient to declare.
I would therefore propose that with option E:
<attribute name="xml:lang">
is allowed as an abbreviation for
<attribute name="lang"
namespace="http://www.w3.org/XML/1998/namespace">
and similarly for "space" and "base".
James