Node.namespaceURI
Deprecated
This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.
The Node.namespaceURI
read-only property returns the
namespace URI of the node, or null
if the node is not in a namespace. When
the node is a document, it returns the XML namespace for the current document.
Syntax
namespace = node.namespaceURI
Example
In this snippet, a node is being examined for its Node.localName
and its
namespaceURI
. If the namespaceURI
returns the XUL namespace
and the localName
returns "browser", then the node is understood to be a
XUL <browser/>
.
if (node.localName == "browser" &&
node.namespaceURI == "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul") {
// this is a XUL browser
}
Notes
This is not a computed value that is the result of a namespace lookup based on an examination of the namespace declarations in scope. The namespace URI of a node is frozen at the node creation time.
In Firefox 3.5 and earlier, the namespace URI for HTML elements in HTML documents is
null
. In later versions, in compliance with HTML5, it is
https://www.w3.org/1999/xhtml
as in XHTML.
For nodes of any Node.nodeType
other than ELEMENT_NODE
and
ATTRIBUTE_NODE
the value of namespaceURI
is always
null
.
You can create an element with the specified namespaceURI
using the DOM
Level 2 method Document.createElementNS
and attributes with the method
Element.setAttributeNS
.
Per the Namespaces in XML specification, an attribute does not inherit its namespace from the element it is attached to. If an attribute is not explicitly given a namespace, it has no namespace.
The DOM does not handle or enforce namespace validation per se. It is up to the DOM application to do any validation necessary. Note too that the namespace prefix, once it is associated with a particular node, cannot be changed.
Specifications
Specification | Status | Comment |
---|---|---|
Document Object Model (DOM) Level 3 Core Specification The definition of 'Node.namespaceURI' in that specification. |
Obsolete | Specifies the behavior when it's set to null . |
Document Object Model (DOM) Level 2 Core Specification The definition of 'DOM Level 2 Core: XML Namespaces' in that specification. |
Obsolete | |
Document Object Model (DOM) Level 2 Core Specification The definition of 'Node.namespaceURI' in that specification. |
Obsolete | Initial definition |
Browser compatibility
BCD tables only load in the browser