This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: Calculating Averages
- From: "Michael Kay" <michael dot h dot kay at ntlworld dot com>
- To: <xsl-list at lists dot mulberrytech dot com>
- Date: Wed, 26 Jun 2002 23:23:43 +0100
- Subject: RE: [xsl] Calculating Averages
- Reply-to: xsl-list at lists dot mulberrytech dot com
Getting the topics with the same id is a standard grouping problem: for
example
<xsl:variable name="t" select="//topic[not(id=preceding::topic/id)]"/>
Then it's just:
<xsl:for-each select="$t">
<xsl:variable name="nz" select="//topic[id=current()/id][score!=0]"/>
<xsl:value-of select="sum($nz/score) div count($nz/score)"/>
</
Michael Kay
Software AG
home: Michael.H.Kay@ntlworld.com
work: Michael.Kay@softwareag.com
> -----Original Message-----
> From: owner-xsl-list@lists.mulberrytech.com
> [mailto:owner-xsl-list@lists.mulberrytech.com] On Behalf Of
> Sendrey, John
> Sent: 26 June 2002 20:58
> To: 'xsl-list@lists.mulberrytech.com'
> Subject: [xsl] Calculating Averages
>
>
> Just wondering how i could get an average topic score (per
> topic) where score of 0 are excluded.
>
> ------
> OUTPUT:
> ------
> <topics>
> <topic>
> <id>1</id>
> <mean>5</mean>
> </topic>
> <topic>
> <id>2</id>
> <mean>3.5</mean>
> </topic>
> <topic>
> <id>3</id>
> <mean>5</mean>
> </topic>
> <topic>
> <id>4</id>
> <mean>5</mean>
> </topic>
> </topics>
> -----
> INPUT:
> -----
> .
> .
> .
> <eval>
> <id>1</id>
> <topics>
> <topic>
> <id>1</id>
> <score>5</score>
> </topic>
> <topic>
> <id>2</id>
> <score>4</score>
> </topic>
> <topic>
> <id>4</id>
> <score>5</score>
> </topic>
> </topics>
> </eval>
> <eval>
> <id>5</id>
> <topics>
> <topic>
> <id>2</id>
> <score>3</score>
> </topic>
> <topic>
> <id>3</id>
> <score>5</score>
> </topic>
> <topic>
> <id>4</id>
> <score>0</score>
> </topic>
> </topics>
> </eval>
> .
> .
> .
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list