RE: [xsl] using variables correctly

Subject: RE: [xsl] using variables correctly
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Mon, 2 Jun 2003 16:31:53 +0100
You are very confused. Variables represent values, they do not represent
bits of XPath expressions. They are not macros.

In the expression [../@owner=3] you can replace 3 by a variable
reference, because it is a value. You can also replace ../@owner by a
variable reference, so long as the value of the variable is the node-set
selected by the expression ../@owner - you can't replace it by a
variable whose value is the string "../@owner".

Michael Kay

> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx 
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of 
> Krueger, Philipp
> Sent: 02 June 2003 14:41
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx; 
> xsl-list-digest@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] using variables correctly
> 
> 
> i try to write a dynamical database using xsl-processing and 
> somehow i can't get the variables to work correctly:
> 
> <xsl:if test="$search != ''">
> <xsl:for-each select="database/computer[@owner = $searchparam]">
> 
> the if works, the for works as well, but only if i use 
> "@owner" - if i write the following line "<xsl:for-each 
> select="database/computer[$search = $searchparam]">" ($search 
> is "@owner") the output stays empty... now i
> wonder: why does comparing to a variable work with "xsl:if" 
> but not with "xsl:for-each"? i also tried setting the whole 
> content of the "select"-statement as a variable but that 
> neither worked ($search was "database/computer[@owner = 
> $searchparam]"). i also tried to set $search to $search = 
> "$searchparam" and use that as in "<xsl:for-each 
> select="database/computer[$search]">"but that neither worked. 
> i am desperate
> - can anybody help, please?
> 
> greetings,
> 
> philipp
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread