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

RE: Find the node with maximum elements

Subject: RE: Find the node with maximum elements
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Sun, 4 Nov 2007 14:52:13 -0000
RE:  Find the node with maximum elements
> And I'm assuming that since the expression 
> "max(/Sample/*/count(Car))" is based on an absolute XPath 
> address, there is an opportunity for processor optimization 
> because the value will never change for the entire execution 
> of the stylesheet.

That's actually not a sufficient condition. The term "absolute path
expression" is very misleading from this point of view. Given an expression

$exp[count(Car) = max(/Sample/*/count(Car))]

you can move the max() call out of the loop only if you know that $exp is a
single-document nodeset - that is, all nodes in $exp will come from the same
document. This is the strategy Saxon uses, and it works in this case because
static analysis shows that /Sample/* is indeed a single-document nodeset.

Another optmization strategy would be, at run-time, to evaluate
max(/Sample/*/count(Car)) once for each document represented in $exp, so if
$exp returned a set of 100 nodes taken from three documents, the max()
function would be evaluated thrice. This isn't a strategy Saxon uses...

The big difficulty when coding in XSLT or other declarative languages is of
course that you don't know which "opportunities for optimization" the
processor is going to take advantage of.

Michael Kay
http://www.saxonica.com/

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

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

Buy Stylus Studio Now

Cast Your Vote

We need your help – Vote for DataDirect XML Products!

  • Best SOA or XML site

Winners and finalists announced at SOA World Conference in November.

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-2007 All Rights Reserved.