La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Xpath XML Path language par Yves Bekkers. Plan Pourquoi Xpath ? Syntaxe des expressions de chemin Quelques exemples Opérandes et opérateurs Conclusion.

Présentations similaires


Présentation au sujet: "Xpath XML Path language par Yves Bekkers. Plan Pourquoi Xpath ? Syntaxe des expressions de chemin Quelques exemples Opérandes et opérateurs Conclusion."— Transcription de la présentation:

1 Xpath XML Path language par Yves Bekkers

2 Plan Pourquoi Xpath ? Syntaxe des expressions de chemin Quelques exemples Opérandes et opérateurs Conclusion

3 Pourquoi XPath

4 Déplacements dans un document XML Xpath : –Un langage fonctionnel pour adresser les sous- arbres d'un arbre XML Norme utilisée dans de nombreux outils XML –XSLT : langage de transformation d'arbre XML –Xlink : outils de définition de liens –XQuery : langage d'interrogation de documents

5 Transformation XSLT

6 Problème de repérage Au sein des feuilles de style XSLT –on doit désigner les branches de larbre dentrée (document source) Repère 1 Repère 2 Solution : « expression de chemin »

7 Chemin absolu Codepostal de la carte de visite :

8 Chemin relatif A partir du numéro, la note :../../note

9 Racine dun document La racine dun document est au dessus de lélément racine du document, elle contient –des commentaires éventuels –des instructions de traitements éventuelles –un et un seul élément (lélément racine)

10 Type de nœud dun arbre XPath 1. Nœud « élément » /carteDeVisite/note 2. Pseudo-nœud « attribut » /carteDeVisite/adresse/ville/attribute::codepostal 3. Nœud « texte » /carteDeVisite/note/clé/text()

11 Autres types de nœud Nœud commentaire Nœud instruction de traitement Partie name()Partie text()

12 Syntaxe des expressions de chemin

13 Expression de chemin séquence détapes Chemin absolu –/ étape1 / étape2 / étape3 /... Chemin relatif –étape1 / étape2 / étape3 /...

14 Étape Une étape est composée de trois parties –axe de déplacement (optionnel) –test de nœud (obligatoire) –prédicat (optionnel)

15 Syntaxe dune section Exemple –child::text()[position()=1] –carteDeVisite[nom=Bekkers] –comment() –ancestor::nom –attribut::codepostal La partie test de nœud est obligatoire La partie axe se termine par :: La partie prédicat est délimitée par [ … ] axetestprédicat

16 Axes de déplacement + attribute

17 Partie test Un test cest : –Un nom délément, exemple : ville, prénom –* : nimporte quel élément –text() –comment() –processing-instruction() –processing-instruction(nom) –node() identique à lunion de *, text(), comment() et de processing-instruction()

18 Filtrage à laide du prédicat Filtrage par la position /html/body/p[position()=1] /html/body/p[position()=last()] Filtrage par le contenu /html/body/p[em] 1 1 Une expression Xpath sévalue en un ensemble de nœuds /html/body/p

19 Quelques raccourci

20 Quelques exemples

21 //note/text() //note/text()[position()=1] //nom[.=Bekkers]

22 Quelques exemples

23 Quelques exemples - suite

24 Opérandes et opérateurs

25 Constantes Chaînes –'Paris' –"That's rubbish" –'He said "Boo"' Valeurs numériques –12, 3.05,

26 Prédicat - exemples [.=Bekkers] [nom=Bekkers] [position()=last()-1] [not(position()=1)]

27 Opérateurs Expression numériques : –+, -, *, div, mod –position(), last(), count(nds), –string-length(expr) Expression booléenne : –or, and, not(...), false(), true(), –boolean(...), –=, !=, = (à écrire < et >) Expression nœud –id(chaîne)

28 Opérateurs (suite) Expressions chaîne –string(exp) –concat(exp1, exp2, …) –substring(expr,start), –substring(expr,start,length) –substring-before(expr,expr) –substring-after(expr,expr)

29 Générateur didentificateur generate-id(expr) génère automatiquement un identificateur XML spécifique au premier nœud de lensemble de nœuds donné par lexpression generate-id() génère automatiquement un identificateur XML spécifique au nœud courant

30 Fonction generate-id() Propriétés –Lordre alphabétique des identificateurs est le même qui lordre des nœuds dans le document –Si generate-id(A) est un préfixe de generate-id(B), alors A est un ancêtre de B –Lidentificateur est unique au sein de tous les documents ouverts durant lexécution.

31 Opérateur union Tous les éléments pere ou mere du document //pere | //mere

32 Séquence de plusieurs prédicats le dernier fils du nœud courant pourvu que ce soit un élément « ville » ou un élément « rue » [last()][ville or rue] le dernier des fils « ville » ou « rue » du nœud courant [ville or rue][last()]

33 SELECT DISTINCT de SQL tous les premiers éléments "ville" du document différents les uns des autres //ville[not(text()=preceding::ville/text())] équivalent de not in

34 Conclusion

35 Conclusions Xpath est puissant et indispensable –permet dadresser nimporte quel nœud dun document par sa position ou par contexte Mais Xpath nest pas fait pour remplacer SQL et les bases de données –efficacité ? Dans une feuille de style XSLT, Xpath est rarement employé dans toute sa généralité


Télécharger ppt "Xpath XML Path language par Yves Bekkers. Plan Pourquoi Xpath ? Syntaxe des expressions de chemin Quelques exemples Opérandes et opérateurs Conclusion."

Présentations similaires


Annonces Google