Understanding namespaces

Less confusing explanation of XML Namespaces compared to what’s on W3C – http://www.jclark.com/xml/xmlns.htm

… One XML document may use part elements to describe parts of books, another may use part elements to describe parts of cars. An XML application has no way of knowing how to process a part element unless it has some additional information external to the document.

The XML Namespaces Recommendation tries to improve this situation by extending the data model to allow element type names and attribute names to be qualified with a URI. Thus a document that describes parts of cars can use part qualified by one URI; and a document that describes parts of books can use part qualified by another URI. I’ll call the combination of a local name and a qualifying URI a universal name. The role of the URI in a universal name is purely to allow applications to recognize the name. There are no guarantees about the resource identified by the URI. The XML Namespaces Recommendation does not require element type names and attribute names to be universal names; they are also allowed to be local names.