:: Enseignements :: Master :: M2 :: 2009-2010 :: Schémas XML et XSLT ::
![[LOGO]](http://igm.univ-mlv.fr/ens/resources/mlv.png) | XSLT, XPath et appel de règles |
Le but de ce TP est de prendre en main le langage XSLT
en utilisant notamment des expressions XPath et des appels de règles.
Nous verrons également la vérification d'existence de noeuds et les opérations
arithmétiques.
Exercice 1 - Expressions XPath
En utilisant le script XSLT
ex1.xsl et en lançant la
commande :
$ java -jar /home/ens/mconstan/xslt/saxon9.jar -o:ex1res.txt -s:bib.xml -xsl:ex1.xsl
on récupère le titre de l'article de
S. Akiyama dans la
bibliographie
bib.xml et on place
le résultat dans le fichier
ex1res.txt.
De la même manière, écrire des scripts qui récupèrent :
- le titre de l'article de E. M. Rodrigues ;
- l'auteur de l'article Unambiguous automata on bi-infinite
words ;
- les années des livres d'Etienne Duris ;
- la maison d'édition (publisher) de Algebraic
Combinatorics on Words.
Exercice 2 - Copie d'arborescence
Ecrire un script XSLT qui copie l'arborescence correspondant à l'article de E. M. Rodrigues
avec toutes ses balises.
Exercice 3 - Appel de règle
-
Récupérer les titres de tous les articles de conférence (balise
inproceedings) de Maxime Crochemore.
Dans votre résultat, chaque titre sera suivi d'un point-virgule et
optionnellement d'un retour à la ligne.
Indication : une même règle (template) sera exécutée pour chacun
des articles de cet auteur par le processeur XSLT.
-
Même exercice mais pour chaque article, on copie toute l'arborescence avec
les balises.
Indication : pour que le résultat soit un fichier XML bien formé, il faut
ajouter un élément racine unique.
Exercice 4 - Comptage, opérations arithmétiques et fonctions XPath sur chaînes de caractères
- Ecrire un script XSLT qui calcule le nombre total de publications
(articles, livres, etc.) de Julien Cervelle
- Calculer le nombre moyen d'auteurs dans les publications de
Julien Cervelle
- Calculer le nombre de publications dont les auteurs commencent par
Christophe
-
Récupérer les titres des articles d'Etienne Duris et
supprimer les caractères '$' et '^'.
Indication : utiliser la fonction Xpath translate.
Exercice 5 - Vérification d'existence dans le métro
-
Le fichier tableau-metro.xml
contient un tableau HTML dont certaines cellules (td) sont
balisées <strong>.
Copier les arborescences correspondant aux lignes de tableau
(tr) contenant ce type de cellule.
Faire en sorte que si la balise <strong> ne contient pas de texte,
la ligne correspondante ne soit pas copiée.
Exercice 6 - Vérification d'existence
Copier les arborescences de toutes les plantes du catalogue
catalogue-plantes.xml
qui sont disponibles en mars 99 (balise
AVAILABILITY).
Indication : utiliser les fonctions Xpath
substring et
concat pour mettre les dates au bon format.
Exercice 7 - Enumération des feuilles
Enumérer les éléments du fichier
catalogue-plantes.xml qui n'ont
pas d'élément fils et qui contiennent un texte de plus de 15 caractères.
- Copier chacun d'entre eux avec ses balises et son contenu.
- Pour chacun, écrire dans le fichier résultat seulement le nom de
l'élément.
© Université de Marne-la-Vallée