Obsolète
Cette fonctionnalité est obsolète. Bien qu'encore supportée par des navigateurs, son utilisation est découragée pour tout nouveau projet. Évitez de l'utiliser.

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 Element et Attr.

Syntaxe

namespace = node.namespaceURI

Exemple

Dans cet extrait, on examine les propriétés 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.

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 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
Document Object Model (DOM) Level 3 Core Specification
La définition de 'Node.namespaceURI' dans cette spécification.
Obsolete Spécifie le comportement lorsqu'il est défini sur null.
Document Object Model (DOM) Level 2 Core Specification
La définition de 'DOM Level 2 Core: XML Namespaces' dans cette spécification.
Obsolete  
Document Object Model (DOM) Level 2 Core Specification
La définition de 'Node.namespaceURI' dans cette spécification.
Obsolete Définition initiale

Compatibilité des navigateurs

Nous convertissons les données de compatibilité dans un format JSON. Ce tableau de compatibilité utilise encore l'ancien format car nous n'avons pas encore converti les données qu'il contient. Vous pouvez nous aider en contribuant !

Fonctionnalité Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Oui)
Pas de support46.0[1]
(Oui) (Oui)[2]
Pas de support 48.0 (48.0)[1]
? ? ?
Fonctionnalité Android Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support ? (Oui) (Oui)[2]
Pas de support 48.0 (48.0)[1]
? ? ?

[1] Cette API a été déplacée vers les API Element et Attr en accord avec la norme DOM4.

[2] Antérieurement à Gecko 5.0 (Firefox 5.0 / Thunderbird 5.0 / SeaMonkey 2.2), cette propriété était en lecture/écriture ; depuis Gecko 5.0 elle est en lecture seule, suivant la spécification.

Voir aussi

 

Étiquettes et contributeurs liés au document

Étiquettes : 
 Contributeurs à cette page : loella16, fscholz, teoli, khalid32, BenoitL
 Dernière mise à jour par : loella16,