Node : méthode lookupNamespaceURI()
Baseline
Large disponibilité
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
La méthode lookupNamespaceURI() de l'interface Node prend un préfixe en paramètre et retourne l'URI de l'espace de noms qui y est associé sur le nœud donné si trouvé (et null sinon). L'existence de cette méthode permet aux objets Node d'être utilisés comme résolveur d'espaces de noms pour XPathEvaluator.createExpression() et XPathEvaluator.evaluate().
Syntaxe
lookupNamespaceURI(prefix)
Paramètres
prefix-
Le préfixe à rechercher. Une chaîne de caractères vide est équivalente à
null, ce qui signifie l'espace de noms par défaut.Note : Ce paramètre n'est pas optionnel, mais peut être défini sur
null.
Valeur de retour
Une chaîne de caractères contenant l'URI de l'espace de noms correspondant au préfixe.
- Retourne toujours
nullsi le nœud est un objetDocumentFragment, un objetDocumentType, un objetDocumentsansdocumentElementou un objetAttrsans élément associé. - Si
prefixest"xml", la valeur de retour est toujours"http://www.w3.org/XML/1998/namespace". - Si
prefixest"xmlns", la valeur de retour est toujours"http://www.w3.org/2000/xmlns/". - Si le
prefixestnull, la valeur de retour est l'URI de l'espace de noms par défaut. - Si le préfixe n'est pas trouvé, la valeur de retour est
null.
Exemples
Note :
Cet exemple s'exécute dans un document HTML, où les attributs xmlns: sont ignorés (sauf xmlns:xlink). Firefox définit tous les URI d'espace de noms des éléments à null, tandis que Chrome et Safari définissent correctement les URI d'espace de noms par défaut des éléments HTML, SVG et MathML. Si vous souhaitez effectuer des tests plus significatifs, vous pouvez ouvrir un document SVG autonome et exécuter des scripts dans son contexte.
<div class="cache">
<div>Test d'élément HTML</div>
<svg>
<text>Test d'élément SVG</text>
</svg>
<svg xmlns:xlink="http://www.w3.org/1999/xlink" id="with-xlink">
<text>Test d'élément SVG avec xlink</text>
</svg>
<math>Test d'élément MathML</math>
</div>
<table>
<thead>
<tr>
<th><code>prefix</code></th>
<th><code><div></code></th>
<th><code><svg></code></th>
<th><code><svg xmlns:xlink></code></th>
<th><code><math></code></th>
</tr>
</thead>
<tbody></tbody>
</table>
const htmlElt = document.querySelector("div");
const svgElt = document.querySelector("svg");
const svgEltXLink = document.querySelector("#with-xlink");
const mathElt = document.querySelector("math");
const tbody = document.querySelector("tbody");
for (const prefix of ["xmlns", "xml", "html", "svg", "xlink", "", null]) {
const row = document.createElement("tr");
tbody.appendChild(row);
row.appendChild(document.createElement("td")).textContent =
JSON.stringify(prefix);
for (const el of [htmlElt, svgElt, svgEltXLink, mathElt]) {
console.log(el, prefix, el.lookupNamespaceURI(prefix));
row.appendChild(document.createElement("td")).textContent = String(
el.lookupNamespaceURI(prefix),
);
}
}
Spécifications
| Spécification |
|---|
| DOM> # dom-node-lookupnamespaceuri> |
Compatibilité des navigateurs
Voir aussi
- La propriété
Node.lookupPrefix - La propriété
Node.isDefaultNameSpace