Subject: Re: [xsl] RPN calculator From: Oleg Tkachenko <olegt@xxxxxxxxxxxxx> Date: Thu, 02 May 2002 14:32:25 +0200 |
I'm trying to do a simple calculator with XSL. This means that I would like to transform something like (but I can change the source format, this is only an example): <multiply> <arg1>2</arg1> <arg2>3</arg2> </multiply> This should yeld 6, and it's easy. But I would also like to do: <multiply> <arg1> <sum> <arg1>1</arg1> <arg2>2</arg2> </sum> </arg1> <arg2>3</arg2> </multiply> ...and so on, recursively. As with an RPN calculator. This should yeld (1+2)*3=6.
<xsl:template match="multiply"> <xsl:variable name="arg1"> <xsl:apply-templates select="arg1"/> </xsl:variable> <xsl:variable name="arg2"> <xsl:apply-templates select="arg2"/> </xsl:variable> <xsl:value-of select="$arg1*$arg2"/> </xsl:template> <xsl:template match="sum"> <xsl:variable name="arg1"> <xsl:apply-templates select="arg1"/> </xsl:variable> <xsl:variable name="arg2"> <xsl:apply-templates select="arg2"/> </xsl:variable> <xsl:value-of select="$arg1+$arg2"/> </xsl:template>
-- Oleg Tkachenko Multiconn International, Israel
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] RPN calculator, Jeni Tennison | Thread | Re: [xsl] RPN calculator, Siarhei Biarozkin |
RE: [xsl] using mode-values within , ChivaBaba | Date | Re: WG: [xsl] RPN calculator, Jeni Tennison |
Month |