Subject: Re: xsl:function, arithmetic
From: Mukul Gandhi <mukul_gandhi@xxxxxxxxx>
Date: Mon, 14 Feb 2005 10:00:22 -0800 (PST)
|
Hi Richard,
I am not getting error! The following XSL is working
fine..
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:my="http://whatever"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" />
<xsl:template match="/">
<xsl:value-of select="my:increase(3)" />
<xsl:value-of select="my:increase(10.5)" />
</xsl:template>
<xsl:function name="my:increase">
<xsl:param name="i" />
<xsl:value-of select="round(1.2 * $i)" />
</xsl:function>
</xsl:stylesheet>
For argument 3, I am getting output 4; and for
argument 10.5, I am getting output 13..
I am using Saxon 8.1.1 .
Regards,
Mukul
--- Richard Lewis <richardlewis@xxxxxxxxxxxxxx> wrote:
> Hello,
>
> I'm having a few problems with an xsl:function.
>
> Its supposed to take a numerical parameter and
> return it multiplied by
> 1.2 and rounded:
>
> <xsl:function name="my:increase">
> <xsl:param name="i" />
> <xsl:value-of select="round(1.2 * $i)" />
> </xsl:function>
>
> I've tried added an xsl:message to the function to
> check the XPath
> expression and it seems to be correct, but all the
> expressions in my
> stylesheet which use this function seem to return
> non-numerical results.
> I've also tried just returning the parameter
> unaltered, in which case I
> get no problems. And I've tried things like
> 'select="$i + $i div 5"' but
> still get the problem.
>
> I'm using XSLT2, Saxon 8.2B.
>
> Any ideas?
>
> Richard
__________________________________
Do you Yahoo!?
Yahoo! Mail - 250MB free storage. Do more. Manage less.
http://info.mail.yahoo.com/mail_250
|