Chapter 9. XSLT Beyond the Basics

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.

Using XSLT Variables

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.

What Are XSLT Variables?

XSLT 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 (string, number, boolean, and node-set) or a literal tree of XML nodes.

Defining a variable is easy. You just use:

<xsl:variable name="varname" select="XPathExpression"/>

to assign the value of the XPathExpression to the variable named varname, or the alternative syntax:

<xsl:variable name="varname">
  <some>
    <nodes val="xx">
      <here/>
    </nodes>
  </some>
</xsl:variable>

If you use the latter syntax, and if the tree of nodes you include between <xsl:variable> and </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.

Tip

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 ...

Get Building Oracle XML Applications now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.