Namespace Issues
As XML documents are exchanged between different people
and organizations around the world, proper use of namespaces becomes
critical to prevent misunderstandings. Depending on what type of
document is being viewed, a simple element like <fullName>Zoe</fullName> could
have widely different meanings. It could be a person’s name, a pet’s
name, or the name of a ship that recently docked. By associating
every element with a namespace URI, it is possible to distinguish
between two elements with the same local name.
Because the “Namespaces in XML” recommendation was released after the XML 1.0 recommendation, DTDs do not provide explicit support for namespaces. Unlike DTDs (where element and attribute declarations must include a namespace prefix), schemas validate against the combination of the namespace URI and local name, rather than the prefixed name.
XML Schema uses namespaces internally for several purposes.
The XML Schema vocabulary is in its own namespace, the vocabulary
being defined is in its namespace, and components used within the
schema (groups, attribute groups, and types) may also have
namespaces. XML Schema processing also uses namespaces within
instance documents to include directives to the schema
processor. For example, the special attributes used to associate an
element with a schema (schemaLocation and noNamespaceSchemaLocation) must be
associated with the official XML Schema instance namespace
URI (http://www.w3.org/2001/XMLSchema-instance) in order ...