David Tolpin wrote:
XSLT is almost soley specified by expected result, not assuming any
processing model ...
David,
You've started a great discussion, and gotten some detailed comments
back. Now it's time to step back and look at the big picture again.
First, some things will improve execution speed with almost any XSLT
processor. Anything that avoids walking large parts of the input tree
multiple times is always good. Saving certain results in variables is
one way to do this. Keys are often helpful. Following the
suggestions of Michael Kay and Jeni Tennison (and others) on this list
will improve your stylesheets.
Second, some XSLT processors (DataPower's among them) are 10 times
faster than others. Part of this is due to optimizations, and part is
due to raw technology. These processors will be faster no matter what
stylesheets you write.
Finally, any stylesheet complex enough to have started this discussion
is probably too complex to analyze clearly. Most commercial XSLT
processors (again, DataPower's among them) allow you to profile your
stylesheets during execution. It's the only way to know what's really
going on, and it will let you focus your improvements on those parts
of the stylesheet that need the most attention.
--jeff
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list