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]

Reply via email to