Op 1-10-2009 11:13, Julian Reschke schreef:
> No, that's an API problem. There are other APIs that use expanded
> names as identifiers.
Well correct me if I’m wrong, but you have to use tuples. In XML namespaces:
<asdf xmlns="http://example.org/">
is not identical to:
<df xmlns="http://example.org/as">
You can not simply concatenate the local name to the namespace. Although
you could join the strings with e.g. ‘##’ (because that is not a legal
part of an URI), but there is no such official standard supporting this
and thus you can only use it internally.
RDF in the contrary does not use namespaces at all, but rather uses a
full URI for everything. So there is a conceptual difference here; RDF
does not /need/ namespacing. XML does need namespacing because
identifiers (element/attribute names) are not unique.
So when Jonas writes:
> RDF has not chosen to use this. Instead it concatenates the expanded
> prefix together with the localName-esq value in order to form a single
> string.
In fact, RDF does not concatenate anything, RDF only uses full URIs.
Most (if not all) RDF serialisations however such as RDF/XML, RDFa and
N3, and SPARQL too, do subsequently apply a prefix-based shortening
mechanism to that, because using full URIs all the time is kind of unwieldy.
So even though both XML and RDF serialisations use prefixes, they were
born from a different need and serve a different purpose:
- RDF had unique strings and they turned out to be too long to write
easily, so prefix-based shortening was introduced.
- XML had non-unique strings, so prefix-based namespacing was
introduced, where each namespace is identified with an URI.
~Laurens
--
~~ Ushiko-san! Kimi wa doushite, Ushiko-san nan da!! ~~
Laurens Holst, developer, Utrecht, the Netherlands
Website: www.grauw.nl. Backbase employee; www.backbase.com