XML namespaces provide a simple method for qualifying element and attribute names used in Extensible Markup Language documents by associating them with namespaces identified by URI references.
Namespace URI
The namespace value is a URI reference (Uniform Resource Indicator) this does not mean that the resource should be resolvable like a URL.
Example:
We have 2 different XML Vocabularies which can be used together but are using the same element names. XHTML uses the <select>, <submit> and <input> elements to define input controls, however XForms also allows these 2 elements. Namespaces can now be used to distinguish between these elements.
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>XForms Example</title>
<model xmlns="http://www.w3.org/2002/xforms">
<instance>
<person xmlns="">
<fname/>
<lname/>
</person>
</instance>
<submission id="form1" method="get" action="submit.asp"/>
</model>
</head>
<body>
<p>The following is XForms markup:</p>
<input ref="fname" xmlns="http://www.w3.org/2002/xforms">
<label>First Name</label>
</input>
<br/>
<input ref="lname" xmlns="http://www.w3.org/2002/xforms">
<label>Last Name</label>
</input>
<br/>
<br/>
<submit submission="form1" xmlns="http://www.w3.org/2002/xforms">
<label>Submit</label>
</submit>
</body>
</html>
Constraints:
“The prefix xml is by definition bound to the namespace name http://www.w3.org/XML/1998/namespace.”
“Namespace declarations must be provided either directly or via default attributes declared in the internal subset of the DTD.”