|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: sum() applied to a product
> ----------------------- > Okay.. I told someone I could do this in a simple xpath expression > > <?xml version="1.0"?> > <a> > <b> > <c>2</c> > <d>4</d> > </b> > <b> > <c>3</c> > <d>6</d> > </b> > </a> > > Where the xpath was to return (2*4) + (3*6) = 26 > I made several attempts with xpath's sum() function (using 1.0) and > couldn't get it. Assuming that the number of <b> elements is variable, you can't do this directly in XPath 1.0. In 2.0 it's easy: sum(for $b in b return $b/c * $b/d) In 1.0 your options are (a) write a recursive template that operates over the list of b elements, or (b) use a two-phase transformation in which the first phase computes the products and the second phase computes the sum. You could also use Dimitre Novatchev's FXSL library, which simulates higher-order functions using pure XSLT 1.0. Michael Kay
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








