Re: [xsl] Dynamic XPath expression (I know it doesnt work in XSLT1.0)

Subject: Re: [xsl] Dynamic XPath expression (I know it doesnt work in XSLT1.0)
From: Matt Dittbenner <mbditt@xxxxxxxxxxxxxxxxx>
Date: Thu, 26 Aug 2004 14:12:11 -0500
Michael Kay wrote:

After some pretty exhaustive searching on the web, I have decided to join the list. I have noticed in the archives that more than one person has had the same issue as I have...how to create an XPath expression dynamically (from a variable, etc). The answer to these questions was to use any of the available *:evaluate functions. I would like to try to avoid that, since it increases the parse time so much....and that is not acceptable.

My question is if there is any other way to accomplish this, for example using XSLT2.0.




Thanks for the really fast reply! :)

Sorry, but this is one feature that we decided not to put in XSLT 2.0. The
only choices are really:

(a) using an xx:evaluate() extension function
(b) modifying the stylesheet before you execute it

I'm not sure why you think there is a performance problem with the extension
function approach?



I don't remember where I had read it, but in some documentation somewhere...
More importantly, some tests (admittedly, not professional benchmarks or anything...plus the tests were run in xsltproc) showed that a very simple xsl stylesheet and xml input file would take an average of about 3 seconds when not using the EXSLT dyn:evaluate function, but when using the function in the manner required the average was around 6 seconds. Our concern was that this amount of time will increase with the complexity of the documents, and a 6 second parse time seems a bit excessive. Maybe it is faster with your implementation (?)...if you have any ideas to speed it up, I am open...because the only reason I'm not excited about it is the speed concern.


Michael Kay

Current Thread