Re: [xsl] Rounding errors in financial app transforms

Subject: Re: [xsl] Rounding errors in financial app transforms
From: Justin Johansson <procode@xxxxxxxxxx>
Date: Thu, 26 Jul 2007 22:57:32 +0900
Hi Michael & Dimitre,

Dimitre:
>You seem to be un-aware of xs:decimal.

Correct, and was just considering further after posting, that my original apps
were developed with XSLT 1.0 and perhaps I just got into the mode of thinking
that the problem still remained without considering the introduction of
xs:decimal
in 2.0.

BTW. Actually I asked you about BCD in an off-list message but you didn't say
anything about it then.


Michael:
>If you use a schema-aware transformation, with a schema that defines the
>relevant input fields as xs:decimal, then this will tend to happen
>automatically. If you use a non-schema-aware transformation, or if the input
>contains data that isn't validated or isn't validated as xs:decimal, then
>you can achieve the same effect "by hand", for example by writing
>sum(product/sales-value/xs:decimal(.))

Great, that has to be another big plus for a schema-aware processor.  It opens
up new application domains for XSLT.

I know that I'm pushing the application of XSLT probably way beyond the
initial design domain(s) for the language, but it really is the next best
thing
to sliced bread, so that's why I've been attempting to use it real anger.

>Be aware that there can be a performance hit in using xs:decimal compared to
>xs:double, it shouldn't be done unless you actually need it.

Naturally.


Anyway, all, since I've inadvertently overlooked xs:decimal, no doubt others
have also and so this has to be another selling point for XSLT (2.0), even
if not schema-aware by use of Michael's sum()  solution.

Thanks to you both.  Time for a re-read of the spec :-)

Justin Johansson

*** A horse with no name is called Lambda ***

Current Thread