[xsl] Use predicates/patterns or xsl:choose (was:] Stylesheet optimisation)

Subject: [xsl] Use predicates/patterns or xsl:choose (was:] Stylesheet optimisation)
From: <christof.hoeke@xxxxxxx>
Date: Tue, 11 Jan 2005 16:27:15 +0100
Hi again,
I was reading up all stuff about optimizing the performance of xslt. One basic
advice I found is:

	"Avoid complex patterns in template rules. Instead, use <xsl:choose> within
the rule."

	(Mike Kay at http://www.dpawson.co.uk/xsl/sect4/N9883.html#d12447e254)

This seems quite old (before July 2000), and I wondered if it is still true
with newer Saxon or Xalan versions.

I rather split complex templates in more than one and adjust the match
patterns accodingly to shorten and simplify the actual code inside the
xsl:template. So I try to avoid using xsl:choose or xsl:if areas as much as
possible as they make the stylesheet sometimes quite difficult to read and
maintain.
And I was under the impression that splitting complex templates in easier ones
by making the match as precise as possible would also be quicker as I
(naively) thought the processor does something like a lookup table before
actually performing the transformation.

So, is it still better to avoid complex patterns or am I understanding the
advice in the wrong way?

Thanks a lot
Chris

Current Thread