Re: [xsl] max of sum

Subject: Re: [xsl] max of sum
From: Oliver Becker <obecker@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 1 Feb 2002 09:10:08 +0100 (MET)
> Is there a way to get the max for a bunch of sum on an attribute.

Yes, of course.

> I have the following XML and would like to find what's the highest expenses
> (sum of all expense/@value). Which would be 303 .
> any idea ?
> 
> <company>
>    <department id="IT">
>       <expense value="10"/>
>       <expense value="12"/>
>       <expense value="13"/>
>       <expense value="18"/>
>       <expense value="28"/>
>    </department>
> 
>    <department id="Research">
>       <expense value="40"/>
>       <expense value="150"/>
>       <expense value="75"/>
>       <expense value="17"/>
>       <expense value="21"/>
>    </department>
> 
>    <department id="Finance">
>       <expense value="34"/>
>       <expense value="77"/>
>    </department>
> 
>    <department id="HR">
>       <expense value="22"/>
>    </department>
> </company>


<xsl:template match="department">
  <xsl:variable name="sum" select="sum(expense/@value)" />
  <xsl:if test="not(../department[sum(expense/@value) > $sum])">
    <xsl:text />max: <xsl:value-of select="$sum" /> for <xsl:text />
    <xsl:value-of select="@id" />
  </xsl:if>
</xsl:template>

Cheers,
Oliver


/-------------------------------------------------------------------\
|  ob|do        Dipl.Inf. Oliver Becker                             |
|  --+--        E-Mail: obecker@xxxxxxxxxxxxxxxxxxxxxxx             |
|  op|qo        WWW:    http://www.informatik.hu-berlin.de/~obecker |
\-------------------------------------------------------------------/


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread