> Why? Well, the caching algorithm asks every sitemap
> component if the cached content is still valid. The
> TraxTransformer answers this question by looking
> if the stylesheet has changed since the last use 
> (time stamp comparison).
> So far so good, but you can have imports/includes
> in your xslt, so the TraxTransformer checks them
> as well - and this is done by "parsing" the
> xslt and looking at all includes/imports. This
> parsing is done, even when the content is fetched
> out of the cache. 
> 
> Due to this mechanism, each stylesheet is parsed
> on every request (if cached content is used or not)
> which is in most cases unnecessary.
> As we didn't use the "use-store" parameter of the
> xslt transformer this is a real performance problem!

Wouldn't it be better to extend the validity mechanism?
When the master xslt does not change, the includes does not change either.
It should be possible to use an extended validity object that, when parsing the xslt 
for imports/includes is finished, stores the modification date of the main xslt *and* 
the modification dates of all (recursivly) found depended XSLT pages as well.
The validity check would have to check a couple of modification dates, but it is not 
needed to parse any XSLT again if it is not changed.

I planned the implementation of such a mechanisme some time ago, but due to the lack 
of time i did not got very far. I hope to find the time in the next days/weeks, but i 
cannot promise anthing right now, unfortunately.

Stefan

Reply via email to