What is the purpose of XML namespaces?
XML namespaces were originally designed to provide universally unique names for elements and attributes. In practice, they are used in XML technologies when unique names are needed, such as for complex type names in XML Schemas and function names in XQuery. This FAQ focuses on the first case, but most of what it discusses applies to the broader cases as well.