Des expressions XPath
Nous allons à nouveau
utiliser
xmllint
. Utilisez l'option
--shell
(et le manuel d'aide
man
xmllint
). Vous entrez dans un interprète Xpath qui vous
permettra de vous déplacer dans votre document. La commande
xpath exprXpath
vous permet d'évaluer une
expression XPath, et
cd exprXPath
de vous
déplacer dans le document XML. Utilisez la
commande
help
pour connaître toutes les commandes disponibles.
Sur le document
Spaghetti à la Bolognaise,
utilisez l'interprète XPath de
xmllint
pour
obtenir les éléments suivants :
- ensemble des éléments
ingredient
- les commentaires de la partie
preparation
- les deux derniers commentaires du document
- quel est le nombre de noeuds suivant la première
phase de préparation ?
- quels sont les noeuds suivants la fiche technique ? les
noeuds précédents ?
- combien y-a-t-il de phases de préparation dont le texte
contient moins de 180 caractères ?
On se sert maintenant du document
Grand Prix.
Ecrire les expressions XPath qui retournent (le noeud
contextuel est la racine) :
- tous les noeuds éléments de nom
attr
- tous les noeuds éléments qui ont un attribut
order
- le fils de nom
attr
de cast
- le premier fils de nom
name
d'un Composer
- le noeud attribut de nom
Crew
(attribut de filmography
)
- le quatrième fils de
filmography
- les quatre premiers fils de
filmography
- les noeuds attributs de nom
order
- le noeud contextuel étant maintenant
remainder
,
retournez le sous-arbre de racine Editor
- le nombre d'acteurs de premier plan (cité dans
cast
)
- le nombre total de comédiens
(
cast
, remainder
, miscellaneous
)
- une chaîne de caractères présentant le
film : titre (année) - réalisateur
- l'ensemble des intervenants dont le prénom est Bob
Vous trouverez en annexe un document de
recettes de cuisine danoise.
Donnez les expressions XPath qui retournent (à
partir du noeud racine, sauf indication contraire) :
- les noeuds éléments dont le nom est preparation;
- les ingrédients de la tarte à la ricotta (ricotta pie) dont l'unité de mesure
est la petite cuiller (teaspoon);
- le nombre d'étapes de préparation de la recette de la tarte à la
ricotta ;
- le nom du quatrième ingrédient de la garniture
(filling) de la tarte à la ricotta.
- à partir du noeud ingredient de la ricotta
(name="ricotta cheese"), les autres ingrédients de le
recette de la tarte à la ricotta dont la quantité est supérieure ou
égale à 2;
- tous les titres des recettes dont le
nombre de calories est inférieure à 1200;
- le nom du quatrième ingrédient de la pâte
(dough) de la tarte à la ricotta;
- toutes les étapes (step) qui
contiennent le mot bake.
- le nombre de calories
moyen d'une recette.
- le nombre moyen d'oeufs par recette
(attention, il s'agit de retrouver les ingrédients qui
contiennent le mot eggs).
Un peu de transformation...
Créez une première feuille de transformation qui
transforme la recette de spaghetti en un document html
(XHTML) qui contient simplement le texte Ceci est une
recette de cuisine
. Associez votre document xml à
cette feuille de transformation et visualisez-la avec Firefox.
Créez une vraie feuille de transformation pour
obtenir un document Xhtml à partir de la recette
(aujourd'hui, vous oublierez les informations dans les attributs).