Chapter 7. Using Variables and Parameters

XSLT offers several ways to bind a name to a value so that the value can be later referenced by name any number of times in a stylesheet. The variable element binds a name to an immutable value once it's been evaluated, while the param element binds a name to a default value, but it's a value you can change. You can define a default value with param and then pass a new value into the stylesheet or to a template. The with-param element allows you to apply or call a template from another template with a new value for one or more parameters, like a method or function call with arguments.

Variables in XSLT are limited in what they can do. They are not like variables in programming languages that you can reassign over and over again. Generally, you will define a variable once and then reference it as often as you want. You will also generally change the default value of a parameter just when you pass a value to a stylesheet or template. There are ways around this, but, by and large, that is how you use them. In this way, XSLT variables are more similar to constants in a programming language than to variables.


You can use the variable and param elements globally on the top-level as stylesheet-wide values, or locally within templates. If a variable is global, its scope is the entire stylesheet; if it is local, its scope is restricted to the template where it is defined or passed in. The with-param element may appear only as an immediate child of an apply-templates template (for processing child templates) or of a call-template element (for processing named templates more on this in Chapter 10). A variable can be of any type Boolean, node-set, number, string, or result tree fragment.

In XSLT 2.0, you will also be able to use with-param as a child of the apply-imports element. You can't do that in XSLT 1.0.


This chapter introduces you to using variables and parameters in stylesheets, both globally and locally. I'll use the general term variable to refer to the values of variable, param, and with-param in this chapter and throughout the book.

You can read about variables and parameters in Section 11 of the XSLT specification.



Learning XSLT
Learning XSLT
ISBN: 0596003277
EAN: 2147483647
Year: 2003
Pages: 164

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net