Namespaces

The W3C defines Namespaces as:

An XML namespace is a collection of names, identified by a URI reference [RFC2396], which are used in XML documents as element types and attribute names. XML namespaces differ from the “namespaces” conventionally used in computing disciplines in that the XML version has internal structure and is not, mathematically speaking, a set.

Namespaces allow XML elements to have universal names. For instance, by identifying the XHTML document with the XHTML namespace, XML readers will be able to definitively determine that this is an XHTML document and should be interpreted as such.

The XHTML namespace is identified by:

xml:lang="en" lang="en">

As you can probably see, W3C recommends that you also identify the language of the document with the xml:lang tag. The lang tag is there as well for backwards compatibility.