xsl-list
[Top] [All Lists]

Re: [xsl] problem with scientific notation and leading whitespaces

2013-07-18 09:11:31
The output, on the evidence supplied, does not conform to either the XSLT 1.0 
or 2.0 specification.

In 1.0 numbers should never be displayed in scientific notation.

In 2.0, there should not be any whitespace added.

So you should raise this as a bug (non-conformance) with whoever (if anyone) 
supports xsltproc. If there's a workaround, that's where you're likely to find 
out about it. Alternatively, switch to a different processor.

Michael Kay
Saxonica


On 18 Jul 2013, at 14:34, Silvio Abruzzo wrote:

Dear All,

I have a problem with the following example

$ cat testLarge.xml
<?xml version="1.0" encoding="utf-8"?>
<Refrigerator>
 <Apples>5000000000</Apples>
 <Bananas>10000000000000000</Bananas>
</Refrigerator>

$ cat testSmall.xml
<?xml version="1.0" encoding="utf-8"?>
<Refrigerator>
 <Apples>5</Apples>
 <Bananas>10</Bananas>
</Refrigerator>


$ cat collect.xslt
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
   <xsl:output method="xml" indent="yes"/>
   <xsl:template match="Refrigerator">
     <xsl:value-of select="Apples * Bananas" />
   </xsl:template>
</xsl:stylesheet>

$ xsltproc collect.xslt testLarge.xml
<?xml version="1.0"?>
5e+25

$ xsltproc collect.xslt testSmall.xml
<?xml version="1.0"?>
50

The problem that you may notice is that when I use testLarge.xml the
resulting value contains a leading whitespace, i.e. it is something
like " 5e+25". Instead, with small numbers I obtain "50" without
leading whitespace.

Is this a bug? Should or could I configure something in order to not
have this problem? I would like to NOT have the leading whitespace.
Note that it is not acceptable to have a function which removes the
whitespace, the reason is that in my real xml file I have already
hundreds of fields and I cannot modify all of them by hand. It would
be acceptable a global solution.

Here my data
$ xsltproc --version
Using libxml 20900, libxslt 10127 and libexslt 816
xsltproc was compiled against libxml 20900, libxslt 10127 and libexslt 816
libxslt 10127 was compiled against libxml 20900
libexslt 816 was compiled against libxml 20900

Thank you very much for your answer.
Kind regards,
Silvio

--
Abruzzo Silvio
silvio(_dot_)abruzzo(_at_)gmail(_dot_)com

--~------------------------------------------------------------------
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>
--~--



--~------------------------------------------------------------------
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>
--~--


<Prev in Thread] Current Thread [Next in Thread>