Télécharger la présentation
Publié parAthanase Delage Modifié depuis plus de 10 années
1
XSLT : trier et mettre en valeur le contenu d’un document XML
Cours d’ initiation : obtenir un document html Olivier Massone
2
XSLT : présentation et formatage des données XML
Olivier Massone / AFPA-DI / octobre 2005
3
XSLT : présentation et formatage des données XML
Olivier Massone / AFPA-DI / octobre 2005
4
XSLT : présentation et formatage des données XML
• est déclaratif au même titre que le html mais ne se soucie pas de la forme des données, • est un langage qui permet de stocker des données de manière structurée, • est régi par des règles strictes et notamment concernant l’ordonnancement des balises qui composent le code. XML • donne lieu à des fichiers pouvant être visualisés via certains navigateurs Web sous la forme d’une arborescence, Olivier Massone / AFPA-DI / octobre 2005
5
XSLT : présentation et formatage des données XML
XPath • est un langage qui permet de se déplacer dans une arborescence et de se placer sur les différents nœuds (balises, attributs,…) de celle-ci, • est développé de manière à ce que l’adressage soit fait de manière absolue ou relative, et contient un certain nombre de « jokers » qui facilitent les requêtes, • comporte un certain nombre de facilités syntaxiques qui permettent de ne pas avoir à rappeler en permanence certains paramètres, • permet l’utilisation de paramètres et de tests afin d’augmenter la précision des requêtes que son utilisation permet de faire. Olivier Massone / AFPA-DI / octobre 2005
6
XSLT : présentation et formatage des données XML
Olivier Massone / AFPA-DI / octobre 2005
7
XSLT : présentation et formatage des données XML
4 2 7 1 3 9 5 8 6 objets > données Olivier Massone / AFPA-DI / octobre 2005
8
XSLT : présentation et formatage des données XML
4 2 7 1 3 9 5 8 6 objets > données Olivier Massone / AFPA-DI / octobre 2005
9
XSLT : présentation et formatage des données XML
objets > données 1 9 3 5 8 6 7 2 4 Tri par forme Olivier Massone / AFPA-DI / octobre 2005
10
XSLT : présentation et formatage des données XML
objets > données Tri par couleur 1 9 3 5 8 6 7 2 4 Olivier Massone / AFPA-DI / octobre 2005
11
XSLT : présentation et formatage des données XML
objets > données Tri par contenu 1 2 3 4 5 6 7 9 8 Olivier Massone / AFPA-DI / octobre 2005
12
XSLT : présentation et formatage des données XML
objets > données Arborescences correspondant aux tris ou ou… Olivier Massone / AFPA-DI / octobre 2005
13
XSLT : présentation et formatage des données XML
objets > données Arborescences correspondant aux tris : XML <racine> <bleu> <carré> 2 </carré> <rond> 7 </rond> <triangle> 4 </triangle> </bleu> <jaune> … </jaune> <violet> … <violet> <racine> < carré > < bleu > 2 </ bleu > < jaune > 3 </ jaune > < violet > 8 </ violet > </ carré > < rond > … </ rond > < triangle > … < triangle > ou Leçon : pour afficher un fichier XML contenant les mêmes données de 2 manières différentes, il faut créer 2 arbres différents ! En effet, les CSS permettent de modifier l’aspect mais pas la structure. Olivier Massone / AFPA-DI / octobre 2005
14
XSLT : présentation et formatage des données XML
objets > données C’est pour répondre à cette problématique qu’a été créé le XSLT*. Le XSLT permet de modifier l’affichage d’un fichier XML : 1- en faisant un tri des données qui le composent. 2- en personnalisant l’affichage (équivalent des feuilles de style). * XSLT : eXtensible Style Language Transformation Olivier Massone / AFPA-DI / octobre 2005
15
XSLT : présentation et formatage des données XML
Olivier Massone / AFPA-DI / octobre 2005
16
XSLT : présentation et formatage des données XML
fonctionnement principes de base La coopération entre un fichier XML et un fichier XSLT se fait de la même manière qu’entre un fichier XML et une feuille de style externe CSS. A aucun moment, le fichier XML n’est modifié dans sa structure. Résultat à l’affichage => Un fichier XSLT est un fichier XML. Il respecte donc les règles propres à ce langage. Olivier Massone / AFPA-DI / octobre 2005
17
XSLT : présentation et formatage des données XML
fonctionnement principes de base Un fichier XSLT est un fichier XML, dans lequel on fait appel à des instructions propres au langage XSLT, que l’on différencie par le moyen du namespace ‘’xsl:’’ => Ces instructions s’appliquent sur des éléments/attributs désignés à l’aide d’un chemin de localisation (ou motif XPath) => Un ensemble d’instructions composent une règle => Les règles s’appellent entre elles et s’appliquent au document XML à transformer. En cas de conflit entre les règles, un système de priorité est établi. A titre d’exemple, la règle la plus spécifique est toujours prioritaire. => Olivier Massone / AFPA-DI / octobre 2005
18
XSLT : présentation et formatage des données XML
fonctionnement principes de base Code XML : organisation administrative de la France < pays> France <région> Ile De France <département code=‘’77’’> Seine et Marne <ville habitants=‘’50000‘’ > Champs sur Marne </ville> <ville habitants=‘’20000‘’ > Lagny sur Marne </ville> </département> <département code=’’94’’>Val de Marne … </ département > </ région > < / pays > Motif XPath : pays/région/département/ville Instruction : <xsl:for-each select=‘’pays/région/département/ville’’> Olivier Massone / AFPA-DI / octobre 2005
19
XSLT : présentation et formatage des données XML
Olivier Massone / AFPA-DI / octobre 2005
20
XSLT : présentation et formatage des données XML
structure d’un document appel de règle(s) exemples Code XSLT : <?xml version="1.0" encoding="ISO "?> <xsl:stylesheet xmlns:xsl=" version="1.0"> <xsl:output method="html"/> <xsl:template match="/"> <xsl:apply-templates/> </xsl:template> </xsl:stylesheet> ATTENTION ajouter une référence au fichier xslt dans le fichier xml : <?xml:stylesheet type="text/xsl" href=''Nom_fichier.xsl''?> info : Une référence à un document XSLT vide devrait donner une page blanche. Cependant, plusieurs règles internes ont été définies par le W3C et s’appliquent si elles ne sont pas redéfinies. Olivier Massone / AFPA-DI / octobre 2005
21
XSLT : présentation et formatage des données XML
structure d’un document appel de règle(s) exemples Un langage déclaratif : l’ordre des règles importe peu Sauf cas particulier, on ne nomme pas une règle pour l’appeler. Cela peut décontenancer mais c’est la (les) règle(s) qui va (vont) se lever d’elle(s) même, en fonction du nœud sur lequel on est situé au moment de l’appel et du type d’appel. On est en présence d’un modèle coopératif. Le codage en est compliqué mais on économise en code. On procède à une sorte de factorisation. 3 types d’appels de règles : 1- appel de toutes les règles du document (cf. slide précédent) : <xsl:apply-templates/> 2- appel de la règle la plus adaptée au motif désigné : <xsl:apply-templates select=motif XPath> 3- appel d’une règle nommée (usage confidentiel) : <xsl:call-template name=NomDeLaRègle> Olivier Massone / AFPA-DI / octobre 2005
22
XSLT : présentation et formatage des données XML
structure d’un document appel de règle(s) exemples XSLT : utilisation de <xsl:apply-templates select=motif> <?xml version="1.0" encoding="ISO "?> <xsl:stylesheet xmlns:xsl=" version="1.0"> <xsl:output method="html"/> <xsl:template match="/"> <xsl:apply-templates/> </xsl:template> redéfinition d’une règle interne <xsl:template match="comment()"> <br/> <xsl:value-of select="."/> </xsl:stylesheet> Olivier Massone / AFPA-DI / octobre 2005
23
XSLT : présentation et formatage des données XML
structure d’un document appel de règle(s) exemples XSLT : utilisation de <xsl:call-template select=motif> <?xml version="1.0" encoding="ISO "?> <xsl:stylesheet xmlns:xsl=" version="1.0"> <xsl:output method="html"/> <xsl:template match="/"> <xsl:call-template name="test"/> </xsl:template> Appel d’une règle nommée <xsl:template match=‘’//comment()’’ name=‘’test ’’> <br/> Le commentaire est : <xsl:value-of select=‘’.’’/> </xsl:stylesheet> Olivier Massone / AFPA-DI / octobre 2005
24
XSLT : présentation et formatage des données XML
structure d’un document appel de règle(s) exemples Exemples supplémentaires >> résultats html 1 - créer une règle qui porte sur les marques de véhicules et qui affiche ces derniers en gras et saute une ligne. Appeler cette règle à partir de la règle principale en lui spécifiant le chemin des 2 roues. 2 - ajouter une règle nommée que vous placerez après la règle sur les marques et qui affiche un message quelconque. Appelez-la à partir de la règle principale. 3 - créer une règle qui affiche les marques de véhicules italiens ainsi que leurs attributs sous forme de tableau ainsi que leur type (moto ou cyclos). On peut constater que la règle se lève où qu’elle soit placée. On s’aperçoit que les priorités entre les règles sont respectées. Olivier Massone / AFPA-DI / octobre 2005
25
XSLT : présentation et formatage des données XML
conclusion annexes présentation du TP Nous avons vu : 1- l’origine et l’utilité de l’XSLT 2-le fonctionnement théorique de l’XSLT 3- les principes de base du langage 4- la structure que devait avoir les documents et pourtant… Tout ceci n’est qu’une goutte d’eau dans la mer du XSLT : 1- il existe de nombreuses fonctions qui augmentent encore la puissance du langage, 2- il est possible de combiner la puissance du langage avec celle d’autres langages comme le VbScript, (cf. ex. de traduction), 3- on peut traiter une feuille XSLT par une autre feuille, 4- il est possible de générer un document XML à partir d’un autre… Olivier Massone / AFPA-DI / octobre 2005
26
XSLT : présentation et formatage des données XML
conclusion annexes présentation du TP Documents et compléments de cours fournis : 1- recommandations du W3C pour le XSLT traduites en français (fichier pdf) 2- liste et syntaxe des instructions les plus courantes (slides suivants) 3- codes source des exemples vu lors de ce cours 4- solutions aux TP proposés Sites Internet conseillés : 1- Site sur les base en XSLT : 2- Traduction en français des recommandations du W3C pour le XSLT : 2- Site comportant de nombreux exemples de code en XSLT : Olivier Massone / AFPA-DI / octobre 2005
27
XSLT : présentation et formatage des données XML
conclusion annexes présentation du TP value-of : permet de récupérer le contenu d'un élément ou un attribut. Syntaxe : <xsl:value-of select="motif XPath"/> for-each : permet d'itérer à partir d'un ou plusieurs critères. Syntaxe : <xsl:for-each select="motif XPath"> instructions </xsl:for-each> if : permet de mettre une condition à la réalisation d'une action. Syntaxe : <xsl:if match="motif XPath"> instructions </xsl:if> Olivier Massone / AFPA-DI / octobre 2005
28
XSLT : présentation et formatage des données XML
conclusion annexes présentation du TP choose : permet de prévoir une liste d'options définissant un choix suivant les différentes valeurs qui peuvent être prises par un élément when ou otherwise. Syntaxe : <xsl:choose> <xsl:when test="motif XPath"> instructions </xsl:when> <xsl:otherwise> autres instructions </xsl:otherwise> </xsl:choose> Olivier Massone / AFPA-DI / octobre 2005
29
XSLT : présentation et formatage des données XML
conclusion annexes présentation du TP Travail à réaliser : 1- dresser un tableau de toutes les marques de véhicules du fichier ainsi que leurs caractéristiques, puis traduire les en-tête de colonne en Espagnol. 2- refaire les exemples vu en cours. Olivier Massone / AFPA-DI / octobre 2005
30
XSLT : présentation et formatage des données XML
Pupitreurs, à vos claviers !!! Olivier Massone / AFPA-DI / octobre 2005
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.