100 likes | 184 Views
Support des connaissances TP2 XSL-T. M2 – IO MER. Pierre.sournac@gmail.com. pierretoulouse.free.fr. Ce TP sera réalisé à partir de l’outil NOTEPAD++ et du PLUGIN XML TOOLS Un package portable (utilisable sans installation) est disponible ici. Prise en main. Rappels XSL-T.
E N D
Support des connaissancesTP2XSL-T M2 – IO MER Pierre.sournac@gmail.com pierretoulouse.free.fr
Ce TP sera réalisé à partir de l’outil NOTEPAD++ et du PLUGIN XML TOOLS Un package portable (utilisable sans installation) est disponible ici Prise en main
Rappels XSL-T • « eXtensibleStyleSheetLanguage Transformation » • Une feuille de style XSLT est un document XML • utilisant des éléments du namespace XSL identifié par l’URI ‘http://www.w3.org/1999/XSL/Transform’ • utilisation du préfixe xsl: pour désigner les éléments du namespaceXSLT • Structure Générale : <?xml version=‘1.0’ encoding=‘ISO-8859-1’ ?><xsl:stylesheetversion=‘1.0’ xmlns:xsl =‘http://www.w3.org/1999/XSL/Transform’> ….. …..</xsl:stylesheet>
Rappels XSL-T • Modèle de transformation : les Templates • Le motif permet la sélection d’un groupe de nœuds, auquel une règle sera appliquée • Le contenureprésente le traitement à effectuer pour obtenir la partie de l'arbre résultat correspondant aux éléments spécifiés dans le motif. • Les instructions de traitement : <xsl:templatematch= ‘chemin’ >…le contenu du template…</xsl:template> <xsl:apply-templates>, <xsl:value-of> <xsl:value-of select ="expressionXPath"/>, <xsl:value-of select ="position()"/>, <xsl:value-of select ="//attribute::DateCommande"/> …sont utilisées dans le contenu du template
Comment mettre en pratique • Pour appliquer une transformation xslt, 2 solutions : • On ajoute dans le fichier xml l’appel à la feuille de style via : • Utilisation du plugin dans notepad++ : <?xml-stylesheettype=‘text/xsl’href=‘XXXX.xsl’ ?> Quelque soit la solution choisie, il reste nécessaire d’ouvrir le fichier produit dans un navigateur WEB
EXERCICE 1 : Films.xml • Premier pas : appliquer films_1.xsl à Films.xml • A partir de l’analyse de films_10.xsl, créer un • fichier xsl permettant de lister le titre des films (figure 2). • Pour chaque film, ajouter son genre : • A partir de films_1.xsl et des xsl précédemment réalisé, • créer un xsl permettant d’obtenir le résultat visible sur la figure 3 figure 2 figure 3 Indice : utiliser <xsl:apply-templates
EXERCICE 1 : Films.xml • Afficher les rôles (intitulé) • Afficher les rôles par film • On ajoute ensuite le pays • Et on présente tout cela dans un tableau En bonus le tableau est trié par ordre alphabétique ;-)
Un peu de HTLM Initialisation du tableau Initialisation de la ligne 1 Initialisation d’une colonne <table border="1"> <tr> <td>Nom</td> <td>Prénom</td> <td>Mail</td> <td>Téléphone</td> </tr> <tr> <td>SOURNAC</td> <td>Pierre</td> <td>pierre.sournac@gmail.com</td> <td>0608XXXX78</td> </tr> </table>
EXERCICE 1 : Films.xml • On ajoute le GENRE • Et on colore le tout : Code couleur à utiliser : Drame : bleu Science-fiction : vert Action : rouge Utiliser la balise <font> pour laquelle vous rajouterez l'attribut "color" avec la couleur au format RGB ex : rouge : color="#FF0000", vert : color="#00FF00", bleu : color="#0000FF".
XSLT Tests à choix multiples <xsl:choose> xsl:when+ [xsl:otherwise] </xsl:choose> <xsl:when test = <expression booléenne>> -- Action si Test OK </xsl:when> <xsl:otherwise> -- Action si Test OK </xsl:otherwise> Traitementconditionnel <xsl:iftest =condition> -- traitementsi condition ok </xsl:if> Le fonctionnement d'un choose consiste à étudier une à une les instructions when en évaluant l'expression booléenne associée. Tant que le processeur ne trouve pas une évaluation à vrai, le processus continue. Si aucune des instructions when ne permet d'obtenir une évaluation à vrai, la clause otherwise est alors appliquée si elle existe. Seuls les éléments du modèle de la première instruction when vraie sont instanciés.