XSLT- Transformation
Exemple d'étude : Comment transformer XML en XHTML en utilisant XSLT ?
Les détails de cet exemple seront expliqués dans le chapitre suivant.
Déclaration de feuille de style correcte
L'élément racine qui déclare le document comme étant une feuille de style XSL est <xsl:stylesheet> ou <xsl:transform>.
Remarque : <xsl:stylesheet> et <xsl:transform> sont complètement synonymes et peuvent être utilisés !
La manière correcte de déclarer une feuille de style XSL selon la recommandation XSLT du W3C est la suivante :
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
ou:
<xsl:transform version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
Pour accéder aux éléments, attributs et fonctionnalités XSLT, nous devons déclarer l'espace de noms XSLT en haut du document.
Le xmlns:xsl="http://www.w3.org/1999/XSL/Transform" pointe vers l'espace de noms XSLT officiel du W3C. Si vous utilisez cet espace de noms, vous devez également inclure l'attribut version="1.0".
Commencez avec un document XML brut
Nous souhaitons transformer le document XML suivant ("cdcatalog.xml") en XHTML :
<?xml version="1.0" encoding="UTF-8"?>
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
.
.
</catalog>
Affichage des fichiers XML dans IE, Chrome, Firefox, Safari et Opera : Ouvrez le fichier XML (cliquez sur le lien ci-dessous) - Le document XML sera affiché avec les éléments racine et enfant codés par couleur (sauf dans Safari). Souvent, il y a un signe plus (+) ou moins (-) à gauche des éléments sur lesquels vous pouvez cliquer pour développer ou réduire la structure des éléments. Astuce : Pour afficher la source XML brute, cliquez avec le bouton droit sur le fichier XML et sélectionnez "Afficher la source" !
Créer une feuille de style XSL
Ensuite, vous créez une feuille de style XSL ("cdcatalog.xsl") avec un modèle de transformation :
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Title</th>
<th>Artist</th>
</tr>
<xsl:for-each select="catalog/cd">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Lier la feuille de style XSL au document XML
Ajoutez la référence de feuille de style XSL à votre document XML ("cdcatalog.xml") :
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="cdcatalog.xsl"?>
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
.
.
</catalog>
Si vous avez un navigateur compatible XSLT, il transformera joliment votre XML en XHTML.
Les détails de l'exemple ci-dessus seront expliqués dans les chapitres suivants.