In this chapter, I delve into some of the most common kinds of transformations you will want to do on datagrams. In the process, we’ll explore several XSLT features and techniques you can use to perform these transformations.
This section explains how to use XSLT variables and how to steer clear of some common traps that first-time XSLT developers run into when trying to use them.
variables allow you to assign a meaningful name to the value of an
XPath expression or result tree fragment and to refer to that value
by name later. The value assigned to a variable can be any of the
four basic XPath data types (
node-set) or a literal tree of XML nodes.
Defining a variable is easy. You just use:
to assign the value of the
to the variable named
varname, or the
varname"> <some> <nodes val="
xx"> <here/> </nodes> </some> </xsl:variable>
If you use the latter syntax, and if the tree of nodes you include
</xsl:variable> is a single
text node like this:
<xsl:variable name="varname">Some Value</xsl:variable>
then this is equivalent to setting the variable to a string value containing the value of that text node.
A common mistake developers make when assigning a string value to a variable is to use:
<xsl:variable name="var" select="MyString"/>
This is not ...