|
Subject: Re: Top level variables and parameters From: Jeni Tennison <mail@xxxxxxxxxxxxxxxx> Date: Wed, 8 Nov 2000 09:59:48 +0000 |
Phil,
> <xsl:param name="myparam"/>
> <xsl:variable name="myvar" select="$myparam"/>
>
> In xt, this works fine. In Xalan 1.0.1, this works fine. However, in Xalan
> 1.2, this gives an error:
> "VariableReference given for variable out of context or without definition!
> Name = myparam, source tree node: #document"
>
> Does anybody know which behaviour is "correct"? ie is it valid to assign top
> level variables using top level parameters? This is useful sometimes, say
> when I pass in a nodeset as a parameter, and want to pick out a subset of
> elements and assign them to a variable. Of course, I'm sure there are
> alternative ways of doing what I want; the point is that I don't want to
> rewrite some existing stylesheets in order to upgrade to Xalan 1.2 and then
> find that this is non-standard behaviour.
The XSLT Rec. says:
"If the template or expression specifying the value of a global
variable x references a global variable y, then the value for y must
be computed before the value of x. It is an error if it is impossible
to do this for all global variable definitions; in other words, it is
an error if the definitions are circular."
http://www.w3.org/TR/xslt#top-level-variables
>From what you have above, it doesn't look as though you have a
circular definition, and $myparam is defined before $myvar, so my
interpretation would be that this is a Xalan 1.2 bug.
Cheers,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Top level variables and parameters, Phil Capon | Thread | RE: Top level variables and paramet, Kay Michael |
| Re[2]: transforming one specific su, Jeni Tennison | Date | Re: text(), David Carlisle |
| Month |