Le langage XSL
Un premier document XSL

Home

Principe de fonctionnement

Avant de débuter, il est utile de préciser :

  1. que le XSL est dérivé du XML. Le document XSL reprend donc la structure et la syntaxe de n'importe quel document XML.
  2. que le document XSL comporte un document Html ou Xhtml qui sera quant à lui reconnu par le navigateur et qui servira de support à tout ou partie des données du document XML associé.
  3. que le XSL fonctionne avec une ou plusieurs "templates", sorte de gabarit pour définir comment afficher des éléments du fichier XML. Les éléments concernés du fichier XML sont déterminés par l'attribut "match".


 

Voici un premier document XSL.

Rien de bien compliqué mais ce document sera étoffé en cours d'étude.
 

<?xml version="1.0"?>
  Le XSL est dérivé du XML. Il est normal que le document XSL commence par la déclaration de document XML, soit <?xml version="1.0"?>.
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
  La seconde ligne déclare que le document est du XSL extensible stylesheet.

L'attribut xmlns fait référence au "namespace" utilisé. Le namespace officiel du W3C est xmlns:xsl="http://www.w3.org/1999/XSL/Transform. Pour la petite histoire 1999 fait référence à l'année d'apparition du concept XSL. Le xmlns (incorrect) de Microsoft IE soit xmlns:xsl="http://www.w3.org/TR/WD-xsl"> est dû au fait que le XSL a été implanté dans Internet Explorer 5.0 alors qu'il n'était encore qu'en cours d'élaboration [working draft] par le W3C.

<xsl:template match="/">
  Voila une balise template et son attribut match.

Cette balise template va déterminer un gabarit dans lequel on va transformer des éléments du fichier XML sous une forme que le navigateur pourra afficher.

Les éléments du fichier XML sont déterminés par l'attribut match="/". Le slash / entre guillemets signale que sont concernées toutes les balises XML du document associé à partir de la racine [root].

<html>
<body>
  Début de la partie Html qui servira de support pour l'affichage du document dans le navigateur. Attention, balises en minuscules !
Diverses balises Html et XSL... Par exemple :
<xsl:value-of select="chemin d'accès/élément"/>
  La balise <xsl:value-of> sera fréquement utilisée car elle permet de sélectionner un élément du fichier XML associé pour le traiter dans le fichier XSL. Dans l'attribut select, on détermine le chemin d'accès vers la balise XML souhaitée (puisque le XML est structuré) comme le chemin d'accès de répertoire en sous-répertoire vers un dossier. Attention, on utilise bien ici le "forward slash" soit / .
</body>
</html>
  Fin de la partie en Html.
</xsl:template>
  La fermeture de la balise de template.
</xsl:stylesheet>
  Le document XSL se termine obligatoirement par la fermeture de la balise de déclaration de document XSL.

Attention ! Pour que ce fichier XSL soit d'une quelconque utilité, il faut encore faire référence, dans le fichier XML au fichier XSL.

On ajoutera donc dans le fichier XML :

<?xml-stylesheet type="text/xsl" href="nom_du_fichier_xsl.xsl"?>
  Cette balise indique au navigateur qu'une feuille de style [stylesheet] est associé au fichier XML et qu'il doit aller chercher le fichier de style à l'adresse indiquée par l'attribut href.


 

Un exemple ?

Passez vite à la page suivante pour découvrir un exemple détaillé.