Hi
Citando Néstor Boscán <nestor(_dot_)boscan(_at_)tcs(_dot_)com(_dot_)ve>:
} 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>
}
Try this instead:
<xsl:variable name="node" select="/a/b/c[condition1] | /c[condition2]"/>
you could also use:
<xsl:variable name="node">
<xsl:choose>
<xsl:when test="condition1">
<xsl:copy-of select="/a/b/c"/>
</xsl:when>
<xsl:when test="condition2">
<xsl:copy-of select="/c"/>
</xsl:when>
</xsl:choose>
</xsl:variable
but then you'll have to use a node-set() function to use it:
<xsl:for-each select="fn:node-set($node)">
...
</xsl:for-each>
Hope this helps you.
(...)
Regards,
Americo Albuquerque
___________________________________________________________________
O SAPO já está livre de vírus com a Panda Software, fique você também!
Clique em: http://antivirus.sapo.pt
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list