--- title: Node.namespaceURI slug: Web/API/Node/namespaceURI tags: - API - DOM - NecesitaCompatilibidadNavegador - Propiedad - Referencia - obsoleta translation_of: Web/API/Node/namespaceURI ---
{{APIRef("DOM")}}{{obsolete_header}}

La propiedad de solo lectura Nodo.namespaceURI devuelve la URI del nodo, o null en caso de que el nodo no tenga espacio de nombres. Cuando el nodo es un documento, este devuelve el espacio de nombres del XML para el documento actual.

En DOM4 esta API fué movida desde Node a las interficies {{domxref("Element")}} y {{domxref("Attr")}}.

Sintaxis

namespace = node.namespaceURI

Ejemplo

En este fragmento, un nodo esá siendo examinado por su {{domxref("Node.localName")}} y namespaceURI. Si el namespaceURI devuelve el nombre de espaciosXUL y el localName devuelve "browser", entonces el nodo es entendido  a ser un XUL <browser/>.

if (node.localName == "browser" &&
    node.namespaceURI == "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul") {
  // Este es un navegador XUL
}

Notas

Este no es un valor calculado que es el resultado de una búsqueda del espacio de nombres basada en la examinación de las declaraciones de un espacio de nombres en el ámbito. El espacio de nombres URI de un nodo es congelado ene l momento de su creación.

En Firefox 3.5 y anteriores, el espacio de nombres URI para los elementos HTML en los Documents HTML es null. En versiones psoteriores, en conformidad con HTML5, es https://www.w3.org/1999/xhtml como en XHTML. {{gecko_minversion_inline("1.9.2")}}

Para nodos de cualquier {{domxref("Node.nodeType")}} distintos de ELEMENT_NODE y ATTRIBUTE_NODE el valor de namespaceURI es siempre null.

Puedes crear un elemento con un namespaceURI concreto creando un método DOM de nivel 2 {{domxref("Document.createElementNS")}} y atributos con el método {{domxref("Element.setAttributeNS")}}.

Para la especificación Namespaces in XML, un atributo no hereda su espacio de nombres del elemento al que está sujeto. Si un atributo no es dado de manera explícita como espacio de nombres, entonces no los tiene.

El DOM no controla ni impone la validación del espacio de nombres. Depende de la aplicación DOM de hacer cualquier tipo de validación necesaria. Destacar también que el prefijo de espacio de nombre, una vez es asociado a un nodo enparticular, no puede ser modificado.

Especificaciones

Especificación Estado Comentario
{{SpecName("DOM3 Core", "core.html#ID-NodeNSname", "Node.namespaceURI")}} {{Spec2("DOM3 Core")}} Specifies the behavior when it's set to null.
{{SpecName("DOM2 Core", "core.html#Namespaces-Considerations", "DOM Level 2 Core: XML Namespaces")}} {{Spec2("DOM2 Core")}}  
{{SpecName("DOM2 Core", "core.html#ID-NodeNSname", "Node.namespaceURI")}} {{Spec2("DOM2 Core")}} Initial definition

Compatibilidad de navegadores

{{CompatibilityTable}}
Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Soporte básico {{CompatVersionUnknown}}
{{CompatNo}}46.0[1]
{{CompatVersionUnknown}} {{CompatVersionUnknown}}[2]
{{CompatNo}} {{CompatGeckoDesktop("48.0")}}[1]
{{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}
Feature Android Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Soporte básico {{CompatUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}}[2]
{{CompatNo}} {{CompatGeckoMobile("48.0")}}[1]
{{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}

[1] Esta API fue movida a las APIs {{domxref("Element")}} y {{domxref("Attr")}} de acuerdo con el standard de DOM4.

[2] Antes de Gecko 5.0 {{geckoRelease("5.0")}}, esta propiedad era de lectura-escritura; empezando con Gecko 5.0  es sólo lectura, siguiendo la especificación.

Ver también