the limitation of one generator per pipeline is no real problem here;
instead of going 'the linear way', just go 'the indirect way': you can have
the <map:generate> reference a pipeline as source. so, in one pipeline you
generate the xsp, in the other you have that xsp generate output.

your pipeline:

 <map:match pattern="course/**">
1.   <map:generate src="course/en/{1}.xml"/>

2.   <map:transform src="course/course.xsl">
        <map:parameter name="use-request-parameters" value="true"/>
   </map:transform>

 <!-- something needed here -->
3.

4.   <map:serialize type="html"/>
 </map:match>

steps 1. and 2. are to generate the xsp to be executed. at step 3. I assume
you want to have your xsp executed whose output is serilized to html in step
4.

now we repackage this; steps 1. and 2. go to a separate pipeline as well as
steps 3. and 4.:

<map:match pattern="course/**">
        <map:generate type="serverpages" src="cocoon:/generated({1}).xsp"/>  <!--
referencing pipeline below -->

        <map:serialize type="html"/>
</map:match>


<map:match pattern="generated(**).xsp">
   <map:generate src="course/en/{1}.xml"/>

   <map:transform src="course/course.xsl">
        <map:parameter name="use-request-parameters" value="true"/>
   </map:transform>

   <map:serialize type="xml"/>
</map:match>

caveat: you have to hand over the request parameter to the generated.xsp
pipeline (because the call to the pipeline represents a different request)
so that the transformer can process them.

> -----Ursprungliche Nachricht-----
> Von: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]Im
> Auftrag von [EMAIL PROTECTED]
> Gesendet: Donnerstag, 20. Februar 2003 08:48
> An: [EMAIL PROTECTED]
> Betreff: Processing XSL output as XSP
>
>
> Hi,
>
> I'm new to Cocoon, so sorry if this is a question with an obvious
> answer - but I can't find anything online which explains how to do this.
>
> I have a set of pages in XML. I pass them through an XSL
> transformation, which auto-generates hyperlinks, etc.  Because I
> want to use sessions when these pages are viewed on the web, this
> XSL file adds in XSP tags, including <xsp-session:encode-url>
>
> The output from this xsl transformation is valid xsp - at least,
> it follows exactly the same pattern as the 'apple' xsp example
> from the cocoon wiki, with the same xmlns declarations at the
> beginning, etc.  So, at this point I want to add something to my
> pipeline which tells Cocoon to treat the XSL output as XSP, but I
> can't work it out!
>
> Here's the relevant part of my sitemap:
>
> <map:match pattern="course/**">
>   <map:generate src="course/en/{1}.xml"/>
>   <map:transform src="course/course.xsl"><map:parameter
> name="use-request-parameters" value="true"/></map:transform>
> <!-- something needed here -->
>   <map:serialize type="html"/>
> </map:match>
>
> I assume that somwhere here I need a tag something like
> <map:transform type="serverpage"> after the existing .  I've
> tried variations on <map:transform type="serverpage"/>, but this
> just gets me error messages about component handlers not being
> found.  So, I'm missing something. Any hints would be very
> gratefully received!  It's probably something really obvious, but
> I've got a mental block on it now.
>
> Many thanks,
>
> Ah Moh
>
>


---------------------------------------------------------------------
Please check that your question  has not already been answered in the
FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>

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

Reply via email to