A namespace is a set of names in which all names are unique. Any logically related set of names where each name should be unique is a namespace. Namespaces make it easier to come up with unique names.
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.