--- title: XPath slug: Web/XPath tags: - CSS Selectors - DOM - JXON - Landing - Path - XML - XPath - XSLT translation_of: Web/XPath ---
XPath est une abréviation pour XML Path Language (qu'on pourrait traduire en français par « langage de chemin XML »). Ce langage utilise une syntaxe non-XML pour cibler différentes parties d'un document XML. Il peut aussi être utilisé pour tester certains nœuds d'un document afin de déterminer s'ils suivent un motif particulier.
XPath est principalement utilisé avec XSLT, mais on peut tout aussi bien l'utiliser afin de naviguer dans le DOM de tout document structuré avec un langage semblable à XML (HTML ou SVG par exemple) grâce à l'interface XPathExpression
. Cela permet d'éviter les méthodes Document.getElementById()
ou ParentNode.querySelectorAll()
ou encore les propriétés Node.childNodes
.
XPath utilise une notation en chemin (à l'instar des URL) pour naviguer dans la structure hiérarchique d'un document XML. Sa syntaxe est qualifiée de « non-XML » car un chemin XPath peut être utilisé au sein d'URI ou de valeurs d'attribut XML.
La prise en charge de XPath est hétérogène. Si l'implémentation de Firefox est relativement correcte (malgré l'absence de volonté de l'améliorer encore), d'autres navigateurs implémentent une surface moindre de ces fonctionnalités (voire aucune). Si vous avez besoin d'une prothèse (polyfill), vous pouvez vous tourner vers js-xpath ou wicked-good-xpath.