XSLT <xsl:variable>Elemento
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
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":
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:
Ejemplo 3
El siguiente ejemplo asigna un valor a la variable "header" mediante el contenido del elemento <xsl:variable>:
<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>
Referencia completa de elementos XSLT Otras extensiones