Ensemble de node-sets
Nous n'avons défini jusqu'à présent qu'un seul node-set dans chaque expression. Cependant, on retrouve le plus souvent des applications où plusieurs node-sets sont réunis. Exemple: tous les titres de style musique pop et tous les labels doivent être sélectionnés.
//TITRE[@style="Pop"] | //LABEL
Fonctions XPath
Les fonctions sont utilisées lors d'opérations élargies et de requêtes sur des node-sets, ainsi que pour l'analyse de string concernant les noeuds de texte et les valeurs des attributs. Les fonctions XPath peuvent aussi bien être utilisées dans des expressions XPath que dans des prédicats, comme le montre l'exemple suivant:
Exemple: count(//CHANSON)
//ALBUM[count(CHANSON)>10]
Les fonctions peuvent contenir un argument et retournent toujours une valeur! Dans le premier exemple, la fonction "count" reçoit comme argument un node-set et délivre un node-set comme valeur de retour.
Exemples de fonctions appliquées aux node-sets:
local-name(..) | Affiche le nom des éléments parent comme string en retour. |
//CHANSON[position()=5] (Abréviation [5] ) | Affiche toutes les chansons qui se trouvent en cinquième position à l'intérieur d'autres chansons. |
//CHANSON[position()=last()] | Affiche toutes les chansons ayant la dernière position à l'intérieur d'autres chansons. |
Exemples de fonctions string:
//ALBUM[string-length(TITRE) > 20 ] | Sélectionne tous les albums dont le titre a plus de 20 caractères. |
//ALBUM[starts-with(INTERPRETE,'M')] | Sélectionne tous les albums dont le interprète commence par un "M". |
La fonction générale "not()" est un exemple de fonction fréquemment utilisée et puissante. Cette fonction transforme en négation une expression booléenne. L'exemple suivant décrit son mode d'emploi:
//ALBUM[not(CHANSON)] | Sélection de tous les albums qui ne contiennent pas de chansons comme enfant direct. |
<< précédent |
Copyright © dpunkt.verlag GmbH 2007
Vous pouvez imprimer cette version en ligne pour un usage privé. Par ailleurs, ce chapitre du livre "Professionelle XML-Verarbeitung mit Word" est soumis aux mêmes clauses prévues pour la version papier: L'intégralité de l'oeuvre est protégée par les droits d'auteurs. Tous droits réservés y compris la copie, la traduction, la reproduction sur microfilm, tout comme l'enregistrement et le traitement dans des systèmes électroniques.
dpunkt.verlag GmbH, Ringstraße 19B, 69115 Heidelberg, téléphone +49 (0)6221-14830, fax +49 (0)6221-148399, hallo(at)dpunkt.de