This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: sum of the evaluated values
- From: "Michael Kay" <michael dot h dot kay at ntlworld dot com>
- To: <xsl-list at lists dot mulberrytech dot com>
- Date: Thu, 22 Nov 2001 10:46:32 -0000
- Subject: RE: [xsl] sum of the evaluated values
- Reply-to: xsl-list at lists dot mulberrytech dot com
> i have xml:
> <event type="1" time="3:00">
> <event type="0" time="2:00">
> <event type="1" time="4:00">
> <event type="1" time="5:00">
> and i need sum of the minutes: number(substring-before(@time,':'))
> only where @type=1.
>
> How it can be done?
>
The only way to sum over a computed value in pure XSLT 1.0 is to write a
recursive named template.
Alternatives if you're prepared to use extensions:
(a) construct a result tree fragment holding the actual values you want to
sum, and then use the sum() function on the nodes in this RTF (this will
need the xx:node-set() extension
(b) use an extension function such as
saxon:sum(event/time, saxon:expression(substring-before(.,':'))
Mike Kay
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list