XPath

XPath est un langage (non XML) pour localiser une portion d'un document XML. Initialement créé pour fournir une syntaxe et une sémantique aux fonctions communes à XPointer et XSL, XPath a rapidement été adopté par les développeurs comme langage d'interrogation simple d'emploi.

Syntaxe et sémantique

Une expression XPath est un chemin de localisation, constitué de pas de localisation (appelés également en français étapes [1]). Les pas de localisation sont séparés par le caractère « / ».

Les pas de localisation ont chacun trois composants :

  1. un axe (parent, descendant…) ;
  2. un test de nœud (nom ou fonction désignant les nœuds) ;
  3. des prédicats (entre crochets).

L'axe indique la direction dans laquelle se déplacer dans l'arbre XML, relativement au nœud courant ou depuis la racine. Par exemple, child:: sélectionnera les nœuds enfants du nœud courant. Dans XPath, quand l'axe n'est pas précisé, il s'agit implicitement de l'axe des enfants (child::). Un autre axe largement utilisé est celui des attributs, représenté avec le caractère arobase (@). Il existe en tout 13 axes qui permettent d'exprimer des relations généalogiques, ou qui considèrent l'ordre de lecture du document.

Le test de nœud permet de sélectionner ou non les nœuds en fonction de leur nom ou de leur type. Par exemple le test text() sélectionnera tous les nœuds de type texte (dans l'axe considéré).

Les prédicats sont des expressions plus complexes ; ils sont utilisés pour filtrer les nœuds sélectionnés par l'axe et le test de nœud. Les prédicats sont écrits entre crochets (« [ », « ] »). Si le prédicat est évalué à vrai, les nœuds correspondants seront sélectionnés.

XPath offre ainsi une recherche séquentielle par nœuds. Le résultat de l'évaluation d'une expression XPath est une séquence contenant des nœuds et des valeurs atomiques (textes, booléens…).

En fonction de la nature (nombre, booléen, texte) des valeurs sélectionnées, XPath offre un certain nombre de fonctions. Ces fonctions sont limitées car elles sont plus destinées à être utilisées dans les prédicats que pour effectuer un traitement sur les données sélectionnées.

Les fonctions qui s'appliquent aux nombres les plus utilisées sont : sum(), count() et les opérateurs arithmétiques. Les fonctions qui s'appliquent aux chaines les plus utilisées sont : substring(), string-length(), concat().

Other Languages
bosanski: XPath
čeština: XPath
dansk: XPath
Deutsch: XPath
English: XPath
español: XPath
euskara: XPath
فارسی: اکس‌پت
suomi: XPath
עברית: XSL#XPath
magyar: XPath
Bahasa Indonesia: XPath
íslenska: XPath
italiano: XPath
한국어: XPath
lietuvių: XPath
Nederlands: XPath
polski: XPath
português: XPath
română: XPath
русский: XPath
српски / srpski: XPath
svenska: XPath
Türkçe: XPath
українська: XPath
中文: XPath