blob: 1311c87a86ef1e1a56911e5c8e3ffb24b1966858 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
---
title: Document.createNSResolver()
slug: Web/API/Document/createNSResolver
tags:
- API
- DOM
- Méthodes
- XPath
translation_of: Web/API/Document/createNSResolver
---
<p>{{ ApiRef("DOM") }}</p>
<p>Crée un <code>XPathNSResolver</code> qui résout les espaces de noms en respectant les définitions dans la portée pour un noeud spécifié.</p>
<h2 id="Syntax">Syntaxe</h2>
<pre class="eval"><em>nsResolver</em> = document.createNSResolver(<em>node</em>);
</pre>
<h3 id="Paramètres">Paramètres</h3>
<ul>
<li><code>node</code> est un noeud à utiliser comme contexte pour la résolution de l'espace de noms.</li>
</ul>
<h3 id="Valeur_retournée">Valeur retournée</h3>
<ul>
<li><code>nsResolver</code> est un objet XPathNSResolver.</li>
</ul>
<h2 id="Notes">Notes</h2>
<p>Adapte n'importe quel noeud DOM pour résoudre les espaces de noms afin qu'une expression <a href="/fr/docs/XPath">XPath</a> puisse être facilement évaluée par rapport au contexte du nœud et son emplacement dans le document. Cet adaptateur fonctionne comme la méthode <code>lookupNamespaceURI</code> du DOM de niveau 3 sur les noeuds lors de la résolution de <code>namespaceURI</code> à partir d'un préfixe donné en utilisant l'information disponible dans la hiérarchie des noeuds au moment de l'appel de <code>lookupNamespaceURI</code>. Résout aussi correctement le préfixe implicite <code>xml</code>.</p>
<p>Notez que XPath définit QNames sans préfixe pour correspondre uniquement aux éléments d'un espace de noms null. XPath n'a aucun moyen de récupérer l'espace de noms par défaut tel qu'il est appliqué à une référence d'élément régulier (par exemple, <code>p[@id='_myid'</code>] pour <code>xmlns='http://www.w3.org/1999/xhtml'</code>). Pour faire correspondre les éléments par défaut dans un espace de noms non nul, vous devez soit faire référence à un élément particulier en utilisant un format tel que <code>*namespace-uri()=http://www.w3.org/1999/xhtml and name()=p[@id='_myid']</code> (<a href="/fr/docs/Web/JavaScript/Introduction_%C3%A0_l_utilisation_de_XPath_avec_JavaScript#Using_XPath_functions_to_reference_elements_with_its_default_namespace">cette approche</a> fonctionne bien pour les expressions XPath dynamiques dans lesquelles les espaces de noms pourraient ne pas être connus), soit utiliser des tests de noms préfixés et créer un résolveur d'espace de nom mappant le préfixe à l'espace de nom. Pour en savoir plus sur <a href="/fr/docs/Web/JavaScript/Introduction_%C3%A0_l_utilisation_de_XPath_avec_JavaScript#Impl%C3%A9mentation_d%27un_r%C3%A9solveur">comment créer un résolveur d'espace de nom défini par l'utilisateur</a> si vous souhaitez adopter cette dernière approche.</p>
<p><code>createNSResolver</code> a été introduit dans DOM Niveau 3.</p>
<h2 id="See_also">Voir aussi</h2>
<ul>
<li><a href="/en/DOM/document.evaluate">document.evaluate</a></li>
<li><a href="/fr/docs/Web/JavaScript/Introduction_%C3%A0_l_utilisation_de_XPath_avec_JavaScript">Introduction à l'utilisation de XPath avec JavaScript</a></li>
</ul>
<h2 id="Specification">Spécifications</h2>
<p><a href="http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator-createNSResolver">DOM Level 3 XPath Specification : createNSResolver</a></p>
|