Ard,

All right, so now I got the value of Cust_id in my popup window.

Now how do I get and process resultset(rowset) 
of each query in XSL (based on its name)? Any samples?

What I have in XSL is below, but it doesn't work.
(bits & pieces from somebody's code)

<xsl:stylesheet version='1.0'
xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
xmlns:filter="http://xml.apache.org/xalan/java/com.dotech.util.TextFilter";
xmlns:sql="http://apache.org/cocoon/SQL/2.0";>

<xsl:param name='cust_id'/>

<xsl:template match="/">
  <page>
    <title>Customer Data popup1</title>
    <content>
    <xsl:apply-templates />
    </content>
  </page>
</xsl:template>

<xsl:variable name='thedata'
select='/page/content/paging/data'/>

<xsl:template match='sql:rowset'>
  <xsl:apply-templates />
    <xsl:call-template name='page'>
      <xsl:with-param name='title'>Customer Data popup2
</xsl:with-param>
   </xsl:call-template>
</xsl:template>

<xsl:template name='page-main'>
...some screen processing...
  <xsl:call-template name='page-main'/>
</template>

<xsl:template name='page-main'> 
  <form name="myformname" id="myform" method="post"
action="myaction">
  <table 
    <thead>
    ...
    </thead>
  <tbody>
    <xsl:for-each select='$thedata/row'>
      <xsl:call-template name='row'>
        <xsl:with-param name='therow' select='.'/>
      </xsl:call-template>
  </xsl:for-each>
  </tbody>
</table>
</form>
</xsl:template>


<xsl:template name="row">
        <xsl:param name='therow'/>
<tr>
  <td align="left" valign="middle"><xsl:value-of  
select='$therow/col1'/></td>
...
</tr>
</xsl:template>

</xsl:stylesheet>


1) Could you please point me to some good example
of such simple (select) DB report - esp. XSL part ?
...

4) I think, I can't get anything from SQL transformer
because I am trying to read its output from incorrect place:
<xsl:variable name='thedata'
select='/page/content/paging/data'/>

Is there a standard place for the output of SQL Transformer?
Or where is it specified ?
Maybe it should be: /page/content/paging/data/cust_data ??? 


5) Is it valid to put queries in XSL files 
or is it a bad practice?  
(as I said, there will be several queries for that screen).

Thank you in advance,
Oleg.  


--- Ard Schrijvers <[EMAIL PROTECTED]> wrote:

