XSLT <xsl:variable>
The <xsl:variable> element is used to declare a local or global variable.
Syntax
<xsl:variable
name="name"
select="expression">
<!-- Content:template -->
</xsl:variable>Attributes
| Attribute | Value | Required/Optional | Description |
|---|---|---|---|
name |
name | Required | Specifies the name of the variable |
select |
expression | Optional | Defines the value of the variable |
Example
Let's see some examples:
Example 1
If the select attribute is present, the <xsl:variable> element cannot contain any content. If the select attribute contains a literal string, the string must be within quotes. The following two examples assign the value "blue" to the variable "color":
<xsl:variable name="color" select="'blue'" /><xsl:variable name="color" select="'blue'" />Example 2
If the <xsl:variable> element only contains a name attribute, and there is no content, then the value of the variable is an empty string:
<xsl:variable name="myvariable" />Example 3
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:variable name="header">
<tr bgcolor="#6565d5">
<th>Title</th>
<th>Author</th>
</tr>
</xsl:variable>
<xsl:template match="/">
<html>
<body>
<table border="1">
<xsl:copy-of select="$header" />
<xsl:for-each select="bookstore/book">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="author"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>