Évaluation de l'unité XML

Devoir à rendre : exercices de travaux pratiques

Date limite : AVANT le lundi 14 novembre 2011 (par groupe de deux étudiants).

Sujet : vous devez me rendre (par mail) une archive ZIP dont le nom est composé à partir de vos noms de famille. Cette archive doit contenir :

Récupérer des données

Cette partie est optionnelle (mais conseillée). Elle est juste prévue pour enrichir votre document XML décrivant le Master Informatique.

Commencez par récupérer le fichier XML décrivant les unités, les parcours et les intervenants du Master Informatique (fichier /home/massat/public/master/donnees.xml). A la fin du deuxième TP, vous avez du concevoir une DTD et un document XML décrivant le Master. Vous pouvez maintenant, à l'aide d'une feuille de style XSL, enrichir votre description en récupérant les informations qui se trouvent dans le document XML récupéré. Attention, ce document n'a pas de structure particulière. Vous devez donc le transformer pour respecter votre DTD.

Voila un petit exemple de feuille de style XSL permettant de reconstruire une unité à partir des informations du fichiers XML donné.

<?xml version="1.0" encoding="iso-8859-1" ?> 

<xsl:stylesheet
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    version="1.0">

    <xsl:output method="xml" indent="yes" />

    <xsl:template match="/">
        <unites>
            <xsl:for-each select="//objet[@type = 'ue']">
                <unite>
                    <id><xsl:value-of select="@id"/></id>
                    <nom><xsl:value-of select="info[@name='nom']"/></nom>
                    <credits><xsl:value-of select="info[@name='credits']"/></credits>
                    <resume><xsl:value-of select="info[@name='resume']"/></resume>
                </unite>
            </xsl:for-each>
        </unites>
    </xsl:template>

</xsl:stylesheet>

Utiliser XQuery

Commencez par suivre le cours sur XQuery disponible sur le site W3Schools. Pour tester les exemples, utilisez le processeur XQuery Saxon (version Home Edition).

Travail à faire : rédiger une requête XQuery permettant de produire une page XHTML qui liste les enseignants avec, pour chacun, les enseignements qu'il assure et les parcours dans lesquels il intervient. Prenez soin de trier tous les résultats.

Attention : prenez soin de me rendre un Makefile autonome qui intègre les ressources (notamment Saxon) nécessaires à son fonctionnement.

Barème

Voila un barème approximatif :