cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bruno Dumon <>
Subject RE: Crusading for the XSLT document() function
Date Tue, 21 Oct 2003 08:04:27 GMT
On Mon, 2003-10-20 at 19:21, Horsfield, Peter A. wrote:
> Hello everyone!
> I'd just like to thank you all for your input on this thread. 
> Lars interpreted my email correctly as a request not to exclude the
> document() 
> function - not that it is a panacea.
> Robert - thanks for championing for the responses. You mentioned not being 
> 'locked-in' to Cocoon by using XSLT instead of custom Java components, and
> that 
> is a very useful feature.
> Bruce - I agree - I like the flexibility of XSLT under Cocoon.
> Steve - sorry for any FUD that got spread! Your points on the use of
> document() 
> hiding away the aggregation instruction from where you would expect to find
> it 
> (the sitemap) is very true; which is why I always pass in the location as an
> XSLT variable.
> With Bruno's post the conversation moved to center on the caching issue that
> Steve brought up. I did a little snooping in the code:
> Caching in Cocoon is performed by recording SAX events into a store from
> which 
> it can then be played back. Cocoon stores these SAX caches tied to a 
> CacheValidity object, which is provided by Cacheable components at pipeline 
> setup time.
> A reference to this object is maintained throughout a single use of the
> pipeline 
> component. By updating this reference Cocoon can store caching information 
> determined after pipeline setup; since Cinclude instructions are embedded in
> the 
> source document, this must be how the CInclude transformer works.

I hope to be proved wrong, but the CInclude transformer uses an
ExpiresValidity, which is a validity that invalidates after a certain
amount of time. It's not based on the included documents.

The validity objects are retrieved before executing the pipeline, so
information about the included documents cannot yet be in there. I don't
know if keeping a reference to the returned validity object and updating
it in dispose() or something would work, but it sounds hacky.

Bruno Dumon                   
Outerthought - Open Source, Java & XML Competence Support Center                

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message