RE: Namespaces and URIs

Patrick, I'm affraid you didn't get my point

On 08 Jun 2001 16:31:21 +0300, Patrick.Stickler@nokia.com wrote:
> Having a single URI (URN) scheme such as "name:champin.y2001/foo",
> requiring that all namespace names be instances of that scheme, and
> defining an absolute, explicit, and reliable mapping algorithm
> for deriving full URIs from namespace + name, certainly would 
> go along way towards a solution.

I do not suggest that anyone use the same URI scheme to name their
namespaces.
The XML Namespaces recomendation works very well as is, as far as it is
concerned.

The problem is RDF-related, when we try to *talk* about namespaces and
qnames.
The mistake was, IMHO, to use the "namespace name" as the URI of the
namespace;
although namespace names are usually URIs, they are not *the* URI of the
namespace,
but we could easily build such a URI, as I proposed...


[about me being naughty]

> > Does this mean I'm a naughty boy, using the same URI for 2 distinct
> > things ? no, I argue:
> > - I use it as a URI identifying my homepage
> > - I use it as a unique and persistent string to identify my namespace
> > I could even have used the string "champin.y2001" for the namespace !
> 
> Insofar as the namespace spec is concerned, yes, you are a naughty
> boy; not because the namespace is a URL (all the namespace spec requires
> is that the namespace name is some kind of URI, and it is in your example)
> but because you have identified *two* distinct resources with the 
> same URI.

No I'm not:
I use that "namespace name" (a character string) for one unique
namespace, and always will;
hence I respect the constraints of name and persistence.


> Also, insofar as the semantics and behavior of the http:// URI 
> (URL) scheme is concerned, you are IMO a naughty boy in using such
> a URL as the name of what is intrinsicly an abstract resource.

No I'm not:
as a URI, I use it to identify only my homepage.
as a character string, I can use it for whatever I care ;)

> Furthermore, insofar as RDF is concerned, IMO you also are a naughty boy
> because you have made it impossible to differentiate between statements
> made about your web page identified by the specified URL and the namespace
> identified by the *same* URL.

Because you take for granted that the *namespace name" I use, which
happen to be *a* URI,
is *the* URI for that namespace, which I argue is not true,
and which is not specified as such in the [XMLNS] recommendation.

Since it is a custom to use URIs are "namespace names", everybody found
natural that those URIs should be the URIs of the namespaces... I argue
that this is not recomended by [XMLNS], and indeed should *not* be
assumed.
Wich lead me to my question:

> > So, what *is* the URI of the namespace ??

I meant *my* namespace, not *any* namespace in general...

> > An immediate 
> > solution would
> > be
> >     xmlns:http://champin.y2001/
> >     xmlns:champin.y2001
> > where 'xmlns:' is a URI scheme, even URN I think.
> > Let's be clear: the xmlns attributes do not have to contain 
> > the "xmlns:"
> > prefix ! Why should they, by the way... they clearly define a context
> > where the *string* has to be interpreted as a 'xmlns:' URI.
> 
> Firstly, your second example is not a URI,

yes it is, it matches the opaque_part production rule, Annex A of RFC2396.

> and namespace names must be valid URIs.

no they don't. They only have to be unique and persistent.
see http://www.w3.org/TR/REC-xml-names/#ns-decl

> Secondly, whether you use URIs or any other *string* as
> a context for names, you still need to map the namespace + name into
> a consistent identity.

Right, but I was not adressing the "QName to URI" issue yet.
Only the one of namespaces being abstract things, hence having a URN
rather than a URI.

 hope I've been clearer

  Pierre-Antoine

Received on Friday, 8 June 2001 10:06:06 UTC