| Subject: [xsl] How to store a node in a local variable using if or when From: Néstor Boscán <nestor.boscan@xxxxxxxxxx> Date: Thu, 31 Jul 2003 21:57:09 -0400 | 
Hi
I would like to process information from a node that can come from two
different places in the XML tree. Because the processing is the same I
create a variable and with a choice element I will set the variable to
one of the two nodes. So I can figure out only two ways of doing it that
doesn't work. Here are the two examples:
First example use <xsl:value-of>:
<xsl:variable name="node"/>
    <xsl:choose>
        <xsl:when test="condition1">
            <xsl:value-of select="/a/b/c"/>
        </xsl:when>
        <xsl:when test="condition2">
            <xsl:value-of select="/c"/>
        </xsl:when>
    </xsl:choose>
</xsl:variable>
<xsl:for-each select="$node">
    process
</xsl:for-each>
Will not work because <xsl:value-of> only selects strings not nodes. So
<xsl:variable name="node" select="path"/> is not the same as
<xsl:variable name="node"><xsl:value-of select="path"/></xsl:variable>
Second example use "select" attribute in variable:
<xsl:choose>
    <xsl:when test="condition1">
        <xsl:variable name="node"  select="/a/b/c"/>
    </xsl:when>
    <xsl:when test="condition2">
        <xsl:variable name="node"  select="/c"/>
    </xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:for-each select="$node">
    process
</xsl:for-each>
Will not work because variable "node" is out of scope.
Any ideas?
 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
| Current Thread | 
|---|
| 
 | 
| <- Previous | Index | Next -> | 
|---|---|---|
| RE: [xsl] generate-d( ) not working, Michael Kay | Thread | [xsl] FW: How to store a node in a , Néstor Boscán | 
| RE: [xsl] generate-d( ) not working, John | Date | [xsl] FW: How to store a node in a , Néstor Boscán | 
| Month |