[EMAIL PROTECTED] wrote:
On Wed, 30 Jun 2004, Thorsten Scherler wrote:


Derek Hohls wrote:


Thorsten

For future reference, you could refine it a little further:




:).

Cheers, dude, but me not having that question ;-).
It was [EMAIL PROTECTED] making the suggestion.

But once again I agree to cache the myknown.xml makes the overall performance better! It is always a good to cache the result of a often used generator result.


hi torsten

how is it possible to set if a pipeline's match is cached or not ?

thnx

--stavros

Yes it is!

 <map:pipeline type="caching|noncaching">
          ...
 </map:pipeline>

 But only some components are cacheable!

 E.g.: the TraxTransformer and FileGenerator are and the SQLTransformere
       is not!

 Example-Pipeline:

   |-FileGenerator   (cachable)
   |
   |-TraxTransformer (cachable)
  #|###########until this step the pipeline is cached
   |-SQLTransformer  (not cachable)
   |
  ...
   |-Serializer


See at http://cocoon.apache.org/2.1/userdocs/concepts/caching.html!

Dirk




King regards
thorsten


<map:match pattern="out/*.xml">
<map: generate src="cocoon:/save_image"/>
<map:transform src="cocoon:/get_xml_back"/>
<map:transform src="{1}.xsl">
<map:serialize/>
</map:match>

<map:match pattern="save_image">
<!-- call generated XML -->
<map:generate src="cocoon:/get_xml_back"/> <map:transform/> // and save image in the file system
<map:serialize type="xml"/>
</map:match>


<map:match pattern="get_xml_back">
<map:generate src="myknown.xml"/>
<map:serialize type="xml"/>
</map:match>

This way the "myknown.xml" is only generated once;
important if, say, you are building this source from
a database or having to call some other external (slow)
resource.

Cheers
Derek




[EMAIL PROTECTED] 2004/06/30 07:11:43 AM >>>



Thanks you all, your inputs and suggestions helped me in fixing my problem.

Just as an update, I created three matches in one pipeline, :

<map:match pattern="out/*.xml">
<map: generator src="cocoon:/save_image"/>

<map:transform src="cocoon:/get_xml_back"/>

<map:transform src="{1}.xsl">
<map:serialize/>
        </map:match>
<map:match pattern="save_image">
                <map:generate src="myknown.xml"/>
                <map:transform/> // and save image in the file system
                <map:serialize type="xml"/>
        </map:match>

<map:match pattern="get_xml_back">
                <map:generate src="myknown.xml"/>
                <map:serialize type="xml"/>
        </map:match>

One concept that i was missing was each match has to end with a
serializer and start with an generator.

Thanks much.

Thorsten Scherler <[EMAIL PROTECTED]> wrote:
Derek Hohls wrote:




One way would be to use *4* pipelines;
1. one that generates the original XML (and serializes it as XML)
2. one that creates your image - based on a cocoon:/ call to Pipe 1
3. one that creates your base HTML - based on a cocoon:/ call to Pipe
1
4. one that aggregates the results of pipes 2 and 3.

Pipe 1 should be cached, so even though you call it twice, it
should only have to do the work once...

HTH
Derek






+1

It is the cleanest solution!

thorsten








---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to