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