What is a namespace ... really?

James Tauber jtauber at jtauber.com
Fri Jan 15 19:27:11 GMT 1999


>What good is a namespace if it *doesn't* reference a DTD?

A good example is XSL.

XSL allows the result tree to use any vocabulary the stylesheet writer
wants, it could be HTML-in-XML (ie Voyager), the flow object vocabulary or
any old DTD.

XSL templates contain not only elements in this result vocabulary but also
XSL's own elements that control processing, generated content, etc.

XSL has element type names like "apply-templates", "value-of" and "number".

Now say that the result vocabulary you are wanting to use in your stylesheet
just happens to have an element type with the name "number". How would an
XSL engine know if <number> meant the XSL "number" element or the "number"
element of the result vocabulary?

The answer: namespaces

Each element is associated with a URI. The XSL element types are associated
with a namespace which is the URI for the XSL spec. It doesn't matter what
the URI for the result tree namespace is as long as it isn't that of the XSL
spec.

So in this case, the namespace is a spec that described the elements, not a
DTD.

Namespaces are *not* a tool for validation of documents with a mixture of
schemata, they are merely a way of making sure that my FOO is not confused
with your FOO.

James



xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)




More information about the Xml-dev mailing list