I just finished writing a -some-sort-of- FileGenerator + CInclude aggregator, all in one, with caching support...
My problem lies in the fact that we have some files which gets transformed to generate some CInclude tags, that include content, and blablabla...
Problem is that I can't cache the output of this thing, as CInclude doesn't do that "nicely" (it doesn't have all the variables, as it doesn't know whether its input has changed or not).
Basically what I done is that I took the two, and merged them together...
A generator always knows its input (its a file) and can verify whether it's valid, if it is, then the "<include src=...>" declaration in there will not be changed, so it can also verify whether its included files are valid or not...
And so on recursively...
Basically, it's a <map:aggregate> but the aggregation is driven by what's in the source (and recursively, in all sources so included).
Is there any interest in this? Shall I add?
How it will differ from [1]? IncludeTransformer was added recently exactly to address this problem with CIncludeTransformer. See also bug #30356.
Vadim
[1] http://svn.apache.org/repos/asf/cocoon/trunk/src/blocks/scratchpad/java/org/apache/cocoon/transformation/IncludeTransformer.java
