Transformation XSLT

Étude de cas : comment utiliser XSLT pour convertir XML en XHTML.

Nous expliquerons les détails de cet exemple dans la section suivante.

Déclaration de feuille de style correcte

Déclarer le document comme élément racine de la feuille de style XSL est <xsl:stylesheet> ou <xsl:transform>.

Remarque : <xsl:stylesheet> et <xsl:transform> sont complètement équivalents et peuvent être utilisés indifféremment !

Selon la norme XSLT de W3C, la méthode correcte pour déclarer une feuille de style XSL est :

<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 caractéristiques de XSLT, nous devons déclarer l'espace de noms XSLT en haut du document.

xmlns:xsl="http://www.w3.org/1999/XSL/Transform" pointe vers l'espace de noms officiel de W3C XSLT. Si vous utilisez cet espace de noms, vous devez inclure l'attribut version="1.0".

Commencer à partir d'un document XML original

Nous allons maintenant convertir le document XML suivant ("cdcatalog.xml") en XHTML :

<?xml version="1.0" encoding="ISO-8859-1"?>
<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>

Voir le fichier XML dans Internet Explorer et Firefox :

Ouvrez le fichier XML (généralement en cliquant sur un lien) - Le document XML s'affichera en couleur, avec les éléments racine et enfants. Cliquez sur le plus ou le moins à gauche de l'élément pour développer ou réduire la structure de l'élément. Pour voir le fichier source XML original (sans plus ou moins), choisissez "Voir le code source de la page" dans le menu du navigateur.

Voir le fichier XML dans Netscape 6 :

Ouvrez le fichier XML, puis faites un clic droit dans le fichier XML et choisissez "Voir le code source de la page". Le document XML s'affichera en couleur, avec les éléments racine et enfants.

Voir le fichier XML dans Opera 7 :

Ouvrez le fichier XML, puis faites un clic droit dans le fichier XML et choisissez "Cadre"/"Voir le code source". Le document XML s'affichera sous forme de texte brut.

Voir "cdcatalog.xml".

Créer une feuille de style XSL

Ensuite, créez une feuille de style XSL avec un modèle de transformation ("cdcatalog.xsl"):

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
  <html>
  <body>
    <h2>Ma collection de CD</h2>
    <table border="1">
    <tr bgcolor="#9acd32">
      <th align="left">Title</th>
      <th align="left">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>

Voir "cdcatalog.xsl"

Lier la feuille de style XSL au document XML

Ajouter une référence à la feuille de style XSL pour le document XML ("cdcatalog.xml"):

<?xml version="1.0" encoding="ISO-8859-1"?>
<?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 votre navigateur est compatible avec XSLT, il transformera votre XML sans problème Convertir en XHTML.

Voir le résultat.

Nous expliquerons les détails de l'exemple ci-dessus dans la section suivante.