Re: When are two URIs equivalent?

Namespace names should be defined to be strings, selected
from the space of valid URI strings, for which byte-by-byte
equivalence is an appropriate equivalence relation.

This would suggest that you avoid having two namespaces,
one http://www.w3.org/blah and another http://WWW.W3.ORG/blah
since even though the two URIs are equivalent when treated
as uniform resource locators, they're not equivalent as
namespace names.  It isn't really practical to enumerate
all of the 'allowed' vs. 'disallowed' forms, or even to mandate
that all URIs used should be 'canonicalized' in some form.


The decision to use string-equality for namespace names was
because the designers of namespace names wanted a simple,
determinable algorithm for comparison of namespace names, but
also wanted to leverage many of the properties that are inherited
from using URIs: distributed assignment mechanism, the potential
to actually resolve a URL to interact with the resource so located,
a well-known properties of authority and resource ownership,
extensibility of namespaces, etc.

It's possible to make a design choice to include 'absolutization'
in the process of comparison prior to string-comparison, but it
adds some complexity to implementations, leaves open the question
of where the 'base' comes from (since it seems unlikely that
it is appropriate to use the base of the document as the base
of its namespace).


I'm not sure this fits into any of the choices you've indicated.



> LITERAL: That they _are_ URI references, as opposed to being expressed in
> reference syntax.
> FORBID: That they are URI _references_ (which can be relative) as opposed
> to URIs (which can't).
> ABSOLUTIZE: That they are compared as literals.
> 
> ______________________________________
> Joe Kesselman  / IBM Research
> 

Received on Tuesday, 23 May 2000 13:13:01 UTC