Dessinez l'arbre XML (au sens du transparent 10 de la fiche 2) de ce
document.
En supposant que l'élément courant est foo
,
quels sont les noeuds appartenant à chacun des 12 axes XPath vus en cours ?
Dessinez l'arbre XML (au sens du transparent 10 de la fiche 2) de ce document.
Donnez les expressions XPath étendues et abrégées désignant :
author
fils de library
author
de tout le documentlocation
de l'élément library
title
des éléments book
book
avec un attribut cover
book
dont le titre est Artificial Intelligenceauthor
book
du premier auteurbook
sans attribut cover
Donnez les équivalents en notation étendue de :
//@foo
.//@foo
/foo/bar/../baz[2]
Cette dernière expression est-elle équivalente à
/foo/baz[2]
? Justifiez votre réponse.
Les expressions XPath
//foo[1]
et /descendant-or-self::foo[position()=1]
ne sont pas équivalentes car la notation étendue associée à //foo[1]
est /descendant-or-self::node()/child::foo[position()=1]
.
Proposez un document XML où l'évaluation de ces expressions XPath
diffère.
Concernant ce recueil de recettes de cuisine, donnez les formes étendues et abrégées des expressions XPath :
ingredient
apparaissant dans le recueil de recettesingredient
composites apparaissant dans le recueilingredient
apparaissant dans le recueil
(utilisez la fonction count()
)ingredient
du document XMLname
du premier noeud ingredient
du document XML (utilisez la fonction
string()
)title
(noms) des recettestitle
des recettescomment
)title
de la recette d'id r105
name
contient la chaine "egg" (utilisez la fonction contains()
)Etudiez les ressources en ligne associées au chapitre 3.