Re: A proposed solution

> You have to choose here.

Not me, I don't have to choose. The namespace recommendation
explicitly specifies that URIs differing in case are different
namespace names even if functionally equivalent as URI. Of course W3C
can revoke their own recommendations if they so wish, but it has been
stated so far by all proponents of the "make absolute" option that
that does not affect the current character-for-character comparison of
namespace names that are absolute URI. As far as I know only the
"microsoft proposal" has made this suggestion. Which seems completely
unworkable to me, that a document will be conforming or not depending
on whether the parser happens to know how to normalise the URI schemes
used in the document.

Is this a conforming document

<a x:a="1" y:a="2"
  xmlns:x="x-fghfg://www.example.org"
  xmlns:y="x-fghfg://WWW.example.org" />

the answer is yes according to the current namespace recommendation
(and would also be yes if the http: scheme were used instead of
x-fghfg:) You would have some parsers say no if they happened to
know this scheme?

> URIs that use DNS hostnames are by the authority
> of the DNS hostname case insensitive. It is impossible that any usage of
> DNS hostnames can apply semantics to the case of characters when the
> ultimate authority of DNS hostnames (DNS itself [1][2]) is case
> insensitive.

impossible is a strong word to use seeing as the current namespace
spec specifies character for character comparison (ie no case folding)
and every namespace parser in existence, including Microsoft's
implements that.


> If you don't want to deal with DNS hostnames, then use a GUID or something
> else - that's fine - and that gives you exactly the semantics you are
> after wrt comparison.

I am the consumer not the creator of the document so I don't get to
choose which namespace names are used.  I (or my
stylesheet system, xsl or xmltex, or anything else using namespaces)
has to decide whether the incoming document matches the namespaces
for which processing is specified within the system.

The whole point of namespace processing is that such matching
can be done without any knowledge of the URI schemes used as namespace
names, you just match the namespace in the document with the
namespaces you know about.

> What you are proposing is another "case A" [3] scenario that several
> people have pointed out as flawed.

I am not proposing it, it is a W3C recommendation.
It is not `case A' (the same namespace name resolving two different
resources) it is the `harmless' `case B' (two different namespace
names, differing by case, resolving to the same resource).

Of course even the `case A' situation is not considered flawed
by those people arguing for the literal interpretation, which has
always been the majority view of any list that has ever discussed
this, as far as I can tell. Two instances of the same relative URI
reference may resolve to different resources, depending on context,
and namespace names are defined to be URI references, so aquire
the same feature. W3C can change this if they like, but it is not
flawed.

David

Received on Monday, 19 June 2000 15:31:34 UTC