XML namespace: Difference between revisions

Content deleted Content added
Ear1grey (talk | contribs)
W3C doesn't define standards, it publishes Recommendations (with a capital R)
ed.
Line 1:
An '''XML Namespace''' is a [[W3C]] Recommendationrecommendation 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 (computer science)|namespace]] then the ambiguity between identically named elements or attributes can be resolved.
 
All element names within a namespace must be unique.
Line 5:
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 <code>xmlns</code>, the value of which must be a [[Uniform Resource Identifier|URI]] (Uniform Resource Identifier) reference, e.g.:
 
For example:
 
<pre><nowiki>xmlns="http://www.w3.org/1999/xhtml"</nowiki></pre>
 
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 http://www.w3.org/1999/xhtml] itself does not contain any code, it simply describes the [[xhtml]] namespace to human readers. Using a URI (such as <nowiki>"http://www.w3.org/1999/xhtml"</nowiki>) 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.