[xsl] Rule of thumb: Are XPath 2.0 or XSLT 2.0 constructs faster?

Subject: [xsl] Rule of thumb: Are XPath 2.0 or XSLT 2.0 constructs faster?
From: TW <zupftom@xxxxxxxxxxxxxx>
Date: Thu, 9 Feb 2012 08:59:40 +0100
Hi all,

in XSLT 2.0, I quite often find that I can do things using either
XPath or XSLT constructs.  For example, in a step-by-step calculation
I define a number of variables, either with <xsl:variable> or XPath
"for $x in y" expressions.  I can use <xsl:choose> or XPath's
if/then/else (single or chained).  Sometimes a goal can be achieved
with either <xsl:for-each>/<xsl:sort> and more complex sort criteria
and return values, or max()/min() and some conditional treatment.

I like pure XPath solutions because they are less verbose, but I find
"full" XSLT less restricting and easier to debug (especially when I
want to check what variable holds what value).  But how does it look
performance-wise?  Is there a valid rule of thumb what constructs are
cheaper in general?  Do XSLT constructs maybe have an overhead that
XPath ones don't?

Thomas W.

Current Thread