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)