Re: [xsl] format-number using variable format string

Subject: Re: [xsl] format-number using variable format string
From: "Nick James" <nicholasjames2@xxxxxxxxxxx>
Date: Mon, 10 Sep 2007 11:05:51 +0000

running your stylesheet with saxon8 and 6 respectively produces

$ saxon8 fnum.xml fnum.xsl Warning: at xsl:stylesheet on line 3 of file:/c:/tmp/fnum.xsl: Running an XSLT 1.0 stylesheet with an XSLT 2.0 processor Error XTDE1310: format-number() picture is zero-length Transformation failed: Run-time errors were reported

davidc@souldern /c/tmp
$ saxon fnum.xml fnum.xsl


select="l.000" />

unicode 108 is an l so that's the same as

select="l.000" />

which isn't a legal format string, I think.

err, yes stupid mistake on my part

Unicode for # is 0x23 = 35. using <xsl:variable name="numberFormat" select="&#35;.000" /> gives the output :

$ xsltproc problem.xsl problem.xml
XPath error : Invalid expression
compilation error: file problem.xsl line 5 element variable
xsl:variable : could not compile select expression '#.000'

and this is the same as using a raw hash in the variable declaration. I thought I needed to use the &# notation to get round the problem, but I read the wrong column in the table.

What ouput did you want?

<xsl:variable name="numberFormat" select="'#.000'" />

As I remarked above, this fails on my machine, I would be interested to see your line 6?



in both systems.

and this is exactly what I'm after and cannot get. I find xsl uniformly difficult to achieve basic results with, but the idea is so sweet..

mercifully, before I push the reply button, I notice

<xsl:variable name="numberFormat" select="'#.000'" />
                                                             ^        ^
the inner single quotes save the day - many thanks :-)

The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs.

Don't just search. Find. Check out the new MSN Search!

Current Thread