> Ok,
> 
> suppose your url looks like: 
> 
> myurl?cust_id=123
> 
> Your sitemap looks like:
> 
> <map:match pattern="myurl">
>       <map:generate src="xml/custdata_query.xml"/> 
>       <map:transform type="sql">
>               <map:parameter name="cust_id"
> value="{request-param:cust_id}"/>
>             <map:parameter name="use-connection"
> value="mbrdb"/>
>       </map:transform>
>       <map:transform src="somexsl.xsl">
>               <map:parameter name="cust_id"
> value="{request-param:cust_id}"/>
>       </map:transform>
>       <map:serialize type="xhtml"/>
> </map:match>
> 
> Your custdata_query.xml could look like:
> 
> <?xml version="1.0" encoding="ISO-8859-1"?>
> <sql:execute-query
> xmlns:sql="http://apache.org/cocoon/SQL/2.0";>
>    <sql:query name="cust_data">
>     SELECT  col1, col2, col3
>     FROM  cust_table
>     WHERE  cust_id = <sql:substitute-value
> sql:name="cust_id"/>
>     </sql:query>      
> </sql:execute-query> 
> 
> from the sitemap the cust_id is substituted by the sql
> transformer.
> 
> Then the query is executed and the sql transformer returns
> xml.
> 
> Furthermore, you can transform with some other xsl, which
> could look like:
> 
> <?xml version="1.0" encoding="ISO-8859-1"?>
> <xsl:stylesheet version="1.0" 
>   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
>   xmlns:sql="http://apache.org/cocoon/SQL/2.0";
>   exclude-result-prefixes="sql"
>   >
> 
> <xsl:param name="cust_id"/>
> <xsl:template match="/">
>       <yi>
>               <xsl:value-of select="$cust_id"/>
>               <xsl:copy-of select="."/>
>       </yi>
> </xsl:template>
> </xsl:stylesheet> 
> 
> 
> Then I think you have everything you need. Don't forget to
> include in your sitemap:
> <map:transformers>
> <map:transformer name="sql"
> src="org.apache.cocoon.transformation.SQLTransformer"
> logger="sitemap.transformer.sql"/>
> </map:transformers>
> 
> and 
> <map:selectors default="parameter">
>       <map:selector name="request-parameter"
>                    
> src="org.apache.cocoon.selection.RequestParameterSelector"                    
>                     logger="sitemap.selector.requestparameter"/>
> </map:selectors>
> 
> This should be it, have fun
> 
> AS
> 
> 
> > 
> > 
> > Ard,
> > 
> > I am not getting that parameter picked on the XSL page,
> > not sure about XML one (with queries), can't see it.
> > Actually, is there a way to see the output of that SQL
> > transformer ?
> > 
> > Could you please give me a sample of
> > XSL file processing that rowset (to display it on the
> screen)?
> > Mine (below) is not working.
> > 
> > And please look at my 5 questions.  
> > 
> > TIA,
> > Oleg.
> > 
> > 
> > --- Ard Schrijvers <[EMAIL PROTECTED]> wrote:
> > 
> > > I dont understand your query file. What you should do is
> very
> > > simple:
> > > 
> > > sitemap part:
> > > <map:transform type="sql">
> > >        <map:parameter name="cust_id" value="{cust_id}"/>
> > >        <map:parameter name="use-connection"
> value="mbrdb"/>
> > >        <map:parameter name="show-nr-of-rows"
> value="true"/>
> > > </map:transform>
> > > 
> > > query part
> > > 
> > >  <content>  
> > >  <sql:execute-query>
> > >    <sql:query name="cust_data">
> > >      SELECT  col1, col2, col3
> > >      FROM  cust_table
> > >      WHERE  cust_id = <sql:substitute-value
> > > sql:name="cust_id"/>
> > >    </sql:query>
> > >    </sql:execute-query>
> > >  .... 
> > >  </content>
> > > 
> > > That is al. The map:paramter cust_id is by the sql
> transformer
> > > placed in <sql:substitute-value sql:name="cust_id"/>
> > > 
> > > Do not use the xsl:param name="param1" and try to place
> this
> > > value in the sql:subsitute. Did not read your entire mail
> but
> > > think this should solve at least the piece of code I saw,
> > > 
> > > AS
> > > 
> > > 
> > > > 
> > > > Hi,
> > > > 
> > > > I am trying to implement a popup which displays
> > > > on the screen data from several SQL queries (with
> parameter
> > > > passed, e.g.  "myurl?param1=123") using sitemap actions
> > > > with Cocoon 2.0.4. It is an addition to a large Cocoon
> app,
> > > > but none of older developers is around anymore. 
> > > > I am Cocoon newbie (was trying to follow their style,
> > > > but there are no similar things in that app).
> > > > 
> > > > So far I am getting a popup with parameter passed,
> > > > but it XSL page that parameter isn't getting picked up.
> > > > Instead I am getting on a screen a query text:
> > > >  "select ... from ... where cust_id=".
> > > > 
> > > > Here is what I have in sitemap:
> > > > <map:match pattern="custdata_popup">  
> > > >   <map:act type='request'>
> > > >     <map:parameter name="parameters" value="true"/>
> > > >     <map:generate src='xml/custdata_query.xml'/>
> > > >     <map:transform type="sql">
> > > >       <map:parameter name="cust_id" value="{cust_id}"/>
> > > >       <map:parameter name="use-connection"
> value="mbrdb"/>
> > > >       <map:parameter name="show-nr-of-rows"
> value="true"/>
> > > >     </map:transform>
> > > >     <map:transform type="xslt"
> > > > src="xslt/mbr/change_custdata_popup.xsl">
> > > >       <map:parameter name="use-request-parameters"
> > > > value="true"/>
> > > >     </map:transform>
> > > >     <map:serialize type="html"/>
> > > >   </map:act>
> > > > </map:match>
> > > > 
> > > > Here is a piece from the query file:
> > > > <xsl:param name='param1'/>
> > > > <content>  
> > > > <sql:execute-query>
> > > >   <sql:query name="cust_data">
> > > >     SELECT  col1, col2, col3
> > > >     FROM  cust_table
> > > >     WHERE  cust_id = <sql:substitute-value
> > > sql:name="param1"/>
> > > >   </sql:query>
> > > >   </sql:execute-query>
> > > > .... 
> > > > </content>
> > > > 
> > > > It seems that it is totally ignored,
> > > > at least XSL doesn't seem to get any output from
> > > SQLTransformer.
> 
=== message truncated ===


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