XSLT <xsl:variable>Elemento


XSLT 元素参考手册Referencia completa de elementos XSLT

Definición y uso

El elemento <xsl:variable> se utiliza para declarar variables locales o globales.

Nota:Si se declara como elemento de nivel superior (top-level element), es una variable global. Si se declara dentro de una plantilla, es una variable local.

Nota:¡Una vez que establezca el valor de una variable, no puede cambiar ni modificar ese valor!

Sugerencia:¡Puede agregar un valor a la variable mediante el contenido del elemento <xsl:variable> o mediante el atributo select!


Sintaxis

<xsl:variable
name="name"
select="expression">

<!-- Content:template -->

</xsl:variable>

Atributos

Atributo Valor Descripción
name name Obligatorio. Especifica el nombre de la variable.
select expression Opcional. Define el valor de la variable.

Ejemplo 1

Si se establece el atributo select, el elemento <xsl:variable> no puede contener ningún contenido. Si el atributo select contiene una cadena literal, la cadena debe estar entre comillas. Los dos ejemplos siguientes asignan el valor "red" a la variable "color":

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

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

Ejemplo 2

Si el elemento <xsl:variable> solo contiene el atributo name y no tiene contenido, el valor de la variable es una cadena vacía:

<xsl:variable name="j" />

Ejemplo 3

El siguiente ejemplo asigna un valor a la variable "header" mediante el contenido del elemento <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>Element</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 元素参考手册Referencia completa de elementos XSLT Otras extensiones