Is there value added by storing the count in an RTF? Why not just use
<xsl:value-of select="count(a) div count(b) * 100"/>
The problem with the syntax -
<xsl:variable name="Percentual_Prod_Individual"
select="number($var_Individual) /
number($var_Soma_trabalho_em_eventos) *
100"/>
is, that expression in select="" clause should
evaluate to a node-set .
This statement is incorrect, the XPath in the select attribute does not need to
evaluate to a node-set, consider <xsl:variable name="aString" select="'my
string here'"/>. The problem with the above is, as other people have pointed
out, the use of the path separator (/) instead of the div operator for the
division.
Josh
-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com]On Behalf Of
Mukul Gandhi
Sent: Thursday, January 22, 2004 7:05 AM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Percentage in XSL
Hi Eder,
I have tried to solve the problem with a small XML
file below --
<?xml version="1.0" encoding="UTF-8"?>
<root>
<a></a>
<b></b>
<a></a>
</root>
The XSL to calculate percentage is --
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<xsl:output method="xml" version="1.0"
encoding="UTF-8" indent="yes"/>
<xsl:template match="/root">
<xsl:variable name="RTF">
<a>
<xsl:value-of select="count(a)"/>
</a>
<b>
<xsl:value-of select="count(b)"/>
</b>
</xsl:variable>
<xsl:value-of select="msxsl:node-set($RTF)/a div
msxsl:node-set($RTF)/b * 100" />
</xsl:template>
</xsl:stylesheet>
The above XSL prints 200, which is 2 /1 * 100 .
I have used the *node-set* function .
The problem with the syntax -
<xsl:variable name="Percentual_Prod_Individual"
select="number($var_Individual) /
number($var_Soma_trabalho_em_eventos) *
100"/>
is, that expression in select="" clause should
evaluate to a node-set .
Regards,
Mukul
--- Eder de Oliveira <eder(_at_)stela(_dot_)ufsc(_dot_)br> wrote: >
Hi,
I am trying percentage in xsl document, the divide
and multiply operator in
xsl is: divide = ( / ) and multiply = ( * ) ?
My code:
<xsl:variable name="var_Soma_trabalho_em_eventos"
select="count(PRODUCAO-BIBLIOGRAFICA/TRABALHOS-EM-EVENTOS/TRABALHO-EM-EVENTO
S/@*)"/>
<xsl:variable name="var_Individual"
select="count(PRODUCAO-BIBLIOGRAFICA/TRABALHOS-EM-EVENTOS/TRABALHO-EM-EVENTO
S[(count(AUTORES/@ORDEM-DE-AUTORIA)) = 1])"/>
Here account a percentage, my question is: The
account below is correct?
<xsl:variable name="Percentual_Prod_Individual"
select="number($var_Individual) /
number($var_Soma_trabalho_em_eventos) *
100"/>
Anyone can I help me ?
Thanks
Eder
XSL-List info and archive:
http://www.mulberrytech.com/xsl/xsl-list
________________________________________________________________________
Yahoo! India Mobile: Download the latest polyphonic ringtones.
Go to http://in.mobile.yahoo.com
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list