Le langage XSLT (XML Stylesheet Language for Transformation) détermine des règles de style à appliquer à un document XML, en vue d'améliorer sa lisibilité auprès d'utilisateurs.

Le document XML subit une transformation selon les modèles imposés dans une feuille de style XSLT. Le résultat de cette transformation peut prendre différentes formes et donc devenir :

  • un autre document XML, construit suivant une organisantion structurelle propre et en sélectionnant des données précises,
  • un document HTML, élaboré en sélectionnant des données précises, lesquelles sont placées au sein d'un marquage HTML.
  • un document texte, renfermant des données organisées en ligne et en colonne,
  • un document d'un autre format...

La mise en forme d'un document XML en fonction d'une feuille de style est définie par un ensemble d'instructions XSLT formant des modèles qui imposent une nouvelle représentation des données. Les feuilles de style XSLT peuvent être paramétrées, c'est-à-dire, qu'elles dépendent de données extérieures, à l'instar d'une fonction, pour effectuer correctement la transformation.

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="style.xsl"?>
<!DOCTYPE poesie [
 <!ELEMENT poesie (titre,texte,auteur)>
 <!ELEMENT titre (#PCDATA)>
 <!ELEMENT texte (#PCDATA)>
 <!ELEMENT auteur (#PCDATA)>
]>
<poesie>
 <titre>Locution des pierrots</titre>
 <texte>
 Je ne suis qu'un viveur lunaire
 Qui fait des ronds dans le bassin
 Et cela, sans autre dessein
 Que de devenir légendaire.

 Retroussant d'un air de défin
 Mes manches de Mandarin pâle,
 J'arrondis ma bouche et - j'exhale
 Des conseils doux de Crucifix

 Ah! oui, devenir légendaire,
 Au seuil des siècles charlatans !
 Mais où sont les Lunes d'antan ?
 Et que Dieu n'est-il à refaire ?
 </texte>
 <auteur>Jules Laforgue</auteur>
</poesie>

<!-- Feuille de style : style.xsl -->
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
                    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                    xmlns="http://www.w3.org/TR/xhtml1/strict">
  <xsl:output method="html" encoding="ISO-8859-1"/>
  <xsl:template match="/">
   <html>
     <xsl:apply-templates/>
   </html>
  </xsl:template>
  <xsl:template match="poesie">
    <head>
      <title>
        <xsl:value-of select="titre"/>
      </title>
      <meta http-equiv="Content-Type" content="text/xhtml; charset=ISO-8859-1"/>
    </head>
    <body>
      <h2 align="center">
        <xsl:value-of select="titre"/>
      </h2>
      <div align="center">
        <pre>
          <xsl:value-of select="texte"/>
        </pre>
      </div>
      <h4 align="center">
        <xsl:value-of select="auteur"/>
      </h4>
    </body>
  </xsl:template>
</xsl:stylesheet>

<!-- Document HTML résultant -->
<html xmlns="http://www.w3.org/TR/xhtml1/strict">
  <head>
    <title>Locution des pierrots</title>
    <meta http-equiv="Content-Type" content="text/xhtml; charset=ISO-8859-1"/>
  </head>
  <body>
    <h2 align="center">Locution des pierrots</h2>
    <div align="center">
      <pre>
        Je ne suis qu'un viveur lunaire
        Qui fait des ronds dans le bassin
        Et cela, sans autre dessein
        Que de devenir légendaire.
    
        Retroussant d'un air de défin
        Mes manches de Mandarin pâle,
        J'arrondis ma bouche et - j'exhale
        Des conseils doux de Crucifix
    
        Ah! oui, devenir légendaire,
        Au seuil des siècles charlatans !
        Mais où sont les Lunes d'antan ?
        Et que Dieu n'est-il à refaire ?
      </pre>
    </div>
    <h4 align="center">Jules Laforgue</h4>
  </body>
</html>
Sommaire