RE: [xsl] variable with node in xsl:choose

Subject: RE: [xsl] variable with node in xsl:choose
From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx>
Date: Tue, 23 Jul 2002 12:51:50 +0100
The solution to this one is devious:

<xsl:variable name="anzrows"
  select="//user/nokeyuser/name[test=$anznokeyuser] |
          //user/keyuser/name[test!=$anznokeyuser]"/>

Of course, in XPath 2.0 you get a proper conditional expression...

Michael Kay
Software AG
home: Michael.H.Kay@xxxxxxxxxxxx
work: Michael.Kay@xxxxxxxxxxxxxx 

> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx 
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of 
> inchi2000@xxxxxx
> Sent: 23 July 2002 10:59
> To: XSL-List@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] variable with node in xsl:choose
> 
> 
> Hello,
> 
> first thanks for your helpful reponse to my old question.
> Now my new one:
> I want to use a variable in a for:each... so it works fine:
> 
> <xsl:variable name="anzrows" select="//user/nokeyuser/name"/>
> <xsl:for-each select="$anzrows">
> 
> But I want the select in the variable choosen by a condition 
> like this:
> 
> <xsl:choose>
>    <xsl:when test="$anznokeyuser > $anzkeyuser"><xsl:variable 
> name="anzrows"
> select="//user/nokeyuser/name"/></xsl:when>
>    <xsl:otherwise><xsl:variable name="anzrows"
> select="//user/keyuser/name"/></xsl:otherwise>
> </xsl:choose>
> 
> I also tried it like this:
> 
> <xsl:variable name="anzrows">
> <xsl:choose>
>    <xsl:when test="$anznokeyuser >
> $anzkeyuser">//user/nokeyuser/name</xsl:when>
>    <xsl:otherwise>//user/keyuser/name</xsl:otherwise>
> </xsl:choose>
> </xsl:variable>
> 
> But this doesn't work because he can't convert #RTREEFRAG 
> into NodeList.
> Maybe you can help another time :)
> 
> Thanks,
> Markus
> 
> -- 
> GMX - Die Kommunikationsplattform im Internet.
> http://www.gmx.net
> 
> 
>  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