XSLT Element
Complete XSLT Element Reference
Definition and Usage
The <xsl:variable> element is used to declare a local or global variable.
Note: If declared as a top-level element, it is a global variable. If declared inside a template, it is a local variable.
Note: Once you have set the value of a variable, you cannot change or modify that value!
Tip: You can add a value to the variable through the content of the <xsl:variable> element or through the select attribute!
Syntax
<xsl:variable
name="name"
select="expression">
<!-- Content:template -->
</xsl:variable>
Attributes
| Attribute | Value | Description |
|---|---|---|
| name | name | Required. Specifies the name of the variable. |
| select | expression | Optional. Defines the value of the variable. |
Example 1
If the select attribute is set, the <xsl:variable> element cannot contain any content. If the select attribute contains a literal string, the string must be quoted. The following two examples assign the value "red" to the variable "color":
<xsl:variable name="color" select="'red'" />
<xsl:variable name="color" select='"red"' />
Example 2
If the <xsl:variable> element only contains the name attribute and has no content, the value of the variable is an empty string:
<xsl:variable name="j" />
Example 3
The following example assigns a value to the variable "header" through the content of the <xsl:variable> element:
<?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>
YouTip