RE: Applying for-each loop to variable that contains r
Hi. > -----Original Message----- > From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of > Shirley Peter > Sent: Wednesday, May 07, 2003 8:08 PM > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: Re: 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
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