Hi Robin,

Am 27.04.11 12:49, schrieb Robin Taylor:
It looks like the default generator is an extension of FileGenerator
that I assume takes as input the output from the<map:serialize
type="xml"/>  step in the preceding pipeline.

what do you mean with "preceding pipeline"? What exactly does the custom FileGenerator use as the source? A hard-coded cocoon:/ call?


I also assume therefore
that the FileGenerator uses the incoming xml to build its validity
object and therefore spots that it has changed ?

No, the standard FileGenerator uses the validity of the source. The incoming XML cannot be used, since it would have to be re-generated to spot changes, which kind-of renders the caching mechanism useless. Typical source validities are based on last modification dates, expiration times and similar concepts. Example: If you pass a file URI to the FileGenerator, the last modification date of the file is used. If you pass a cocoon:/ URI to the generator, the validity of the corresponding SitemapSource (representing the result of the called pipeline) is used.

HTH,

-- Andreas



Thanks again.



On Wed, 2011-04-27 at 10:54 +0100, Thorsten Scherler wrote:
On Wed, 2011-04-27 at 09:41 +0100, Robin Taylor wrote:
Hi Thorsten,

Thanks again and apologies for drip-feeding the questions.

In the code I'm looking at it appears the second pipeline has an empty
map:generate ie.<map:generate/>. I assume this results in the second
pipeline using the output from the first pipeline.

no, a<map:generate/>  means cocoon uses the default generator
configured for this sitemap.

If is does not uses a src is most likely a "special" generator such as
e.g.  http://cocoon.apache.org/2.1/userdocs/request-generator.html

Using that as an example:
<map:generators default="request">
  <!-- This will turn on attribute generation on by default -->
  <map:generator name="request" 
src="org.apache.cocoon.generation.RequestGenerator">
     <map:parameter name="generate-attributes" value="true"/>
  </map:generator>
</map:generators>
...
<!-- This will turn on attribute generation for this invocation only.
-->
<map:match pattern="request">
   <map:generate/>
   <map:serialize/>
</map:match>

As you see the<map:generate/>  would here generate a xml representation
of the request and not use a former match/pipeline as input.

salu2


--
Andreas Hartmann, CTO
BeCompany GmbH
http://www.becompany.ch
Tel.: +41 (0) 43 818 57 01


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to