:: Enseignements :: Master :: M2 :: 2008-2009 :: XSLT et schémas XML ::
[LOGO]

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:
  1. les années des trois mariages d'Ingrid Bergman.
  2. sa biographie.
  3. le titre original du film où elle joue le personnage de Charlotte.
  4. le nom du réalisateur de ce film en utilisant la valeur de l'attribut filmref
  5. les titres originaux des films sortis en salle après 1980.
  6. les titres originaux des films sortis en salle entre 1975 et 1985 inclus.
  7. les dates des titres pour lesquels on a une indication de pays.
  8. les dates des titres pour lesquels on n'a pas d'indication de pays.
  9. 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 :

  1. les personnages qu'elle joue dans ses films sortis en salle entre 1975 et 1985.
  2. les citations d'elle.
  3. les noms des réalisateurs de documentaires (c'est-a-dire dont le résumé est [Documentaire]).
  4. 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.
  5. Récupérer les titres des films romantiques (les films dont le résumé contient le mot love ou romantic)