[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

[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!


Current Thread