cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dean Cording <Dean.Cord...@kaz-group.com>
Subject RE: SQLTransformer not committing Inserts
Date Tue, 16 Sep 2003 00:58:06 GMT
Some more information and a work around.
 
The XLST Transformer isn't even invoked.  I can add random characters to
CodeAddTest.xsl to make it an invalid XSL file and no error is produced.
Interestingly if I use a DBAction (which I don't want to do) everything
works as intended.
 
The work around is to turn the pipeline being redirected to into a resource
and call the resource instead of redirecting to the pipeline.
 
Dean 

-----Original Message-----
From: Dean Cording [mailto:Dean.Cording@kaz-group.com]
Sent: Tuesday, 16 September 2003 9:23 AM
To: Cocoon Users (E-mail)
Subject: SQLTransformer not committing Inserts


I am having some problems with SQLTransformer not commiting inserts into a
database.  I am running Cocoon 2.1 and MS SQLServer.
 
My pipeline looks like:
 
               <map:match pattern="CodeCreate-add">
                    <map:generate type="request"/>
                    
                    <map:transform type="xslt" src="CodeAddTest.xsl">
                        <map:parameter name="use-request-parameters"
value="true"/> 
                    </map:transform>
                    
                    <map:transform type="sql">

                        <map:parameter name="use-connection"
value="{global:db-connection}"/> 
                        <map:parameter name="show-nr-of-rows" value="true"/>

                        <map:parameter name="isupdate" value="true"/>
                    </map:transform>
                    
                    <!-- Redirect back to the table display page -->
                    <map:redirect-to uri="CodeTableList"/>

                </map:match>
 
 
And CodeAddTest.xsl looks like:
 
<xsl:stylesheet version="1.0" xmlns:xsl="
http://www.w3.org/1999/XSL/Transform <http://www.w3.org/1999/XSL/Transform>
" 
                              xmlns:sql=" http://apache.org/cocoon/SQL/2.0
<http://apache.org/cocoon/SQL/2.0> ">
    <xsl:param name="CodeType"/>
    <xsl:param name="CodeValue"/>
    
    <xsl:template match="/">
                          
    <page>
        <execute-query xmlns=" http://apache.org/cocoon/SQL/2.0
<http://apache.org/cocoon/SQL/2.0> ">
            <query>  
                INSERT INTO Codes (CodeType, CodeValue)
                VALUES ('<xsl:value-of select="$CodeType"/>', '<xsl:value-of
select="$CodeValue"/>')
            </query>
        </execute-query>
    </page>  
    
    </xsl:template>
    
</xsl:stylesheet> 

 
The values to be inserted are generated from a form and passed in as request
parameters.  At the end of the pipeline it redirects to a list page that
shows all of the values in the database.  The problem is that the new values
aren't being inserted.  If I remove the redirect (and replace it with a
static page for example) then the insert works fine.
 
 
Any ideas?
 
 
Thanks,
 
Dean


Mime
View raw message