De l'Aleph à l'@ > L'Informatique > Langages > XPath

XPath

XPath signifie XML Path Language, soit Langage d'adressage XML.
XPath est un langage qui permet d'adresser, de désigner, des objets structurels contenus dans un document XML. Il est conçu pour être utilisé, tant par XSLT que par XPointer ou, encore, par XML Query, qui ajouteront à cette recommandation partagée les fonctionnalités propres qui leurs sont nécessaires. XPath est donc une recommandation de base, externalisée pour être partagée par un ensemble de recommandations de plus haut niveau.
Pour désigner un objet dans un document, XPath propose, d'une part, un langage d'adressage d'objets et, d'autre part, un ensemble de fonctions permettant d'augmenter le pouvoir d'expression du langage.
Le langage d'adressage utilise des chemins, pour désigner un ensemble d'objets ; la désignation de chemins se repose sur des notions d'axes et de sélection.
Plus précisément, un chemin, qui peut être absolu ou relatif, utilise des éléments de localisation (la recommandation parle d'étapes) qui se décomposent en :
- un axe, choisi parmi les attributs (attribute), les fils (child), les parents (parent) ou tous les ancêtres (ancestor), les frères (following-sibling ou preceding sibling), etc. ;
- un test, sur un type de nœud, par exemple, les ancêtres de type chapter (ancestor::chapter) ;
- un ou plusieurs prédicats, par exemple, le dernier des fils de type chapter (child::chapter[position()=Last()]).
Ces étapes se composent entre elles en utilisant l'opérateur '/'. Par exemple, le titre du parent de type chapitre s'écrira ancestor::chapter/titre.

Le résultat d'un chemin d'adressage est un ensemble de nœuds (node set) dans l'arbre XML du document, nœuds qui sont traités ensuite par des processus applicatifs ad hoc, qui intègrent XPath comme chemin d'adressage.
La syntaxe complète de XPath étant, par moment, trop 'verbeuse', la recommandation inclut une syntaxe abrégée, allant directement à l'essentiel. Ainsi, //p sera une abréviation de self::node()/child::p : tous les éléments p contenus dans le sous-arbre en cours d'exploration (utilisation de l'axe self) et, cela, quelle que soit leur position dans ce sous-arbre.
Enfin, pour définir les prédicats, XPath propose un langage d'expressions, utilisant un ensemble de fonctions de base, telles les extractions de chaînes de caractères (concat, contains, start-with, ...) , les explorations de position d'un nœud parmi ses frères (position, last, count, ...), etc.

Le modèle de données d'XPath comporte 7 types de nœuds (Infoset parle d'éléments d'information) : racine, élément, texte, attribut, espace de nom, processing instruction et commentaire.
Les deux différences majeures avec la recommandation Infoset sont, d'une part, que les attributs sont considérés comme étant des nœuds d'arbre (même s'ils ont un statut spécifique, en ce sens qu'ils n'ont pas de fils) et, d'autre part, que les nœuds 'texte', pour XPath, contiennent un ensemble de caractères, alors qu'Infoset distingue chaque caractère individuellement. La recommandation XPath définit alors, en annexe, comment interpréter les nœuds en fonction d'XPath.


Dernière modification :

Logo de la date de modification 10/05/2021 Logo du nombre de vues 540 vues

Bookmark and Share


Cet élément est cité dans l'article suivant :

L'Informatique : XSLT


Cliquez ici pour envoyer un messageVous en savez plus !
Si vous avez d'autres informations, des corrections à apporter à cette page, n'hésitez pas !
Cliquez ici, et envoyez moi vos informations.

La page Facebook du site :
Page FaceBook du site De l'Aleph à l'@

La page Twitter du site :
Suivre le site De l'Aleph à l'@ sur Twitter

CSS Valide !