Module XML

Transcription

Module XML
ESIAL 1A
Module XML
TP3
1. Les outils
a. Outils disponibles
Voici les applications installées à l’ESIAL vous permettant d’éditer des documents XML
Sous Windows, vous pouvez utiliser Cooktop (installé dans toutes les salles windows)
• Edition : Vous avez la possibilité d’insérer un certain nombre de tags déjà définis (par
exemple XSLT) à partir du menu « Code bits » et de mettre votre fichier
automatiquement en forme (F8)
• Vérification /Validation : la vérification et la validation du document se fait à partir
du menu XML (F7)
• Transformation : il est possible d’appliquer au document XML courant une feuille de
style définie dans un onglet différent.
• Paramètres : vous pouvez appliquer vos paramètres directement à partir de l’onglet
xsl avec code bits
Il est aussi possible d’utiliser un navigateur pour valider vos documents et effectuer vos
transformations de manière dynamique. Mais méfiez-vous des résultats que celui-ci peut
fournir car toutes les recommandations ne sont pas toujours bien respectées.
b. Transformation XSL
Statique
Applications
Il est possible d’effectuer des transformations de manière statique :
• Sous windows, en utilisant Cooktop
• Sous unix, en utilisant xsltproc sur Neptune
o
o
xsltproc transformation1.xsl fichier1.xml ou bien
xsltproc transform2.xsl fichier2.xml > output.html
<man xsltproc pour avoir toutes les options>
Dynamique
Navigateur web
Vous pouvez effectuer des transformations dynamiques en local à l’aide d’un navigateur web.
Pour cela, il vous faut dans un premier temps lier une feuille de style à votre document XML.
Rajoutez l’instruction de traitement suivante dans votre fichier XML source:
<?xml-stylesheet type="text/xsl" href="feuille.xsl"?>
Si vous utilisez un navigateur (récent) pour lire le fichier XML, celui-ci utilisera le moteur
XSL à sa disposition pour effectuer la transformation. Les pages HTML générées ne sont pas
accessibles directement.
2. Sujet du TP
a. Travail attendu
A la fin de ce TP, vous devez :
• Savoir modifier un fichier XML (avec un outil adapté)
• Savoir écrire/modifier une DTD
• Savoir vérifier la syntaxe d’un document XML et sa validité
• Savoir appliquer une feuille de style à un document
o De manière statique en utilisant une des applications présentées
o De manière statique en utilisant la libraire xalan
o De manière dynamique avec un navigateur
Une fois que vous aurez créé votre première feuille XSL, assurez-vous d’avoir effectué toutes
ces étapes avant de passer à la suite.
Bien entendu, n’hésitez pas à poser des questions et ne restez pas bloqués sur un point
b. Enoncé : Location de DVDs
Une agence de location souhaite pouvoir suivre l’état de son stock de DVDs.
Chaque DVD est l’exemplaire d’un film (on supposera que l’agence ne dispose pas de plus
d’un DVD par film). Un film est caractérisé par un titre, une année de sortie, un genre, des
acteurs. Chaque acteur est décrit par son nom et prénom. Un DVD et a été emprunté à une
certaine date par une personne dont on connaît le nom, le prénom et l’adresse et doit être
rendu à une certaine date.
L’agence souhaite stocker l’état de son stock et de ses locations dans un fichier XML.
c. DTD
Récupérez le fichier dvd.xml
• Sur neptune : /home/depot//XML/tp3/dvd.xml
• ou bien temporairement sur uranus : windesign/xml/tp3/dvd.xml
Copiez le sur votre compte. Analysez le et vérifiez si il est bien formé (avec cooktop).
Concevez et écrivez une DTD qui sera liée aux fichiers XML devant contenir les informations
de l’énoncé.
Liez le fichier exemple à cette DTD et vérifiez qu’il est bien valide par rapport à celle-ci.
On souhaite rajouter une information concernant les locations. Une amende est associée à
chaque DVD. Récupérez le fichier dvd_amende.xml
Cette amende sera à payer par le client lorsque celui-ci rendra un film en retard.
Modifiez la DTD en conséquence.
d. XML
Complétez le fichier XML pour qu’il soit valide avec cette nouvelle DTD. Vérifiez que le
fichier est bien formé et valide. Pour avoir des résultats similaires entre les différents groupes,
on choisira une amende égale à la position de l’élément DVD (de 1 à 8).
e. XSL
Taches
Affichage vers des pages HTML
-
Ecrire une fichier XSL qui affiche tous les films dans un tableau
Titre
Realisateur Annee genre
acteurs
The Godfather
Coppola
• BrandoMarlon
• PacinoAl
1972 Crime
The Lord of the Rings: The Return of the
Jackson
King
• AstinSean
2003 Fantasy • BloomOrlando
• WoodElija
The Shawshank Redemption
Darabont
1994 Drama
Shichinin no samurai
• ShimuraTakashi
Kurosawa 1954 Action • MifuneToshiro
• InabaYoshio
Casablanca
Curtiz
1942 Drama
Citizen Kane
Orwell
• CottenJoseph
1941 Mystery • ComingoreDorothy
• AgnesMoorehead
Pulp Fiction
Tarantino 1994 Crime
• TravoltaJohn
• JacksonSamuel
Rear Window
Hitchcock 1954 Thriller
• StewartJames
• KellyGrace
-
• RobbinsTim
• FreemanMorgan
• BogartHumphrey
• BergmanIngrid
Ecrire un fichier XSL qui affiche tous les films loués triés selon la date de retour
(modifier le fichier XML pour stocker la date sous la forme jj/mm/aaaa, utiliser pour
cela le contenu du fichier tri_date_dvd)
Titre
Realisateur Annee genre
The Lord of the Rings: The
Jackson
Return of the King
acteurs
date location
• AstinSean
2003 Fantsay • BloomOrlando
• WoodElija
24/07/2003
Pulp Fiction
Tarantino 1994 Crime
• TravoltaJohn
• JacksonSamuel
09/11/2004
The Shawshank Redemption
Darabont
• RobbinsTim
• FreemanMorgan
30/11/2004
Shichinin no samurai
• ShimuraTakashi
Kurosawa 1954 Action • MifuneToshiro
• InabaYoshio
01/12/2004
1994 Drama
Citizen Kane
Orwell
• CottenJoseph
1941 Mystery • ComingoreDorothy 05/12/2004
• AgnesMoorehead
Casablanca
Curtiz
1942 Drama
• BogartHumphrey
• BergmanIngrid
12/12/2004
-
Ecrire un fichier XSL qui affiche toutes les personnes ayant loué un film (on ne se
préoccupera pas des doublons) ainsi que le nombre de DVD loués par cette personne.
Cette liste devra être triée par nom.
-
Ecrire un fichier XSL qui affiche les personnes qui ne sont pas conformes à la
politique de location (c’est à dire qui possèdent un DVD en retard (on supposera être
le 04/12/2004 (utilisez une variable pour la date courante)) (le fichier produit doit
contenir les chaînes Smith et Collins)
-
Ecrire un fichier XSL qui affiche un sommaire constitué des titres des films
disponibles. Chaque titre de film sera lié à une partie du fichier contenant les
informations suivantes :
o Titre du film
o Genre et année
o Liste des acteurs
o Emprunté : oui / non
Traitement
-
Ecrire une feuille de style effectuant les traitements nécessaires pour mettre à jour le
fichier XML lorsqu’une personne rend tous les DVDs en sa possession. La feuille de
style utilisera deux paramètres représentant le nom et le prénom de la personne
rapportant les DVD.
-
Remarque :
o Commencer en utilisant deux variables dont vous donnerez des valeurs par
défaut, puis utilisez des paramètres par la suite.
o Ces paramètres sont déclarés dans la feuille de style (sous-éléments de
l’élément stylesheet)