[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Top level variables and parameters
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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|