Vous devez activer Javascript pour accéder à ce site
 

Semaine

RECHERCHE

XPath 2.0 et 3.0

Jusqu'à présent, nous avons présenté XPath 1.0. Il s'agit de la version la plus largement supportée. Elle est la seule version supportée dans tous les grands navigateurs.

XPath 2.0 ajoute de nombreuses fonctions et opérateurs qui simplifient la vie du programmeur tels que empty, exists, intersect, except (pour calculer le complément), deep-equal (pour tester l'égalité entre deux séquences), index-of, reverse, subsequence, insert-before, remove, distinct-values, avg, max, min, etc. Alors que XPath 1.0 ne traite que des nombres, des chaînes de caractères, des valeurs booléennes et des ensembles de nœuds, XPath 2.0 introduit la notion de séquence et plusieurs autres types de données pour noter les notes, la durée, les entiers, les nombres à virgule flottante, etc. XPath 2.0 supporte aussi les expressions régulières avec les fonctions matches, replace, et tokenize. XPath 2.0 intègre maintenant la fonction « document » qui était une fonction XSLT.

XPath 2.0 comprend maintenant un syntaxe if/then/else comme dans cet exemple : « if ( @sexe eq 'm' ) then 'Monsieur' else 'Madame' ». On peut aussi utiliser des boucles : « for $i in //etudiant return $i/note ». On peut vérifier si au moins un (some) ou tous (every) les éléments d'une séquence satisfont une condition: « every $i in //etudiant satisfies $i/note > 0 » ou « some $i in //etudiant satisfies $i/note < 100 ». En somme, XPath 2.0 permet d'effectuer plusieurs traitement qui n'étaient possible qu'avec des instructions XSLT auparavant.

XPath 3.0 quant à lui renforce la notion de fonction en XPath. On peut définir et exécuter ses propres fonctions. Par exemple, on peut définir (en XPath 3.0) une fonction qui ajoute 10 à un nombre: « let $ajoute := function($n) {$n+10} ».


© Daniel Lemire, 2014. Tous droits réservés.