[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: RE: Find a set of nodes and depending on element v

Subject: Re: RE: Find a set of nodes and depending on element values
From: Dimitre Novatchev <dnovatchev@xxxxxxxxx>
Date: Mon, 4 Mar 2002 13:37:58 -0800 (PST)
 Re: RE: Find a set of nodes and depending on element v
Michael Kay wrote:

> > Now I want to find all <action> elements with the element
> > <loadsize>1</loadsize> and then process the average time
> > (<time>xxx</time>)
> > for each set of action elements with the same time.
> 
> You'll have to explain yourself more clearly. The average time of a 
> set of elements with the same time is the average of a set of numbers
> that are allthe same.
> 
> I suspect you're trying to do the equivalent of the classic "sum of 
> price times quantity for all items". Solutions include:
> 
> (a) write a recursive named template
> (b) (Saxon extension) saxon:sum(//item, saxon:expression("@price * 
> @qty"))
> (c) (XSLT 2.0, Saxon 7.0) sum(for $i in //item return $i/@price * 
> $i/@qty)
> 
> Michael Kay

The easiest way to perform this, while not having to use extension
functions (xxx:node-set() excluded) is to use a foldl/foldr function
from the FXSL functional programming library.

The article "The functional programming language XSLT" at the end of
the section about list processing contains an example of finding the
sum of products, where every product can consist of different number of
terms.

Using a functional programming library eliminates almost completely the
need for vendor-supplied libraries of extension functions.

Nor have we to wait for XPath 2.0 to come (even when it comes there
would be very difficult/awkward tasks that have an elegant solution
with a functional programming library).

Cheers,
Dimitre Novatchev.



__________________________________________________
Do You Yahoo!?
Yahoo! Sports - sign up for Fantasy Baseball
http://sports.yahoo.com

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.