Any improvement is better than none. And I suspect that in fact there
are many types of bottlenecks which slow down all processors, such as
match="//foo", or stuff like
<t:param name="bar" select="document(doc.xml)/bar"/>
<t:param name="baz" select="document(doc.xml)/bar/baz"/>
instead of
<t:param name="doc" select="document(doc.xml)"/>
<t:param name="bar" select="$doc/bar"/>
<t:param name="baz" select="$bar/baz"/>
I'd be surprised if either of those made any difference.
// is expensive in select attributes but in a match it's just doing
nothing.
similarly a processor has to cache the result of document() (almost
certainly, to get the node identity semantics right) so explictly
saving it in a variable is unlikely to make much difference (but does
make the code clearer)
David
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list