Re: [xslt] Problem with variables



Igor,

>From the XSLT 1.0 spec "The format pattern string is in the syntax specified by 
the JDK 1.1 DecimalFormat class.", which means:
%      multiply by 100 and show as percentage

Charlie B.

Quoting Igor Zlatkovic <igor@stud.fh-frankfurt.de>:

> Hello,
> 
> strange, when I run it, I get
> 
>   C:\Home\Igor\tmp>xsltproc b.xsl a.xml
> 
>     %25
>     %25.5
>     %25.480
>     %25.48
>   C:\Home\Igor\tmp>
> 
> But, I am using the current CVS version, not the 2.4.21 release. Perhaps
> the
> problem you are having is gone in the meantime.
> 
> I would ask a question: I am puzzled about the meaning of the '%'
> character
> in the format string. My book says that per-cent and per-mille
> characters
> are allowed, but does not say what they are for, neither it provides
> an
> example. To make things more puzzling, MSXSL gives a different result:
> 
>   C:\Home\Igor\tmp>msxsl -u 4.0 a.xml b.xsl
> 
>     %
>     %.3
>     %.255
>     %.2548
>   C:\Home\Igor\tmp>
> 
> Now, can someone tell me what the per-cent and per-mille characters in
> the
> format string mean? Which processor from the two above produced the
> correct
> result?
> 
> Ciao
> Igor
> 
> 
> > Can someone suggest whats going wrong here? I've had a look through
> the
> > libxslt code, but can't find anything obvious.
> >
> > (Using Igor's Win32 binaries libxml2.2-4-21, libxslt1.0.17 on
> Win2000)
> >
> > a.xml:
> > <?xml version="1.0"?>
> > <AAA author="nicmila@idoox.com">
> >      <BBB>bbb</BBB>
> >      <CCC>ccc</CCC>
> > </AAA>
> >
> > b.xsl:
> > <?xml version="1.0"?>
> > <xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
> > version="1.0">
> > <xsl:output method="text"/>
> > <xsl:variable name="G">0.2548</xsl:variable>
> > <xsl:template match="/">
> >   <xsl:text>
> >   </xsl:text>
> >   <xsl:value-of select="format-number($G,'%')"/>
> >   <xsl:text>
> >   </xsl:text>
> >   <xsl:value-of select="format-number($G,'%#.#')"/>
> >   <xsl:text>
> >   </xsl:text>
> >   <xsl:value-of select="format-number($G,'%#.000')"/>
> >   <xsl:text>
> >   </xsl:text>
> >   <xsl:value-of select="format-number($G,'%#.#####')"/>
> > </xsl:template>
> > </xsl:stylesheet>
> >
> > C:\libxml\libxslt-1.0.17.win32\util>xsltproc b.xsl a.xml
> > xsltproc c.xsl a.xml
> > runtime error: file c.xsl line 4 element variable
> > Global variable G already defined
> > %25%25.5%25.480%25.48
> >
> > There appears to be two problems here:
> > 1) The runtime error stating that variable "G" is already defined.
> > 2) I'd expect the formatted numbers to each appear on new lines (but
> this
> > could quite easily go down to a gap in my understanding of
> <xsl:text/>)
> >
> > Any ideas?
> 
> 
> _______________________________________________
> xslt mailing list, project page http://xmlsoft.org/XSLT/
> xslt@gnome.org
> http://mail.gnome.org/mailman/listinfo/xslt
> 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]