This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Simple problem - complicated solution


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 &lt; 
@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 &lt; @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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]