This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Simple problem - complicated solution
- From: Joerg Heinicke <joerg dot heinicke at gmx dot de>
- To: xsl-list at lists dot mulberrytech dot com
- Date: Thu, 16 May 2002 21:11:02 +0200
- Subject: Re: [xsl] Simple problem - complicated solution
- References: <000001c1fd0b$cd7b1df0$0400a8c0@fcmobilexpp>
- Reply-to: xsl-list at lists dot mulberrytech dot com
Oh sorry, I wrote the stylesheet in the mail client, tested it with
editor + IE + MSXML, but didn't copy the changes back to the mail
client. My complete version (including a better test for min and max,
because you don't need to compare every @value with every other @value,
only with the following ones):
<xsl:template match="data">
<min value="{datum[not(following-sibling::datum/@value <
@value)]/@value}"/>
<max value="{datum[not(following-sibling::datum/@value >
@value)]/@value}"/>
<avg value="{sum(datum/@value) div count(datum/@value)}"/>
</xsl:template>
Joerg
Stuart Celarier schrieb:
>><avg value="{sum(datum/@value)/count(datum/@value)}"/>
>
>
> I think that Joerg meant to write
> <avg value="{sum(datum/@value) div count(datum/@value)}"/>
> instead.
>
> Cheers,
> Stuart
>
> -----Original Message-----
>
> <xsl:template match="data">
> <!-- selects the first datum/@value with not a following datum/@value
>
> less than this one -->
> <min value="{datum[not(../datum/@value < @value)]/@value}"/>
> <!-- selects the first datum/@value with not a following datum/@value
>
> greater than this one -->
> <max value="{datum[not(../datum/@value > @value)]/@value}"/>
> <!-- like in mathematics: avg = sum / count -->
> <avg value="{sum(datum/@value)/count(datum/@value)}"/>
> </xsl:template>
>
> Regards,
>
> Joerg
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list