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 libraryauthor de tout le documentlocation de l'élément librarytitle des éléments bookbook avec un attribut coverbook dont le titre est Artificial Intelligenceauthorbook du premier auteurbook sans attribut coverDonnez 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 r105name
contient la chaine "egg" (utilisez la fonction contains())Etudiez les ressources en ligne associées au chapitre 3.