L'élément <xsl:with-param> permet de déclarer un paramètre à passer à une règle de modèle <xsl:template>.
<xsl:with-param name="nom"> Valeur... </xsl:with-param>
Si l'attribut select est utilisé, alors <xsl:with-param> doit être un élément vide et le contenu de l'attribut sera la valeur du paramètre.
<xsl:with-param select="expression"/>
Cet élément ne peut apparaître que dans les instructions <xsl:call-template> ou <xsl:apply-templates>.
<xsl:call-template select="expression">
<xsl:with-param name="nom">
Valeur
</xsl:with-param>
</xsl:call-template>
Les attributs :
| Attribut | Description |
|---|---|
| name="nom" | affecte un nom au paramètre. |
| select="pattern" | sélectionne un type de noeuds dans l'arborescence du document XML. |
Un paramètre est appelé par l'intermédiaire de son nom, qui doit être précédé du signe dollar ($).
Cet élément ne peut être contenu que par les instructions <xsl:call-template> et <xsl:apply-templates>.
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:variable name="incrementations" select="100"/>
<xsl:template match="/">
<html>
<body>
<table>
<xsl:call-template name="annee"/>
</table>
</body>
</html>
</xsl:template>
<xsl:template name="annee">
<xsl:param name="i">0</xsl:param>
<xsl:param name="bissextile">2000</xsl:param>
<xsl:if test="$bissextile mod 4 = 0
and not($bissextile mod 100 = 0)
or $bissextile mod 400 = 0">
<tr>
<td>L'année "</td>
<td>
<xsl:value-of select="$bissextile"/>
</td>
<td>" est une année bissextile</td>
</tr>
<xsl:text> </xsl:text>
</xsl:if>
<xsl:if test="$i <= $incrementations">
<xsl:call-template name="annee">
<xsl:with-param name="i" select="$i + 1"/>
<xsl:with-param name="bissextile" select="$bissextile + 4"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
</xsl:stylesheet> |