L'élément <xsl:param> permet de déclarer un paramètre utilisable par une règle de modèle <xsl:template>.
<xsl:param name="nom"> Valeur... </xsl:param>
La valeur du paramètre se trouve au sein des marqueurs.
Si l'attribut select est employé, alors l'élément <xsl:param> devra être un élément vide.
Les attributs :<xsl:param name="nom" select="expression"/>
| Elément | Description |
|---|---|
| name="nom" | affecte un nom au paramètre. |
| select="expression" | sélectionne la valeur du paramètre dans l'arborescence d'un document XML. |
Dans le cas où le paramètre est déclaré dans l'élément <xsl:stylesheet>, alors il serait valable dans l'ensemble de la feuille.
Déclarée dans une règle de modèle <xsl:template>, le paramètre a une portée locale.
Un paramètre est appelé par l'intermédiaire de son nom qui doit être précédé du signe dollar ($).
Deux éléments <xsl:param> ne peuvent se faire mutuellement référence.
Les paramètres doivent se trouver au sommet de la règle de modèle <xsl:template>.
Les paramètres sont souvent utilisés comme récepteur d'une valeur provenant d'un programme externe.
Cet élément peut être contenu dans les instructions suivantes :
Cet élément peut contenir les instructions suivantes :
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="ISO-8859-1" indent="no"/>
<xsl:template match="/">
<html>
<body>
<table border="1">
<tr>
<th>Nom</th>
<th>Position</th>
<th>Profondeur</th>
<th>Données contenues</th>
</tr>
<xsl:for-each select="//*">
<tr>
<td>
<xsl:value-of select="name()"/>
</td>
<td>
<xsl:value-of select="position()"/>
</td>
<td>
<xsl:call-template name="profondeur"/>
</td>
<td><pre>
<xsl:value-of select="current()"/>
</pre></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
<xsl:template name="profondeur">
<xsl:param name="noeud" select="."/>
<xsl:value-of select="count($noeud/ancestor::node())"/>
</xsl:template>
</xsl:stylesheet> |