| • Science | • People | • Locations | • Timeline |
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". Refences 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.
A namespace is declared using the reserved XML attribute xmlns, the value of which must be a URI (Uniform Resource Identifier) reference e.g. xmlns='http://www.w3.org/TR/REC-html40'. The declaration can also include a short prefix with which elements and attributes can be identified e.g. xmlns:html='http://www.w3.org/TR/REC-html40'.
An XML namespace does not require that its vocabulary is defined, though it is fairly common practice to place either a DTD or an XML Schema defining the precise data structure at the location of the namespace's URI.