xsl-list
[Top] [All Lists]

RE: using variables correctly

2003-06-02 08:31:53
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(_at_)lists(_dot_)mulberrytech(_dot_)com 
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of 
Krueger, Philipp
Sent: 02 June 2003 14:41
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com; 
xsl-list-digest(_at_)lists(_dot_)mulberrytech(_dot_)com
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[(_at_)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[(_at_)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



<Prev in Thread] Current Thread [Next in Thread>