--- title: element.namespaceURI slug: Web/API/Node/namespaceURI tags: - API - DOM - Noeuds - Propriétés translation_of: Web/API/Node/namespaceURI ---

{{APIRef("DOM")}}{{obsolete_header}}

La propriété en lecture seule Node.namespaceURI renvoie l'URI d'espace de noms du nœud, ou null si le noeud n'est pas dans un espace de nom. Quand le noeud est un document, elle retourne l'espace de nom XML pour le document courant.

Dans DOM4, cette API a été déplacée de Node  vers les interfaces {{domxref("Element")}} et {{domxref("Attr")}}.

Syntaxe

namespace = node.namespaceURI

Exemple

Dans cet extrait, on examine les propriétés {{domxref("Node.localName")}} et namespaceURI d'un nœud. Si namespaceURI renvoie l'espace de noms XUL et que localName renvoie « browser » (navigateur), on peut considérer que le nœud est un <browser/> XUL.

if (node.localName == "browser" &&
    node.namespaceURI == "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul") {
  // il s'agit d'un browser XUL
}

Notes

Il ne s'agit pas d'une valeur calculée qui serait le résultat d'une vérification d'espace de noms basée sur les déclarations visibles. C'est simplement l'URI d'espace de noms donnée à la création.

Dans Firefox 3.5 et antérieurs; l'URI d'espace de nom pour les éléments HTML dans les documents HTML est null . Dans les versions ultérieures, en conformité avec HTML5, il est https://www.w3.org/1999/xhtml comme en XHTML.{{gecko_minversion_inline("1.9.2")}}

Pour les nœuds de tout autre type qu'ELEMENT_NODE et ATTRIBUTE_NODE, la valeur de namespaceURI vaut toujours null.

Il est possible de créer un élément en spécifiant une adresse namespaceURI avec la méthode DOM Level 2 {domxref("Document.createElementNS")}} et les attributs avec la méthode {{domxref("Element.setAttributeNS")}}.

Suivant la spécification Namespaces in XML, un attribut n'hérite pas de son espace de noms depuis l'élément auquel il est attaché. Si un attribut n'a pas reçu explicitement d'espace de noms, il n'en aura aucun.

Le DOM ne gère pas ou n'applique pas la validation de l'espace de noms en soi. Il appartient à l'application DOM de faire toute validation nécessaire. Notez également que le préfixe d'espace de noms, une fois associé à un nœud particulier, ne peut pas être modifié.

Spécification

Spécification Statut Commentaire
{{SpecName("DOM3 Core", "core.html#ID-NodeNSname", "Node.namespaceURI")}} {{Spec2("DOM3 Core")}} Spécifie le comportement lorsqu'il est défini sur 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")}} Définition initiale

Compatibilité des navigateurs

{{Compat("api.Node.namespaceURI")}}

 

Voir aussi