With Xalan-J 2.7.0 it works fine.
Here is a test case.
Input XML is:
<x>
<price>100</price>
<shipping>a</shipping>
</x>
XSLT stylesheet is:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" />
<xsl:decimal-format name="currency_format" NaN="" />
<xsl:template match="/x">
<xsl:value-of select="format-number(number(price), '##,##.00',
'currency_format')"/>
?<xsl:value-of select="format-number(number(shipping), '##,##.00',
'currency_format')"/>?
(<xsl:value-of select="format-number(number(price+shipping),
'##,##.00', 'currency_format')"/>)
</xsl:template>
</xsl:stylesheet>
The output produced is:
1,00.00
??
()
The error you are getting is due to the fact, that '##,##,.00' is not
the right format pattern. It should be, '##,##.00'
On 4/16/07, Rashmi Rubdi <rashmi(_dot_)sub(_at_)gmail(_dot_)com> wrote:
David,
Thank you for the very useful tip.
I tried the following (with some variations):
<xsl:decimal-format name="currency_format" NaN=""/>
<xsl:value-of select="format-number(number(price),
'##,##,.00',currency_format)"/>
but the above is throwing a
SystemId Unknown; Line #58; Column #102; java.lang.RuntimeException:
ElemTemplateElement error: Malformed format string: ##,##,,00 on
Xalan XSLT 1.0 parser.
I wasn't getting the above error before (when I didn't use the
decimal-format option inside the format-number function.
It could be possible that this is a bug in Xalan according to this post:
http://mail-archives.apache.org/mod_mbox/xml-xalan-cvs/200102.mbox/%3C20010215213041(_dot_)1778(_dot_)qmail(_at_)apache(_dot_)org%3E
I will check with the Xalan mailing list if it is their bug.
-Rashmi
On 4/15/07, David Carlisle <davidc(_at_)nag(_dot_)co(_dot_)uk> wrote:
>
> you can specify the string used for Not a Number using
> xsl:decimal-format, it defaults to 'NaN' but you can make it ''
>
> David
--
Regards,
Mukul Gandhi
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--