Qualified Names

The first point of issue is that QNames (also known as qualified names) do not by themselves contain any namespace information. A QName as the grammar production shows is simply a name that doesn't contain a colon (':') character optionally preceded by a prefix that also does not contain a colon character both of which are delimited by a colon.

The name Simon should have used is probably universal name which James Clark used in his excellent explanation of the basics of XML namespaces.

Document Types

The term "document type" is misleading as several debates on XML-DEV have shown. Although in many cases the namespace URI of the root element can be used to determine how to process the document this is hardly a general rule and stating that it is such violates the spirit of XML namespaces since they were designed exactly so that people could mix and match XML vocabularies.

A succint post that captures the essence of why thinking that root element namespace URI is equivalent to a notion of document type is this post by Rick Jelliffe on XML-DEV. Two examples of XML documents whose actual "document types" can be misconstrued by simply looking at the namespace URI of the root element are RDDL documents ( sample, notice that its root element is from the XHTML namespace) and annotated mapping schemas (root element is from the W3C XML Schema namespace).

In a nutshell, the type of a document cannot conclusively be determined by looking at the namespace URI of its root element. Thinking otherwise is folly.

PS: Thanks for the inspiration for my 1st Extreme XML column for MSDN.



Comments are closed.