Page:
1 | 2
| 3 | 4 | 5
Utilisation de XSLT
XSL (Extensible Stylesheet Language) est un ensemble de spécifications
destinées à afficher un document XML. En particulier, XSLT (XSL
Transformations) s'attache à transformer un document XML en "quelque
chose d'autre", par exemple une page HTML.
Une "feuille de style" XSLT contient un ou plusieurs "templates"
(modèles) décrivant les opérations de transformations à effectuer
pour des composants particuliers du document XML.
Une première méthode consiste a lier directement le document XML
à la feuille de style XSL par l'intermédiaire de la "processing
instruction" suivante :
<?xml-stylesheet type="text/xsl" href="Liste.xsl"?>
La transformation sera alors réalisée automatiquement par le navigateur.
Il est à noter que cette fonctionnalité n'est disponible que depuis
IE5. Cette version prenait en compte une ancienne version de XSL.
La dernière implémentation, XSLT, n'est disponible qu'avec IE6,
ou en
utilisant MSXML 3 en mode "Replace".
Transformation explicite par code
La seconde méthode consiste à intégrer le code HTML issu de la
transformation par la feuille de style XSL dans un document HTML.
Deux objets XML sont créés, l'un contient les données XML et l'autre
le template XSL.
La méthode transformNode permet d'effectuer la transformation en
appliquant le template XSL au document XML.
<SCRIPT LANGUAGE="JavaScript" FOR="window" EVENT="onload">
var DocXML = new ActiveXObject("Microsoft.xmldom");
DocXML.load("liste.xml");
var FileXSL = new ActiveXObject("Microsoft.xmldom");
FileXSL.load("XSLListe.xsl");
document.all.item("ConteneurDIV").innerHTML =
DocXML.transformNode(FileXSL.documentElement);
</SCRIPT>
Exemple de la feuille de style XSL
L'attribut " match= / " du template identifie la racine
du document XML. Dans ce modèle chaque livre est traité. L'élément
<xsl:for-each ></xsl:for-each > permet d'identifier
par un pattern donné, tous les livres de la liste et d'y appliquer
une règle d'affichage.
L'élément <xsl:value-of/> permet de retourner la donnée
XML pointé par l'attribut select.
<?xml version="1.0"?>
<!-- Nom du Fichier: XSLListe.xsl -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/developpeur/">
<H2>Liste des livres</H2>
<TABLE BORDER="1" CELLPADDING="5">
<THEAD>
<TH>Titre</TH>
<TH>Auteur</TH>
<TH>Edition</TH>
<TH>Pages</TH>
<TH>Prix</TH>
</THEAD>
<xsl:for-each select="LISTE/LIVRE">
<TR ALIGN="CENTER">
<TD>
<xsl:value-of select="TITRE"/>
</TD><TD>
<xsl:value-of select="AUTEUR"/>
</TD><TD>
<xsl:value-of select="EDITION"/>
</TD><TD>
<xsl:value-of select="PAGES"/>
</TD><TD>
<xsl:value-of select="PRIX"/>
</TD>
</TR>
</xsl:for-each>
</TABLE>
</xsl:template>
</xsl:stylesheet>
Avantages
- Séparation des données et de la mise en forme
- La mise en forme est prise en charge par une technologie indépendante
du DOM
- Richesse du langage XSLT
- Possibilité d'exécuter la transformation côté serveur, si le
client ne permet pas l'utilisation de MSXML.
- Langage standard (spécifications du W3C : www.w3.org/Style/XSL)
Inconvénients
- Complexité du langage XSLT
- Restriction pour la version d'Internet Explorer 5.0 ou plus.
Page:
1 | 2
| 3 | 4 | 5
|