Namespace

A namespace is used to prevent name clashes of the elements and attributes. This can be important when different people are working together, each creating his or her own XML documents. By convention, a HTTP-style URL is used as a namespace, although no connection to the URL is needed to process the XML document.
A namespace is declared in an opening tag like this:
xmlns:prefixName=’namespaceName’
A namespace can only be used after it has been declared in an ancestor or current element. To use a namespace, preprend an element name or attribute name with ‘prefixName:’.
If the part ‘:prefixName’ is omitted, a default namespace is assumed. The scope of the namespace is the content of the tag itself. To use the default namespace, the descendant element names and attribute names need not be prefixed with any prefix name.
Reserved Prefix Names
The prefix name ‘xml’ is reserved and bound to
‘http://www.w3.org/XML/1998/namespace’.
It may be declared, but must not be bound to any other namespace name. Other prefix names must not be bound to this namespace name, and it must not be declared as the default namespace.
The prefix name ‘xmlns’ is reserved and bound to
‘http://www.w3.org/2000/xmlns/’.
It must not be declared. Other prefix names must not be bound to this namespace name. It must not be declared as the default namespace. Element names must not have the prefix xmlns.
Prefix names beginning with ‘xml’ are reserved.

No tag may contain two attributes which have the same names, or the same local names prefixed by prefix names bound to the same namespace name.