Lists Home |
Date Index |
My point was not to put this old story back to light though but rather
to take a step backward and ask again the (generic) question of what
needs to be defined in a document as opposed to what should be defined
outside the document in schemas, mapping table, applications or whatever
is needed to "understand" the document.
I think that namespaces are a step in the direction of making documents
more autonomous: when I am using XLink I can recognize (assuming that
there is a consensus on the namespace) that xlink:href is a link without
needing other resources.
You know what I will say, I just say it to recap. I think that yes, the
original idea behind the namespaces was that a document could be made
more autonomous (no external definitions like DTD) when consumed at
run-time. External definitions could be still used at design/validation
times. So behind namespaces we got these axioms
a) At run time, a document is self contained without any external
documents. The namespace URI was used as a name to make the namespace
unique for the processors). A document could be located at the other end
of the URI but this is sufficient and not necessary for any processing
b) Namespaces were designed to prevent name collision. The same keyword
could be used in two different domain languages and still be used in the
same document without ambiguity (at least not from the machine point of
view, maybe from the human point of view).
Xlink used namespaces and an inheritance mechanism to respect these
axioms also to provide, at run time, a way to identify - in a generic
way - links included in a document. At least, if a document contains two
domain languages, let's say SVG and XHTML, then, links would be easily
recognized by the sharing the same attributes. This would make the whole
document more coherent. Linkage is one of the most important feature of
the web, this is why a generic linkage domain language is so useful (in
addition to re-use).
Didier PH Martin