Lists Home |
Date Index |
David Carlisle wrote:
> > Yep. Namespaces do work. As I said: a URI is just a name. A namespace
> > is a URI. It all works.
> Saying a namespace name is a URI is a) inaccurate as it is a URI
> reference, and b) not the same as saying a namespace is a resource,
> don't conflate the name with the thing.
Correct, a namespace name is a URI reference. Most namespace names, except
in RDF applications are proper URIs. RDF considers a URI reference to
identify an (RDF) resource, so I think everyone should be happy on this
count. I do agree that the status of what a URI reference ought identify
needs to be clarified -- people do seem to have different opinions about
But as you say, XML namespaces do work in practice. So there is no real
> But part of that working is accepting the possibility that a given
> string can refer to one thing if used as a namespace name and another if
> used as a URI.
No I think using a namespace name as a URI (or URI reference assuming the
issue is clarified) is perfectly correct.
> The same is true of
> <x:x xmlns:x="data:,x"/>
> You may think it's a bad namespace name (actually I've used it quite a
> lot in XSLT stylesheets once my previous preferred namespace of "x"
> was deprecated.)
I am not saying it is an _illegal_ namespace name, just not one I would
recommend deploying a large scale application on. You are allowed to use
this URI (reference) for whatever purpose you choose, and I completely agree
that you are allowed to create this. The "data" scheme may be the single
exception to the rule that the creator of the URI is allowed to say what it
means, i.e. what resource it identifies, because one might take the position
that the resource _is_ the identified string "x" ... but I haven't given
this much thought. I suppose one might say that it is the _entity_ which
equals "x". Perhaps this is the exception that proves the rule. In any case
when you use such a namespace name, you are clearly indicating to me that
you do not indend to assign any semantics to this namespace. You certainly
have that right.
Really, the way I should have stated it to the initial question: Does the
namespace equal the resource?
What the resource _is_ depends on the intentions of the creator of the URI
(reference). In many cases the URI reference is _intended_ to identify a
namespace in which case the identified resource _is_ the namespace. In other
cases the creator of the document intends to use the namespace simply as
syntactic punctuation -- the "data" scheme seems quite acceptable for this.
In the end it all depends on what the creator of the namespace intends.