Re: [xsl] xsl:function, arithmetic

Subject: Re: [xsl] 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

Current Thread