johng 01/08/01 11:30:32
Added: java/samples/extensions/sql/show-error invalidConn.xsl
invalidPQuery.xsl invalidQuery.xsl
Removed: java/samples/extensions/sql/show-error dbtest.xsl
Log:
dded new error test cases
Submitted by: John Gentilin
Revision Changes Path
1.1
xml-xalan/java/samples/extensions/sql/show-error/invalidConn.xsl
Index: invalidConn.xsl
===================================================================
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"
xmlns:sql="org.apache.xalan.lib.sql.XConnection"
extension-element-prefixes="sql">
<xsl:output method="html" indent="yes"/>
<xsl:param name="driver" select="'org.enhydra.instantdb.jdbc.idbDriver'"/>
<!--
ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR
We are specifying a table that does not exist,
which will cause a connection error
ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR
-->
<xsl:param name="datasource"
select="'jdbc:idb:../../instantdb/DoesNotExist.prp'"/>
<xsl:param name="query" select="'SELECT * FROM import2'"/>
<xsl:template match="/">
<xsl:variable name="db" select="sql:new()"/>
<!-- Connect to the database with minimal error detection -->
<xsl:if test="not(sql:connect($db, $driver, $datasource))" >
<xsl:message>Error Connecting to the Database</xsl:message>
<xsl:copy-of select="sql:getError($db)/ext-error" />
</xsl:if>
<HTML>
<HEAD>
<TITLE>List of products</TITLE>
</HEAD>
<BODY>
<TABLE border="1">
<xsl:variable name="table" select='sql:query($db, $query)'/>
<!--
Let's include Error Checking, the error is actually stored
in the connection since $table will be either data or null
-->
<xsl:if test="not($table)" >
<xsl:message>Error in Query</xsl:message>
<xsl:copy-of select="sql:getError($db)/ext-error" />
</xsl:if>
<TR>
<xsl:for-each select="$table/row-set/column-header">
<TH><xsl:value-of select="@column-label"/></TH>
</xsl:for-each>
</TR>
<xsl:apply-templates select="$table/row-set/row"/>
</TABLE>
</BODY>
</HTML>
<xsl:value-of select="sql:close($db)"/>
</xsl:template>
<xsl:template match="row">
<TR><xsl:apply-templates select="col"/></TR>
</xsl:template>
<xsl:template match="col">
<TD><xsl:value-of select="text()"/></TD>
</xsl:template>
</xsl:stylesheet>
1.1
xml-xalan/java/samples/extensions/sql/show-error/invalidPQuery.xsl
Index: invalidPQuery.xsl
===================================================================
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"
xmlns:sql="org.apache.xalan.lib.sql.XConnection"
extension-element-prefixes="sql">
<xsl:output method="html" indent="yes"/>
<xsl:param name="driver" select="'org.enhydra.instantdb.jdbc.idbDriver'"/>
<xsl:param name="datasource" select="'jdbc:idb:../../instantdb/sample.prp'"/>
<xsl:param name="query" select="'SELECT * FROM import1 where ProductID = ?'"/>
<xsl:template match="/">
<xsl:variable name="db" select="sql:new()"/>
<!-- Connect to the database with minimal error detection -->
<xsl:if test="not(sql:connect($db, $driver, $datasource))" >
<xsl:message>Error Connecting to the Database</xsl:message>
<xsl:copy-of select="sql:getError($db)/ext-error" />
</xsl:if>
<HTML>
<HEAD>
<TITLE>List of products</TITLE>
</HEAD>
<BODY>
<TABLE border="1">
<!--
ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR
We are specifying an extra value where are query only expects one
ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR
-->
<xsl:value-of select="sql:clearParameters()"/>
<xsl:value-of select="sql:addParameterWithType($db, '1', 'short')"/>
<xsl:value-of select="sql:addParameterWithType($db, '1', 'short')"/>
<xsl:variable name="table" select='sql:pquery($db, $query)'/>
<!--
Let's include Error Checking, the error is actually stored
in the connection since $table will be either data or null
-->
<xsl:if test="not($table)" >
<xsl:message>Error in Query</xsl:message>
<xsl:copy-of select="sql:getError($db)/ext-error" />
</xsl:if>
<TR>
<xsl:for-each select="$table/row-set/column-header">
<TH><xsl:value-of select="@column-label"/></TH>
</xsl:for-each>
</TR>
<xsl:apply-templates select="$table/row-set/row"/>
</TABLE>
</BODY>
</HTML>
<xsl:value-of select="sql:close($db)"/>
</xsl:template>
<xsl:template match="row">
<TR><xsl:apply-templates select="col"/></TR>
</xsl:template>
<xsl:template match="col">
<TD><xsl:value-of select="text()"/></TD>
</xsl:template>
</xsl:stylesheet>
1.1
xml-xalan/java/samples/extensions/sql/show-error/invalidQuery.xsl
Index: invalidQuery.xsl
===================================================================
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"
xmlns:sql="org.apache.xalan.lib.sql.XConnection"
extension-element-prefixes="sql">
<xsl:output method="html" indent="yes"/>
<xsl:param name="driver" select="'org.enhydra.instantdb.jdbc.idbDriver'"/>
<xsl:param name="datasource" select="'jdbc:idb:../../instantdb/sample.prp'"/>
<!--
ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR
We will specify a table that does not exist
in our Database, causing the Query to Fail
ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR
-->
<xsl:param name="query" select="'SELECT * FROM TableNotDefined'"/>
<xsl:template match="/">
<xsl:variable name="db" select="sql:new()"/>
<!-- Connect to the database with minimal error detection -->
<xsl:if test="not(sql:connect($db, $driver, $datasource))" >
<xsl:message>Error Connecting to the Database</xsl:message>
<xsl:copy-of select="sql:getError($db)/ext-error" />
</xsl:if>
<HTML>
<HEAD>
<TITLE>List of products</TITLE>
</HEAD>
<BODY>
<TABLE border="1">
<xsl:variable name="table" select='sql:query($db, $query)'/>
<!--
Let's include Error Checking, the error is actually stored
in the connection since $table will be either data or null
-->
<xsl:if test="not($table)" >
<xsl:message>Error in Query</xsl:message>
<xsl:copy-of select="sql:getError($db)/ext-error" />
</xsl:if>
<TR>
<xsl:for-each select="$table/row-set/column-header">
<TH><xsl:value-of select="@column-label"/></TH>
</xsl:for-each>
</TR>
<xsl:apply-templates select="$table/row-set/row"/>
</TABLE>
</BODY>
</HTML>
<xsl:value-of select="sql:close($db)"/>
</xsl:template>
<xsl:template match="row">
<TR><xsl:apply-templates select="col"/></TR>
</xsl:template>
<xsl:template match="col">
<TD><xsl:value-of select="text()"/></TD>
</xsl:template>
</xsl:stylesheet>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]