Subject: RE: [xsl] Percentage in XSL From: "Josh Canfield" <Josh.Canfield@xxxxxxxxxxxx> Date: Thu, 22 Jan 2004 11:57:27 -0800 |
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@xxxxxxxxxxxxxxxxxxxxxx [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of Mukul Gandhi Sent: Thursday, January 22, 2004 7:05 AM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx 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@xxxxxxxxxxxxx> 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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Percentage in XSL, Mukul Gandhi | Thread | [xsl] XPath for variable search any, Andrew Maclean |
RE: [xsl] Question about "for-each , Josh Canfield | Date | Re: [xsl] Node-sets using <xsl:with, Mir Farooq Ali |
Month |