L'élément <xsl:for-each> permet d'appliquer des règles de style sur chaque noeud identique d'un template.
Les noeuds sont identifiés par un pattern spécifié par un attribut select d'ailleurs obligatoire.
Les attributs :<xsl:for-each select="pattern"> instructions... </xsl:for-each>
Attribut | Description |
---|---|
select="pattern" | permet de sélectionner une série de noeuds dans un template. |
Evidemment, cet élément ne peut être employé que sur une arborescence dont la structure soit uniforme et connue tel que par exemple un document XML formé à partir de titres et de paragraphes.
Cet élément peut être contenu dans les instructions suivantes :
Cet élément peut contenir les instructions suivantes :
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" media-type="text/html; charset=ISO-8859-1"/> <xsl:template match="/"> <html> <head> <title> La logithèque : les <xsl:value-of select="/logitheque/categorie[position()=6]/@nom"/> </title> </head> <body> <table border="1"> <tr> <th>Logiciel</th> <th>Editeur</th> <th>Lien</th> </tr> <xsl:for-each select="/logitheque/categorie[position()=6]/logiciel"> <tr> <td> <xsl:value-of select="nom"/> </td> <td> <xsl:value-of select="editeur"/> </td> <td> <xsl:choose> <xsl:when test="editeur/@lien != ''"> <xsl:variable name="url" select="editeur/@lien"/> <xsl:value-of select="$url"/> </xsl:when> <xsl:otherwise> <xsl:variable name="url">URL indisponible</xsl:variable> <xsl:value-of select="$url"/> </xsl:otherwise> </xsl:choose> </td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet> |