xsl:variable
Used to declare a variable and give it a value. If it appears at the top level
(immediately within xsl:stylesheet) it declares a global variable, otherwise it declares a
local variable that is visible only within the stylesheet element containing the
xsl:variable
declaration. The value of a variable can be
referenced within an expression using the syntax $name
.
Category: declaration
Category: instruction
Content: sequence-constructor
Permitted parent elements:
xsl:package
; xsl:stylesheet
; xsl:transform
; xsl:override
; xsl:function
; any XSLT element whose content model is
sequence-constructor; any literal result element
Attributes
|
| Defines the name of the variable. |
|
| The value of the variable may be defined
either by an expression within the optional |
|
| Defines the required type of the variable. The supplied value of the variable will be converted to this type if required. |
|
| The value |
|
| New in XSLT 3.0. Allowed only for global
variables (not local variables). Determines the potential visibility of the
component corresponding to this variable; the default is
|
|
| Allows additional type information to be supplied using Saxon extension syntax. For details see saxon:as. |
|
| May be set on
global variables. Setting the value to |
Saxon availability
Available in XSLT 1.0 and later versions. Available in all Saxon editions. Available for all platforms.
Notes on the Saxon implementation
In standard XSLT, variables once declared cannot be updated. Saxon however
provides a saxon:assign extension element to circumvent this restriction. The
extension attribute saxon:assignable must be set to
yes
on the xsl:variable
in order to use this
feature.
Examples
<xsl:variable name="title">A really exciting document</xsl:variable> <xsl:variable name="backcolor" expr="'#FFFFCC'" /> <xsl:template match="/*"> <HTML><TITLE><xsl:value-of select="$title"/></TITLE> <BODY BGCOLOR='{$backcolor}'> ...</BODY></HTML> </xsl:template>