Qu'est-ce que l'élément xsl:for-each et à quoi sert-il ?
XSLT, Extensible Style Language Transformations, est un langage de programmation puissant et ouvert aux néophytes. Il permet la transformation d’un document XML dans un autre format. Le document en sortie peut être un fichier binaire, texte, XML ou autres. C’est un langage déclaratif, il utilise les éléments XML et nous allons nous intéresser à l’élément xsl:for-each.
Qu'est-ce que l'élément Xsl:for-each ?
Xsl:for-each est un élément de programmation permettant de réaliser des boucles comportant à l’intérieur des transformations. La syntaxe s’utilise comme suit : <"xsl :for –each select= "x-noeud"> <"/xsl:for-each> (attention quand vous utiliserez ce code, il faudra remplacer <" par <, des problèmes d'affichage m'ont poussé à mettre cette verrue) x-noeud est l'ensemble des nœuds qui seront parcourus par la boucle. XSLT est un langage comportant un ensemble d'éléments pouvant également s'imbriquer. Dans la boucle "xsl:for-each", le programmeur aura, par exemple, la possibilité d'insérer "xsl:sort" afin de trier d'autres éléments. Les possibilités sont nombreuses et bien que ce langage permette de développer des pages web rapidement, les amoureux du code pourront s'en donner à cœur joie car, bien que les éléments XSLT permettent de réaliser un grand nombre de taches, le programmeur devra adapter les ordres de base à ses besoins.
Quelques exemples de programmes
(Attention quand vous utiliserez ce code, il faudra remplacer <" par <, des problèmes d'affichage m'ont poussé à mettre cette verrue).
Voici un exemple d'utilisation avec une boucle simple :
- <"ul>
- <"xsl:for-each select="film">
- <"li><"xsl:value-of select="realisateur" /><"br /><"xsl:value-of select="acteurprincipal" /><"/li>
- <"/xsl:for-each>
- <"/ul> : dans cet exemple, ce code permet d'afficher pour chaque film, le réalisateur et l'acteur principal. L'élément permet d'afficher les valeurs.
Autre exemple de boucle comportant un tri :
- <"ul>
-<"xsl:for-each select=" films ">
- <"xsl:sort select=" realisateur " order="ascending" />
- <"li><"xsl:value-of select=" realisateur " /><"br /><"xsl:value-of select=" acteurprincipal " /><"/li>
- <"/xsl:for-each>
- <"/ul> : Ce code permet d'affiche la liste des films dans l'ordre croissant des réalisateurs.
Quelques exemples d'éléments XSLT
Ceci n'est qu'un échantillon d'éléments XSLT pouvant être utilisés :
- <"xsl:template> définit des règles de transformation à ensemble de nœuds.
- <"xsl:apply-templates> permet d'appliquer un modèle à des nœuds.
- <"xsl:output> permet de définir le format du fichier en sortie.
- <"xsl:if> permet de définir des conditions "si sinon".
- <"xsl:choose> permet de faire des choix.