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 19:25:33 +0200
- Subject: Re: [xsl] Simple problem - complicated solution
- References: <3CE3E63F.60700@w3ping.com>
- Reply-to: xsl-list at lists dot mulberrytech dot com
<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
Antonio Fiol schrieb:
> Hello, I have an XML document that contains:
>
> <data>
> <datum value="123"/>
> <datum value="234"/>
> <datum value="99"/>
> <!-- Some more data... -->
> </data>
>
> I wish to use a XSLT document to output:
>
> <data>
> <min value="99" />
> <max value="234" />
> <avg value="..." />
> </data>
>
> This does not seem too complicated, but I cannot figure how to do it.
>
> I do not mind if I have to rewrite my question in terms of:
>
> <datum>123</datum>
>
> and my answer as:
>
> <min>99</min>
>
> Thank you very much in advance.
>
> Antonio Fiol
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list