Subject: RE: 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: 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
|