Re: [xsl] Simple problem - complicated solution

Subject: Re: [xsl] Simple problem - complicated solution
From: Joerg Heinicke <joerg.heinicke@xxxxxx>
Date: Thu, 16 May 2002 19:25:33 +0200
<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

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


Current Thread