Projet XML

Objectifs du projet

Utiliser toutes les technologies XML vues durant les cours et TD : XML, DTD, XSLT (et XPATH), XHTML et CSS.

Mettre en place une chaîne de traitement visant à transformer des documents XML et à les présenter.

Rendu du projet

Le projet (qui se fera par binômes) est à rendre pour le dimanche 29 janvier, minuit (attention, date de rendu repoussée)

Synopsis du projet

La chaîne de traitement que l'on souhaite mettre en place vise à créer un site web d'un vendeur de livres en ligne : il s'agit à partir d'un document XML contenant toutes les informations du catalogue de générer au final d'une part un document HTML représentant le catalogue (comme dans cet exemple), d'autre part des fiches liées à chaque ouvrage (comme dans cet autre exemple). Comme le fichier actuel Sartre.xml est incomplet par rapport à des informations liées à le vente en ligne, la première étape consistera à le compléter.

Le schéma ci-dessous résume l'ensemble des fichiers qui vous sont fournis (en noir), ceux que vous devez créer (en rouge), et les fichiers générés par les transformations (en bleu). La flèche de droite signifie qu'on peut accéder aux fiches individuelles de Fiches.html à partir de Cat.html.

Le travail a effectuer est le suivant :

    1. Ajouter une branche générale à Sartre.xml, qui prenne en compte les informations liées à la gestion de la vente des livres (produits, exemplaires, prix, disponibilité, etc.). Pour cela, commencer par compléter la DTD Sartre.dtd en Sartre2.dtd. Compléter ensuite le document Sartre.dtd pour obtenir Sartre2.dtd.
    2. Créer une feuille de style XSL qui permettra de transformer Sartre2.xml en Fiches.xml. Fiches.xml devra être valide suivant la DTD Fiches.dtd (fournie), et regroupera l'ensemble des informations permettant de générer ensuite Fiches.html (cf. 3.).
    3. Créer une feuille de style permettant de transformer Fiches.xml en Fiches.html, qui contiendra l'ensemble des fiches individuelles de tous les livres (XHTML+CSS). Chaque fiche individuelle sera référencée par l'identificateur du livre (attribut id, ex id="l53"), qui permettra d'y accéder par un lien (cf. 5.).
    4. Créer une feuille de style XSL qui permettra de transformer Sartre2.xml en Cat.xml, qui contiendra toutes les informations permettant de générer la page web catalogue Cat.html (cf. 5). Cat.xml devra être valide suivant la DTD Cat.dtd, qu'il vous faudra construire.
    5. Créer une feuille de style permettant de transformer Cat.xml en Cat.html (HTML+CSS). Cat.html est une page web regroupant l'ensemble des références du catalogue (en version non détaillée). En cliquant sur un ouvrage, on pourra accéder à la fiche individuelle de celui-ci (ex. lien vers Fiches.html#l53).

Les images disponibles pour les couvertures des ouvrages vous sont fournies dans l'archive Couvertures.zip.

Mode de rendu

Chaque binôme enverra à son encadrant de TP (yannick.prie (a) liris.cnrs.fr ou bertrand.richard (a) liris.cnrs.fr) un courrier électronique contenant un fichier attaché au format ZIP.

Le fichier attaché aura pour nom ProjetXML_NOM-etudiant1_NOM-etudiant2.zip.

Il contiendra

Conseils

Avancez petit à petit, testez régulièrement.

Validez vos feuilles de styles CSS et vos fichiers HTML régulièrement sur le site du W3C.

Vérifiez bien votre rapport / site web.