XSLT <xsl:for-each>Élément


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


<xsl:for-each> Élément

L'élément XSL <xsl:for-each> peut être utilisé pour sélectionner chaque élément XML d'un ensemble de nœuds spécifié :

Exemples

<?xml version="1.0" encoding="UTF-8"?> <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>Titre</th> <th>Artiste</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>

Essayez-le vous-même »

Remarque :selectLa valeur de l'attribut est une expression XPath. Cette expression XPath fonctionne comme le repérage d'un système de fichiers, dans lequel les barres obliques (/) sélectionnent les sous-répertoires.


Filtrage de la sortie

En ajoutant un critère à l'attribut select dans l'élément <xsl:for-each>, nous pouvons également filtrer la sortie du fichier XML.

<xsl:for-each select="catalog/cd[artist='Bob Dylan']">

Opérateurs de filtrage autorisés :

  • = (égal à)
  • != (différent de)
  • &lt; (inférieur à)
  • &gt; (supérieur à)

Jetez un coup d'œil à la feuille de style XSL ajustée :

Exemples

<?xml version="1.0" encoding="UTF-8"?> <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>Titre</th> <th>Artiste</th> </tr> <xsl:for-each select="catalog/cd[artist='Bob Dylan']"> <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>

Essayez-le vous-même »

Autres extensions