[
Lists Home |
Date Index |
Thread Index
]
David Hunter wrote:
> At this point, I feel I need to intrude into the thread and ask [again, I'm
> afraid] for the benefits of using URIs for namespace names?
Well, the benefits of being able to piggyback on the DNS so that
everyone can make their own and dodge collisions, as you note, are
pretty large.
There's also the desirable side-effect that if you use an HTTP URI, you
can put something there to help explain your shiny brand-new namespace
to people and software.
There are two good arguments against namespace names the way they're
done, one technical and one psychological. The technical one is that
the scoping of the declarations makes them rather awkward to handle when
you're manipulating in-memory data structures that represent XML
documents. My personal way to deal with this is to use XML for
interchange and mash the data into in-memory data structures that are
optimized for application needs not XML fidelity, but there's no denying
this causes problems for some people.
The psychological problem is the one you put your finger on, and the one
that drives SimonStL to distraction: when you explain that these names
are also URLs and are also names, only they're really URIs which are
really in practice URLs only maybe more, only they're really URI
*references* except for it's bad practice to use relative ones... well,
you get some angst.
That granted, when actual programmers sit down to write actual code that
deals with actual namespace-labeled markup, the implementions are
straightforward and interoperate well, I have yet to hear a *single*
story of an actual implementation problem caused by the URIness of
namespace names.
If we had a blank slate and a chance to re-invent namespaces scratch,
there are a few things I'd change (unprefixed attributes, undeclaration,
no relative and no fragment), but I'd still use URIs. -Tim
|