of the document. The result of the debate was a ruling from W3C that relative URIs were deprecated. The use of URIs taking the form of URLs in the http scheme (such as http://www.w3.org/1999/xhtml) is common, despite the absence of any formal relationship with the HTTP protocol. The Namespaces specification does not say what should happen if such a URL is dereferenced (that is, if software attempts to retrieve a document from this location). One convention adopted by some users is to place an RDDL document at the location. In general, however, users should assume that the namespace URI is simply a name, not the address of a document on the Web. Namespace declaration An XML namespace is declared using the reserved XML attribute xmlns or xmlns:prefix, the value of which must be a valid namespace name. For example, the following declaration maps the "xhtml:" prefix to the XHTML namespace: <nowiki>xmlns:xhtml="http://www.w3.org/1999/xhtml"</nowiki> Any element or attribute whose name starts with the prefix "xhtml:" is considered to be in the XHTML namespace, if it or an ancestor has the above namespace declaration. It is also possible to declare a default namespace. For example: <nowiki>xmlns="http://www.w3.org/1999/xhtml"</nowiki> In this case, any element without a namespace prefix is considered to be in the XHTML namespace, if it or an ancestor has the above default namespace declaration. If there is no default namespace declaration in scope, the namespace name has no value. In that case, an element without an explicit namespace prefix is considered not to be in any namespace. Attributes are never subject to the default namespace. An attribute without an explicit namespace prefix is considered not to be in any namespace. Namespaces in APIs and XML object models Different specifications have taken different approaches on how namespace information is presented to applications. Nearly all programming models allow the name of an element or attribute node to be retrieved as a three-part name: the local name, the namespace prefix, and the namespace URI. Applications should avoid attaching any significance to the choice of prefix, but the information is provided because it can be helpful to human readers. Names are considered equal if the namespace URI and local name match. In addition, most models provide some way of determining which namespaces have been declared for a given element. This information is needed because some XML vocabularies allow qualified names (containing namespace prefixes) to appear in the content