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.
Tip
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 ...
Get Learning XSLT 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.