Hi,

you can first build your xsp in a seperate pipeline and use
this result as a source for your serverpages-processing.

Example:

<map:pipeline internal-only="true">
        <map:match pattern="build_xsp">
                <map:generate src="build_xsp_src.xml"/>
                <map:transform src="build_xsp_transform.xsl"/>
                <map:serialize type="xml"/>
        </map:match>
</map:pipeline>

<map:pipeline>
        <map:match pattern="test.xml">
                <map:generate type="serverpages" src="cocoon:/build_xsp"/>
                <map:transform src="xsp_transform.xsl"/>
                <map:serialize type="html"/>
        </map:match>
</map:pipeline>

Hope this helps!

Wolfram

> -----Ursprüngliche Nachricht-----
> Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
> Gesendet: Samstag, 15. Dezember 2001 21:35
> An: [EMAIL PROTECTED]
> Betreff: Applying custom style sheets before logicsheets [HELP!]
>
>
> Hi,
>
> This question may seem very simple, but bear with me as I am
> quite new to cocoon.
>
> I am using Cocoon 2.  I have an XSP page [testdb.xsp], and want
> to pass this through a stylesheet [testdb.xsl], then apply the
> built-in cocoon 2 logic sheets [particularly the esql], apply a
> xml to html stylesheet and then serialize as html.  What do I
> have to do to make this work?
>
> I have started by placing using esql from the testdb.xsp directly
> - this works as expected.  Trouble is, I want the SQL queries to
> be "generated" by the testdb.xsl stylesheet, so removing the esql
> from testdb.xsp and making the testdb.xsl generate them instead
> does not "execute" them - they stay as <esql:...> even in the
> outputted html.
>
> I have tried many things, such as adding/removing the esql
> namespace from the start of the original xsp document, the xsp
> generated from testdb.xsl, etc, the files below are what are
> "known" to not work.  I think it is just something very simple
> that I am missing...
>
> Here is the relevant part of the sitemap:
>    <map:match pattern="testdb">
>      <map:generate type="serverpages" src="testdb.xsp"/>
>      <map:transform src="testdb.xsl"/>
>      <map:transform src="table.xsl"/>
>      <map:transform src="stylesheets/dynamic-page2html.xsl"/>
>      <map:serialize/>
>    </map:match>
>
> testdb.xsl:
> <?xml version="1.0" encoding="ISO-8859-1"?>
>
>
> <xsl:stylesheet
>     version="1.0"
>     xmlns:xsp="http://apache.org/xsp";
>     xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
>     xmlns:xsp-request="http://apache.org/xsp/request/2.0";
>     xmlns:esql="http://apache.org/cocoon/SQL/v2";
> >
>
> <xsl:template match="/">
>   <xsp:page>
>     <xsl:apply-templates/>
>   </xsp:page>
> </xsl:template>
>
>   <xsl:template match="data-display">
>     <esql:connection>
>       <esql:pool>personnel</esql:pool>
>       <esql:execute-query>
>         <xsl:apply-templates select="query"/>
>         <xsl:apply-templates select="display"/>
>       </esql:execute-query>
>     </esql:connection>
>   </xsl:template>
>
>
>   <xsl:template match="query">
>         <esql:query>
>         <xsl:value-of select="."/>
>       </esql:query>
>   </xsl:template>
>
>   <xsl:template match="display">
>     <esql:results>
>       <xsl:apply-templates/>
>     </esql:results>
>   </xsl:template>
>
>   <xsl:template match="display-table">
>     <br/>
>     <table>
>       <header>
>         <xsl:for-each select="column">
>           <cell>
>           <text>
>             <xsl:value-of select="title"/>
>          </text>
>           </cell>
>         </xsl:for-each>
>       </header>
>
>       <!-- header finished, now the data -->
>
>       <body>
>         <esql:row-results>
>           <row>
>             <xsl:for-each select="column">
>             <cell>
>               <!-- make a reference to the action here -->
>               <action>
>                   <xsl:value-of select="action/@name"/>
> <xsl:value-of select="action/@key"/>
>               </action>
>               <text>
>                   <xsl:value-of select="data/@source"/>
>                 <xsl:value-of select="text"/>
>               </text>
>             </cell>
>           </xsl:for-each>
>           </row>
>         </esql:row-results>
>       </body>
>     </table>
>   </xsl:template>
>
>   <xsl:template match="@*|node()" priority="-1">
>     <xsl:copy>
>       <xsl:apply-templates select="@*|node()"/>
>     </xsl:copy>
>   </xsl:template>
>
> </xsl:stylesheet>
>
> testdb.xsp:
> <?xml version="1.0"?>
>
> <xsp:page language="java"
>   xmlns:xsp="http://apache.org/xsp";
>   >
>   <page>
>     <title>Test</title>
>
>     <data-display>
>       <query>SELECT uid, userid, password FROM users</query>
>       <display>
>         <display-table>
>           <column>
>           <title>Username</title>
>           <data source="userid"/>
>         </column>
>         <column>
>           <title>Password</title>
>           <action name="view" key="uid"/>
>           <data source="password"/>
>         </column>
>         <column>
>             <title></title>
>           <action name="delete" key="uid"/>
>           <text>delete</text>
>         </column>
>         </display-table>
>       </display>
>     </data-display>
>   </page>
> </xsp:page>
>
> thanks for any help,
>
>
>
>
>
> _______________________________________________________________________
> Never pay another Internet phone bill!
> Freeserve AnyTime, for all the Internet access you want, day and
> night, only £12.99 per month.
> Sign-up at http://www.freeserve.com/time/anytime
>
>
>
> ---------------------------------------------------------------------
> Please check that your question has not already been answered in the
> FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>
>
> To unsubscribe, e-mail: <[EMAIL PROTECTED]>
> For additional commands, e-mail: <[EMAIL PROTECTED]>
>
>


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

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

Reply via email to