:: Enseignements :: Master :: M2 :: 2008-2009 :: XSLT et schémas XML ::
![[LOGO]](http://igm.univ-mlv.fr/ens/resources/mlv.png) | Recherche d'informations, réorganisation et mise en page XHTML |
Dans ce TD, on s'entraîne à extraire des informations d'un document XML
et à faire des modifications sur un document XML.
Exercice 1 - XPath
A l'aide d'un script XSLT, récupérer dans le fichier
bergman.xml:
- les années des trois mariages d'Ingrid Bergman.
- sa biographie.
- le titre original du film où elle joue le personnage de Charlotte.
- le nom du réalisateur de ce film en utilisant la valeur de l'attribut filmref
- les titres originaux des films sortis en salle après 1980.
- les titres originaux des films sortis en salle entre 1975 et 1985 inclus.
- les dates des titres pour lesquels on a une indication de pays.
- les dates des titres pour lesquels on n'a pas d'indication de pays.
- le résumé du troisième film, dans l'ordre du document, dont le réalisateur est Roberto Rossellini.
Exercice 2 - Recherche d'informations
Ecrire un script qui extrait les informations contenues dans les éléments
role du fichier
bergman.xml.
La sortie sera un fichier texte dans lequel chaque ligne contiendra le titre, l'année et le nom du personnage interprété pour un film donné, sous la forme :
...
Murder on the Orient Express (1974) : Greta
Salute to Orson Welles, A (1975) : Herself
...
Dans un second temps, on triera l'affichage des lignes du film le plus ancien au film le plus récent.
Exercice 3 - Réorganisation
On va écrire un nouveau script
films.xsl qui à partir du fichier
bergman.xml va créer un nouveau document XML qui contiendra les informations contenues dans les éléments
role mais organisées différemment.
Pour chaque élément
role dans
bergman.xml, on veut créer un élément
film dans le document résultat qui contienne les attributs
date et
filmref tirés de
role et ainsi que deux sous-éléments :
-
titre, avec pour contenu celui de l'élément role,
- et personnage, avec pour contenu le nom du personnage interprété tiré de l'attribut personnage de l'élément role.
Ainsi, par exemple l'élément :
<role filmref="f23" personnage="Paula Tessier" date="1961">Goodbye Again</role>
deviendra :
<film filmref="f23" date="1961">
<titre>Goodbye Again</titre>
<personnage>Paula Tessier</personnage>
</film>
Sauver le résultat de la transformation dans un nouveau fichier films.xml.
Exercice 4 - Mise en page XHTML
On va mettre en page au format XHTML les informations contenues dans le nouveau fichier
films.xml à l'aide d'un nouveau script XSLT.
Chaque film sera présenté par une paire de cellules d'un tableau, celle de gauche contenant le titre et l'année du film et celle de droite contenant le nom du personnage interprété.
Chaque colonne comprendra une en-tête avec l'intitulé approprié.
La page XHTML doit contenir un commentaire qui dit qu'elle est engendrée
par votre script XSLT. Elle doit également faire référence à la DTD d'XHTML et avoir l'espace de noms.
Utiliser la
feuille de style CSS du cours pour que le tableau soit sur fond bleu turquoise avec des bordures.
Modifier cette feuille de style pour que les cellules des en-têtes soient sur fond jaune (
yellow).
Leur texte devra être en gras.
Exercice 5 - Bonus
A l'aide d'un script XSLT, récupérer dans le fichier
bergman.xml :
- les personnages qu'elle joue dans ses films sortis en salle entre 1975 et 1985.
- les citations d'elle.
- les noms des réalisateurs de documentaires (c'est-a-dire dont le résumé est [Documentaire]).
- Même question, mais éviter les réalisateurs dont on ne connaît pas le nom,
c'est-à-dire ceux où on a un point d'interrogation à la place du nom.
- Récupérer les titres des films romantiques (les films dont le résumé contient le mot love ou romantic)
© Université de Marne-la-Vallée