An XML namespace is a W3C recommendation for providing uniquely
named elements and attributes in an XML instance. An XML instance may contain element or attribute
names from more than one XML vocabulary. If each vocabulary is given a namespace then the ambiguity between identically named elements or attributes can be
resolved.
All element names within a namespace must be unique.
A simple example would be to consider an XML instance that contained references to a customer and an ordered product. Both the
customer element and the product element could have a child element "ID_number". References to the element ID_number would
therefore be ambiguous unless the two identically named but semantically different elements were brought under namespaces that
would differentiate them.
Namespace declaration
A namespace is declared using the reserved XML attribute xmlns, the value of which must be a URI (Uniform Resource Identifier) reference.
For example:
xmlns="http://www.w3.org/1999/xhtml"
Note, however, that the URI is not actually read as an online address; it is simply treated by an XML parser as a string. For
example, http://www.w3.org/1999/xhtml itself does
not contain any code, it simply describes the xhtml namespace to human readers. Using a URL (such
as "http://www.w3.org/1999/xhtml") to identify a namespace, rather than a simple string (such as "xhtml"), reduces the
possibility of different namespaces using duplicate identifiers. Namespace identifiers need not follow the conventions of web
addresses, though they often do.
The declaration can also include a short prefix with which elements and attributes can be identified, e.g.:
xmlns:xhtml="http://www.w3.org/1999/xhtml"
An XML namespace does not require that its vocabulary be defined, though it is fairly common practice to place either a
Document Type Definition (DTD) or an XML
Schema defining the precise data structure at the location of the namespace's URI.
External links
This entry is from Wikipedia, the leading user-contributed encyclopedia. It may not have been reviewed by professional editors (see full disclaimer)