XSLT <xsl:variable>Élément
Référence complète des éléments XSLT
Définition et utilisation
L'élément <xsl:variable> est utilisé pour déclarer des variables locales ou globales.
Remarque :S'il est déclaré comme un élément de niveau supérieur, il s'agit d'une variable globale. S'il est déclaré dans un modèle, il s'agit d'une variable locale.
Remarque :Une fois que vous avez défini la valeur d'une variable, vous ne pouvez pas la changer ni la modifier !
Astuce :Vous pouvez ajouter une valeur à une variable via le contenu de l'élément <xsl:variable> ou via l'attribut select !
Syntaxe
name="name"
select="expression">
<!-- Content:template -->
</xsl:variable>
Attributes
| Attribut | Valeur | Description |
|---|---|---|
| name | name | Requis. Spécifie le nom de la variable. |
| select | expression | Facultatif. Définit la valeur de la variable. |
Exemple 1
Si l'attribut select est défini, l'élément <xsl:variable> ne peut contenir aucun contenu. Si l'attribut select contient une chaîne littérale, la chaîne doit être mise entre guillemets. Les deux exemples suivants affectent la valeur "red" à la variable "color" :
Exemple 2
Si l'élément <xsl:variable> contient uniquement l'attribut name et n'a aucun contenu, la valeur de la variable est une chaîne vide :
Exemple 3
L'exemple suivant attribue une valeur à la variable "header" via le contenu de l'élément <xsl:variable> :
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:variable name="header">
<tr>
<th>Élément</th>
<th>Description</th>
</tr>
</xsl:variable>
<xsl:template match="/">
<html>
<body>
<table>
<xsl:copy-of select="$header" />
<xsl:for-each select="reference/record">
<tr>
<xsl:if category="XML">
<td><xsl:value-of select="element"/></td>
<td><xsl:value-of select="description"/></td>
</xsl:if>
</tr>
</xsl:for-each>
</table>
<br />
<table>
<xsl:copy-of select="$header" />
<xsl:for-each select="table/record">
<tr>
<xsl:if category="XSL">
<td><xsl:value-of select="element"/></td>
<td><xsl:value-of select="description"/></td>
</xsl:if>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Référence complète des éléments XSLT Autres extensions