Subject: RE: [xsl] RPN calculator From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx> Date: Thu, 2 May 2002 14:24:06 +0100 |
Looks easy to me: <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> <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="arg1|arg2"> <xsl:apply-templates/> </xsl:template> What's reverse polish notation got to do with it? Michael Kay Software AG home: Michael.H.Kay@xxxxxxxxxxxx work: Michael.Kay@xxxxxxxxxxxxxx > -----Original Message----- > From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of > Costantino.Sertorio@xxxxxxxxxxxx > Sent: 02 May 2002 12:02 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] RPN calculator > > > Hello, > 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. > > Can anybody point me in the right direction? How can I do this? > > Thank you, > > Costantino > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] RPN calculator, Siarhei Biarozkin | Thread | Re: [xsl] RPN calculator, Greg Faron |
[xsl] XSL "Joining", Cooper, John | Date | Re: [xsl] XSL "Joining", David Carlisle |
Month |