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: sum of the evaluated values


> 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


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