Re: xml-namespaces

>>>>> On Sat, 22 Aug 1998 06:11:20 +0700, James Clark <jjc@jclark.com> said:

|Us> It appears that a document containing qualified names is unlikely
|Us> to be valid in terms of the unmodified 1.0 spec, so the namespace
|Us> spec must provide its own interpretation of any such document.

|James> This is not correct.  XML namespaces do not change what valid
|James> means.  "Valid" continues to mean exactly what it means in XML
|James> 1.0.  As far as DTD processing is concerned a colon has no
|James> special meaning.

Well, since there's a critical piece of information missing from the
namespace spec, viz., how to resolve an element name to an ELEMENT
declaration, it's hard for us to prove that point conclusively.  But
consider our example, slightly modified to make the point even clearer:

 <elt xmlns:foo="file:///bar" xmlns:goo="file:///bar">
    <foo:gertie/>
    <goo:gertie/>
 </elt>

Given the intent of namespace declarations, it would be hard to argue
that subelements "foo:gertie" and "goo:gertie" ought to refer to
different ELEMENT declarations.  After all, the prefixes are only
placeholders for namespace names (so the spec says) and the namespace
names are the same.  So if you apply the XML 1.0 rules, either
"foo:gertie" or "goo:gertie" will fail to have a corresponding ELEMENT
declaration and thus will violate the "Element Valid" constraint.

Paul Abrahams

Received on Friday, 21 August 1998 22:16:46 UTC