Académique Documents
Professionnel Documents
Culture Documents
2
XSL – Feuilles de style pour XML?
3
XSL – Feuilles de style pour XML
4
XSL – Plus qu’un langage de style
5
XSL – Plus qu’un langage de style
XSL :
Langage de feuilles de style pour XML
Langage de programmation implémenté comme sémantique XML.
Issu de DSSSL (Document Style Semantics and Specification
Language),
Norme internationale ISO 10179 de feuilles de style pour les documents
SGML (introduite dans les années 90).
XSLT :
XSLT, version 1.0 : http://www.w3.org/TR/1999/REC-xslt-19991116
"W3C Recommendation" depuis 16 novembre 1999
XSLT, version 1.1 : http://www.w3.org/TR/xsl
"W3C Recommendation" depuis 05 déccembre 2006
XSLT, version 2.0 : http://www.w3.org/TR/xslt20/
"W3C Recommendation" depuis 23 janvier 2007
XSLT, version 3.0 :
https://www.w3.org/TR/2017/REC-xslt-30-20170608/
"W3C Recommendation" depuis 08 juin 2017
6
XSL – Plus qu’un langage de style
7
XSL – quelques règles de syntaxe
8
XSL – quelques fonctionnalités
9
XSLT – quelques fonctionnalités
10
Modèle de traitement
11
Motifs
12
XSLT – quelques fonctionnalités
XSLT peut aussi créer des éléments nouveaux dans le fichier résultat
(output tree), ou encore supprimer des éléments du document source
(input tree)
13
Structure d’un document XSLT
14
Structure d’un document XSLT
Dans notre exemple, la barre oblique entre guillemets "/" signale que
sont concernées toutes les balises du document XML associé et ceci à
partir de la racine (root).
15
Structure d’un document XSLT
xsl:apply-templates :
les éléments concernés peuvent subir un traitement supplémentaire et
pour cela un nouveau gabarit (template) est créé pour chaque élément.
Il sera créé à l’extérieur du premier template.
Sinon, le contenu textuel de l’élément en question sera versé
16
Structure d’un document XSLT
<html>
<body>
Début de la partie HTML qui servira de support pour l’affichage du document
dans le navigateur.
Diverses balises HTML et XSL, par exemple :
<xsl:apply-templates select="exemple/voeux"/>
Cette instruction indique à l’engin XSLT qu'il doit maintenant traiter à cet endroit
l’élément voeux, enfant de l’élément exemple.
La balise <xsl:apply-templates> est fréquemment utilisée car elle permet de
sélectionner un élément du fichier XML associé pour le traiter dans le fichier
XSL.
À l’aide de l’attribut select, on détermine le chemin d’accès vers la balise XML
souhaitée (ici, l’élément voeux).
<hr />
Ici, c’est un élément HTML <hr /> qui est inséré.
</html>
</body>
Fin de la partie en HTML
</xsl:template>
Fermeture de la balise de template (modèle). C’est la fin du "output tree".
17
Structure d’un document XSLT
</xsl:stylesheet>
Fermeture de la balise de déclaration de document XSL.
C’est la fin du document XSL.
18
Structure d’un document XSLT
19
XSLT – quelques exemples
Premier exemple :
Voir exemple xsl : biblio-1.xsl
Voir exemple xml : biblio-1.xml
20
XSLT – quelques exemples
Trier :
<xsl:for-each select="bibliotheque/livre">
<xsl:sort select="titre" order="ascending" />
Voir exemple xsl : biblio-2b.xsl
Voir exemple xml : biblio-2b.xml
Filtrer :
<xsl:for-each select="bibliotheque/livre[auteur='Molière']">
Voir exemple xsl : biblio-3.xsl
Voir exemple xml : biblio-3.xml
21
XSLT – quelques exemples
Choisir : <xsl:if test="@type='P'">
Voir exemple biblio-4.xsl
Voir exemple biblio-4.xml
Nous voudrions produire une liste des livres avec, pour chaque
livre, une mention "Policier" ou "Fiction" selon le type du livre.
Pour ce faire, nous disposons de l'attribut type associé à
chaque élément livre qui contient soit la valeur "p" pour le type
Policier, soit "f" pour le type Fiction.
Remarquez que l'attribut test contient l'expression:
@type='P'
@type='F'
@type='T'
où l'on compare la valeur de l'attribut type à la chaîne de
caractères 'P', 'F' ou 'T'.
Il est à noter que l'élément xsl:if est utilisé seulement à l'intérieur
d'un template.
22
Quelques références
[Comprendre XSLT]
Lazinier, Emmanuel. Comprendre XSLT.
http://www.chez.com/xml/xslt/
http://xml.chez.com/liens/liens-en-3.htm#XSL
Miloslav Nic. Tutoriel XSLT (Traduit par Eric Le Carre)
http://www.zvon.org/xxl/XSLTutorial/Output_fre/index.html
w3schools. XSLT Elements Reference.
https://www.w3schools.com/xml/xsl_languages.asp
[XSLT 1.0]
W3C. XSL Transformations (XSLT) Version 1.0. W3C
Recommendation 16 November 1999.
http://www.w3.org/TR/xslt
[XSLT 1.0 (fr)]
W3C. Transformations XSL (XSLT) Version 1.0. W3C
Recommendation 16 November 1999 (traduction française).
http://xmlfr.org/w3c/TR/xslt/
[XSLT 2.0]
W3C. XSL Transformations (XSLT) Version 3.0
23