[xsl] format-number issue in XSLT 1.0
Subject: [xsl] format-number issue in XSLT 1.0
From: Jack Matheson <jack@xxxxxxxxxxxxxx>
Date: Wed, 13 Jul 2005 11:24:08 -0500
|
I'd like to get a ruling from the experts on Xalan conformance test
numberformat31:
<xsl:decimal-format minus-sign="_" />
<xsl:template match="doc">
<out>
<xsl:value-of select="format-number
(-26931.4,'###,###.###;###,###.###')"/>
</out>
</xsl:template>
Xalan 2.6 emits
<out>_26,931.4</out>
..while Saxon emits
<out>26,931.4</out>
After referencing the JDK 1.1 specification for DecimalFormat, I
noticed this:
If there is an explicit negative subpattern, it serves only to
specify the negative prefix and suffix; the number of digits, minimal
digits, and other characteristics are all the same as the positive
pattern. That means that "#,##0.0#;(#)" produces precisely the same
behavior as "#,##0.0#;(#,##0.0#)".
Doesn't this mean that the default prefix of "_" should not be used
because the explicit negative subpattern declared an empty prefix and
suffix?
I wasn't sure if this was a special case, as the Oasis reference
files seem to agree with Xalan.
Any help is appreciated!