Hi-

I've put together a version of the SQL extension that accepts JNDI named connections. The usage is (nearly) identical to the current SQL extension except that a JNDI name is accepted in place of a ConnectionPool. The key class is JNDIXConnection, which is used in place of XConnection. The xalan_jndi_datasource.jar can simply be added to the classpath - it does not replace the Xalan library, but is added to it. Here is an example XSLT sheet using the class:


===================== XML ======================================== <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; xmlns:sql="xalan://org.apache.xalan.lib.sql.JNDIXConnection" extension-element-prefixes="sql">

        <xsl:variable name="jndiDatasource">jndi/mydatasource</xsl:param>

        
        <xsl:template match="/">

                <xsl:param name="queryString">SELECT COUNT(*) FROM 
mytable</xsl:param>

    <xsl:variable name="dbConnection" select="sql:new()"/>
                <xsl:if test="not(sql:connect($dbConnection, $jndiDatasource))">
                        <h1>Series Listing failed to connect to db via jndi 
connection</h1
                </xsl:if>

<xsl:variable name="table" select='sql:query($dbConnection, $queryString)'/>

                <xsl:if test="not($table)">
                        <h1>Error in Query</h1>
                        <xsl:copy-of 
select="sql:getError($dbConnection)/ext-error"/>
                </xsl:if>

                <xsl:apply-templates select="$table/sql/row-set"/>

    <!-- Closes this individual connection, returning nothing -->
    <xsl:value-of select="sql:close($dbConnection)"/>
        </xsl:template>


<xsl:template match="row"> <h1><xsl:value-of select="col[position() = 1]"/></h1> </xsl:template>

</xsl:stylesheet>
===================== /XML ========================================

Comments are appreciated. I'm not sure if the attachments will come thru, you are welcome to email me at:
eeverman at precedadesign d-o-t com if you would like a copy and did not receive it with this email.

Thanks,
Eric Everman


Attachment: xalan_jndi_datasource_docs.jar
Description: Binary data

Attachment: xalan_jndi_datasource_src.jar
Description: Binary data

Attachment: xalan_jndi_datasource.jar
Description: Binary data

Reply via email to