Re: Are *relative* URIs as namespace nemes considered harmful?

-----Original Message-----
From: John Cowan <jcowan@reutershealth.com>
To: Tim Berners-Lee <timbl@w3.org>
Cc: Michael Champion <Mike.Champion@SoftwareAG-USA.com>; xml-uri@w3.org
<xml-uri@w3.org>
Date: Tuesday, May 16, 2000 3:14 PM
Subject: Re: Are *relative* URIs as namespace nemes considered harmful?


>Tim Berners-Lee wrote:
>
>> A classic example is a document which defines its own namespace and uses
it
>> as it goes along. I understood the WebCGM schema does that, refering to
the
>> namespace it defines as "#".  Without relative URIs, this would be
>> impossible to do without always writing the URI of the document in it
every
>> time you published a variation!
>
>But this is not a decisive case, because a namespace name used in a single
>document will give the same identity function whether it is taken as a
literal
>string or a relative URI reference.


I was assuming the processor would be comparing the language being refered
to
"#" with that being defined, say,
"file:///user/bill/cool/myrecursiveschema.play"  and getting
different results by literal string and URI comparison.

>The crucial case is two documents both of which have xmlns:foo="foo"
>declarations.  Do they declare the same namespace (the "literal"
interpretation),
>different namespaces (the "absolutize" interpretation) or nothing at all
>(the "forbid" interpretation)?


Exactly.  The literal interpretation you describe is not using URIs at all.

>> ... or to just do it right.


which is of course absolutizing.

>Which also supposedly breaks Microsoft's customers' documents.


In fact, when it comes to transition to sanity,  the large amount of
software which cheats by actually
doing a literal comparison when it ought (IMHO) to absolutize will actualy
make a mistake only
in rather obscure conditions. So in fact I think it would be quite
acceptable to trasition the software
to do the right thing.  Most documents either use absolute URIs or use
relative URIs where the
assumption was that collision or misinterpretation was really unlikely.  In
other words, the foo cases
are important in testing architectural integrity, but they are obscure
enough to fail as we go though
transition to a common understanding.

My proposed transition is as follows.

We can leave XPath and fix its implemenations to absolutize. We need to fix
the namespace spec
to take out the literal comparison wording and just refer to URIs. This will
remove th
underlying fundamental inconsistency. (I for one had not realized th extend
of the inconsistncy
implied when I reviewed the ns spec)  A warning about relative URIs would
be motherhood and apple pie but so long as it is non-normative it seems
reasonable.


DOM does have to be fixed, so that the base URI is set when the document is
created.
This is going to save time later, when future layers of DOm implement other
URI things
such as XLink. And now it will let DOM do the righ thing wiht namespaces.

The public source XML implementations all need to have the alsolutize string
function
clearly available to remove the myths about it needing net access or lots of
CPU time.

Tim

>
>Schlingt dreifach einen Kreis um dies! || John Cowan
<jcowan@reutershealth.com>
>Schliesst euer Aug vor heiliger Schau,  || http://www.reutershealth.com
>Denn er genoss vom Honig-Tau,           || http://www.ccil.org/~cowan
>Und trank die Milch vom Paradies.            -- Coleridge (tr. Politzer)
>

Received on Wednesday, 17 May 2000 03:49:28 UTC