Subject: RE: [xsl] format decimal numbers issue From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Sat, 22 Mar 2008 15:53:19 -0000 |
> <xsl:variable name="tput"> > <xsl:call-template name="display-dec-sec"> > <xsl:with-param name="value" select="$count > div $timeSpan * 1000" /> > </xsl:call-template> > </xsl:variable> So you call display-dec-sec supplying a number, and you get back a string representation such as "5.894 s" > > <td> > <xsl:call-template name="display-dec-sec"> > <xsl:with-param name="value" select="$tput" /> > </xsl:call-template> > </td> Now you're calling display-dec-sec again, only this time you don't supply a number, you supply a string like "5.894 s". > > <xsl:template name="display-dec-sec"> > <xsl:param name="value" /> > <xsl:value-of > select="format-number($value,'#,.000 s')" /> > </xsl:template> > > [xslt] C:\detail.xsl:153: Fatal Error! Cannot convert string "5.894 s" > to a double format-number will try to convert the supplied value to a number before formatting it. But it can't convert "5.894 s" to a number because it is already formatted. Note: the " s" in the picture is in fact legal. I'm less sure about the adjacent "," and ".". It's definitely NOT allowed in XSLT 2.0: "A sub-picture must not contain a grouping-separator-sign adjacent to a decimal-separator-sign.". In 1.0, it's defined by reference to the JDK 1.1 specification, and there's no copy of that available online any more. Michael Kay http://www.saxonica.com/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] format decimal numbers is, Martin Honnen | Thread | [xsl] Style sheet to perform namesp, Farrukh Najmi |
Re: [xsl] Unexpected behavior with , Farrukh Najmi | Date | [xsl] Style sheet to perform namesp, Farrukh Najmi |
Month |