Hi.
-----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
Shirley Peter
Sent: Wednesday, May 07, 2003 8:08 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Applying for-each loop to variable that
contains result tree fragment
Apologies - the email wasn't complete ...
I want to use a variable as the context for a for-each
loop.
i.e. <xsl:for-each select="$var">
However the content of this variable is dependent on
some conditions, and therefore the body of the
variable is used to determine this.
e.g.
<xsl:variable name="var">
<xsl:if test="somecondition">
<xsl:value-of select="nodes1"/>
</xsl:if>
<xsl:if test="othercondition">
<xsl:value-of select="nodes2"/>
</xsl:if>
</xsl:variable>
I get an error in the for-each loop: "Can not convert
#RTREEFRAG to a NodeList!"
You could use x:node-set() function (x will depend on your xslt
processor) like:
<xsl:for-each select="x:node-set($var)">
....
</xsl:for-each>
Or do something like:
<xsl:variable name="var" select="nodes1[somecondition] |
nodes2[othercondition]"/>
Hope this helps you.
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list