L’élément < xsl : for-each > de XSLT

L’élément < xsl : for-each > de XSLT


XML cours tutorial

Le < xsl : for-each > élément permet de faire une boucle en XSLT.

L’élément < xsl : for-each >

Cet élément de bouclage, crée une boucle dans laquelle on veut appliquer des transformations.

Syntaxe :

<xsl:for-each select="jeunœud"></xsl:for-each>

select correspond au jeu de nœuds devant être parcouru par la boucle.

 

L’élément XSL < xsl : for-each > peut être utilisé pour sélectionner tous les éléments XML d'un jeu de nœud spécifié
Exemple :

Sélectionner le code

  <?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>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>

 
Note : La valeur de l'attribut select est une expression XPath. Une expression XPath fonctionne comme la navigation dans un système de fichiers. Où une barre oblique (/) sélectionne des sous répertoires.

Ffiltrage de la sortie .

Nous pouvons également filtrer la sortie du fichier XML en ajoutant un critère pour l'attribut select dans l’element < xsl : for-each >.
< xsl : for-each = select "catalogue/cd [price = 9.90]" >
La ligne ci-dessous filtre la sortie pour n’afficher que les cd dont le prix est de 9.90
Les opérateurs de filtrage possibles sont :

  • = (égal)
  • ! = (pas égal)
  • & lt ; moins de
  • & gt ; plus de

Jetez un œil à la feuille de style XSL ajusté :
Exemple :

Sélectionner le code

  <?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>Title</th>
        <th>Artist</th>
                <th>Prix</th>
      </tr>
      <xsl:for-each
  select="catalog/cd[price
  = 9.90]">
      <tr>
        <td><xsl:value-of select="title"/></td>
        <td><xsl:value-of select="artist"/></td>
                <td><xsl:value-of
  select="price"/></td>
      </tr>
      </xsl:for-each>
    </table>
    </body>
    </html>
  </xsl:template>
  </xsl:stylesheet>

 



Cours precedent:
cours precedent  Elément XSLT XSL value of
    Sommaire de :
Le langage XML
 Cours suivant:
Elément XSLT XSL sort   cours suivant
Par carabde 10 mai 2014