Hi,
For some project I need to make rather deeply nested database queries.
I was looking for the best stategy (I am new to cocoon)

----------------------------------------------
1 Doing all nested queries in one xsp or xml page.
But this will be difficult to maintain and test.
----------------------------------------------
2 extending queries in one pipeline
In this strategy a resultset is extended by following steps in the pipeline.

sitemap.xmap:
<map:pipeline>
        <map:match pattern="start">
        <map:generate type="file" src="query1.xml"/>
                        
        <map:transform type="sql">
        ...

        <map:transform type="xslt" src="query2.xsl"/>
        
        <map:transform type="sql">
        ...

        </map:match>
</map:pipeline>

query1.xml could do a first level query.
query2.xsl could do some processing and at some point in the tree
do a new query and append the resultset there.(sqltaglib can be used in xslt)

But this seems not to work, because the first resultset creates
elements like <sql:somename> the second sqltransform step will be confused by these tags. I could rename all <sql:somename> tags after the first sqltransform step, but that is a bit clumsy.

So this does not work.
I also understood from the documentation that it's not possible
to use more then one xsp in a pipeline, so this approach will
also not be possible with esql?

----------------------------------------------
3 Call pipeline entries from an xsp/xml sql query loop:

In this case I would like something like:
query1.xsp:
<customer>
        <esql:connection>
        <esql:pool>fwstat</esql:pool>

        <esql:execute-query >
                <esql:query>
                        select * from customers
                </esql:query>
                <esql:results>
                        <esql:row-results>
                                Call query2.xsp(
                                        <esql:get-string column="id"/>
                                        <esql:get-string column="name"/>
                                        )
                        </esql:row-results>
                </esql:results>
        </esql:execute-query>
        </esql:connection>
</customer>
query2.xsp would do a new query with the supplied parameters.
query2.xsp could ofcourse do other queries.

But I could not find constructs like this.
----------------------------------------------

What is the best approach to separate the nested queries?

Thanks.
Rob

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

Reply via email to