XSLT <xsl:variable>Élément


XSLT 元素参考手册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

<xsl:variable
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" :

<xsl:variable name="color" select="'red'" />

<xsl:variable name="color" select='"red"' />

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 :

<xsl:variable name="j" />

Exemple 3

L'exemple suivant attribue une valeur à la variable "header" via le contenu de l'élément <xsl:variable> :

<?xml version="1.0" encoding="ISO-8859-1"?>
<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>


XSLT 元素参考手册Référence complète des éléments XSLT Autres extensions