:: Enseignements :: Master :: M2 :: 2008-2009 :: XSLT et schémas XML ::
![[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 chemins 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 - Corrections
Le fichier
minibergman.xml contient un certain nombre d'informations (en format XML) sur l'actrice Ingrid Bergman, informations tirées de la base internationale en ligne du cinéma (International Movie Database).
Récupérez le fichier et testez à l'aide de la commande suivante s'il est bien formé :
$ java -jar /home/ens/mconstan/xslt/saxon9.jar -s:minibergman.xml -xsl:bf.xsl
Pour cela, vous aurez besoin du script XSLT
bf.xsl et du fichier source
minibergman.xml
Des messages d'erreurs sont alors affichés indiquant la nature et la position des différentes erreurs trouvées.
Editez le fichier et corrigez les erreurs reportées pour obtenir un document XML bien formé.
Exercice 2 - XPath
En utilisant le script XSLT
tp1ex2.xsl et en lançant la commande :
$ java -jar /home/ens/mconstan/xslt/saxon9.jar -o:tp1ex2res.txt -s:bib.xml -xsl:tp1ex2.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
tp1ex2res.txt.
De la même manière, récupérer :
- 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 3 - Copie d'arborescence
Copier l'arborescence correspondant à l'article de E. M. Rodrigues avec toutes ses balises.
Exercice 4 - 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 5 - 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 6 - Vérification d'existence dans le métro
-
Le fichier ligne-7.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 7 - Vérification d'existence
Copier les arborescences de toutes les plantes du catalogue
plant_catalog.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 8 - Enumération des feuilles
Enumérer les éléments du fichier
plant_catalog.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