[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] Calculating Column Total


Subject: RE: [xsl] Calculating Column Total
From: Shashank Jain <shashankjain@xxxxxxxx>
Date: Fri, 26 Mar 2010 07:30:06 -0500

Thanks a lot Mukul.

Its working.

Shashank

> From: gandhi.mukul@xxxxxxxxx
> Date: Thu, 25 Mar 2010 09:07:54 +0530
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: Re: [xsl] Calculating Column Total
>
> you may write a XSLT function as following, for this need:
>
> <xsl:function name="my:sumEvent_template" as="xs:nonNegativeInteger">
>   <xsl:param name="eventTempl" as="element()*" />
>
>   <xsl:sequence select="sum(for $x in $eventTempl return
> (count($x/event) * count(tokenize($x/@sp_doctypes,','))))" />
> </xsl:function>
>
> and call it as following:
>
> <xsl:value-of select="my:sumEvent_template(event_template)" />
>
> PS: this is not tested.
>
> On Thu, Mar 25, 2010 at 1:03 AM, Shashank Jain <shashankjain@xxxxxxxx>
wrote:
>>
>> HI All,
>>
>>
>>
>> I am trying to calculate the total of all the columns which I am
>>
>> creating dynamically.
>>
>>
>>
>> My XML is
>>
>>
>>
>> <data>
>>
>> <event_template sp_doctypes="Research Note, Prior Stock Report, Stock
>>  Report">
>>
>>       <event  r_version_label="[1.0, CURRENT]" />
>>
>>       <event  r_version_label="[2.0, CURRENT]" />
>>
>>       </event_template>
>>
>>   <event_template sp_doctypes=" Prior Stock Report, Stock Report"
>>>
>>
>>       <event  r_version_label="[1.0, CURRENT]" />
>>
>>       <event  r_version_label="[2.0, CURRENT]" />
>>
>>        <event  r_version_label="[1.0, CURRENT]" />
>>
>>       <event  r_version_label="[2.0, CURRENT]" />
>>
>>  </event_template>
>>
>>  </data>
>>
>>
>>
>> and this is the template I am using
>>
>>
>>
>> <xsl:template name="Col_Total_Num_Mand">
>>
>>          <xsl:for-each select="event_template ">
>>
>>         <xsl:variable name="MandatoryDocs" select="@sp_doctypes"/>
>>
>>         <xsl:variable name="StrArray"
select="tokenize($MandatoryDocsStr,',')"/>
>>
>>         <xsl:variable name="test" select="count($StrArray)"/>
>>
>>     <xsl:value-of select="count(child::event)*$test"/>
>>
>>     </xsl:for-each>
>>
>> </xsl:template>
>>
>>
>>
>> What I am trying to achieve is the total of events*(test) for all the
>>
>> event_template.
>>
>> I am able to do it for individual event_template but not able to add
>> them all.
>>
>>
>>
>> Thanks
>
>
>
> --
> Regards,
> Mukul Gandhi
>

_________________________________________________________________
Hotmail is redefining busy with tools for the New Busy. Get more from your
inbox.
http://www.windowslive.com/campaign/thenewbusy?ocid=PID27925::T:WLMTAGL:ON:WL
:en-US:WM_HMP:032010_2


Current Thread
Keywords