xsl-list
[Top] [All Lists]

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

2007-09-10 04:07:29

Hi,


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(_at_)souldern /c/tmp
$ saxon fnum.xml fnum.xsl

    22,222.444444
    2.5555555
    999,999.444444
    22,222.444444


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
#.000
^
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?

produces

    22222.444
    2.556
    999999.444
    22222.444


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 :-)

NickJ
________________________________________________________________________
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.
________________________________________________________________________

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


_________________________________________________________________
Don't just search. Find. Check out the new MSN Search! http://search.msn.click-url.com/go/onm00200636ave/direct/01/


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