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

Subject: RE: [xsl] Use predicates/patterns or xsl:choose (was:] Stylesheet optimisation)
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Tue, 11 Jan 2005 17:15:31 -0000
I don't think I would give the same advice today. I wouldn't expect it to
make much difference in performance (certainly, there's no intrinsic reason
why it should make a difference), and stylistically, using multiple template
rules is often much clearer.

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


> -----Original Message-----
> From: christof.hoeke@xxxxxxx [mailto:christof.hoeke@xxxxxxx] 
> Sent: 11 January 2005 15:27
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] Use predicates/patterns or xsl:choose (was:] 
> Stylesheet optimisation)
> 
> 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