You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by ba...@locus.apache.org on 2000/11/10 08:53:51 UTC

cvs commit: xml-cocoon/samples/sql esql.xsd esql.xsl esql.xml

balld       00/11/09 23:53:51

  Modified:    samples/sql esql.xml
  Added:       samples/sql esql.xsd esql.xsl
  Log:
  updated to use and document the (hopefully) final namespace
  
  Revision  Changes    Path
  1.5       +36 -67    xml-cocoon/samples/sql/esql.xml
  
  Index: esql.xml
  ===================================================================
  RCS file: /home/cvs/xml-cocoon/samples/sql/esql.xml,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- esql.xml	2000/09/29 04:25:20	1.4
  +++ esql.xml	2000/11/10 07:53:50	1.5
  @@ -1,80 +1,49 @@
   <?xml version="1.0"?>
   
   <?cocoon-process type="xsp"?>
  -<?xml-logicsheet href="resource://org/apache/cocoon/processor/xsp/library/sql/esql.xsl"?>
  +<?cocoon-process type="xslt"?>
  +<?xml-stylesheet type="text/xsl" href="esql.xsl"?>
   
   <xsp:page
  -  language="java"
  -  xmlns:esql="http://apache.org/cocoon/SQL/v2"
     xmlns:xsp="http://www.apache.org/1999/XSP/Core"
  -  xmlns:request="http://www.apache.org/1999/XSP/Request"
  +  xmlns:esql="http://apache.org/cocoon/SQL/v2"
   >
   
   <page>
  -
  -<esql:execute-query inner-method="no">
  -<esql:driver>postgresql.Driver</esql:driver>
  -<esql:dburl>jdbc:postgresql://localhost/test</esql:dburl>
  -<esql:username>test</esql:username>
  -<esql:password>test</esql:password>
  -<esql:query>select * from department_table</esql:query>
  -<esql:results>
  - <department>
  - <id><esql:get-string column="id"/></id>
  - <name><esql:get-string column="name"/></name>
  - <employees>
  - <esql:execute-query inner-method="no">
  -  <esql:query>select * from employee_table where department_id = <esql:get-string column="id" ancestor="1"/></esql:query>
  -  <esql:results>
  -   <employee>
  -   <id><esql:get-string column="id"/></id>
  -   <name><esql:get-string column="name"/></name>
  -   </employee>
  -  </esql:results>
  - </esql:execute-query>
  - </employees>
  - </department>
  -</esql:results>
  -<esql:no-results>
  - <error>no results were found</error>
  -</esql:no-results>
  -<esql:error-results>
  - <message><esql:get-message/></message>
  - <stacktrace><esql:get-stacktrace/></stacktrace>
  -</esql:error-results>
  -</esql:execute-query>
   
  -<esql:execute-query>
  -<esql:driver>postgresql.Driver</esql:driver>
  -<esql:dburl>jdbc:postgresql://localhost/test</esql:dburl>
  -<esql:username>test</esql:username>
  -<esql:password>test</esql:password>
  -<esql:statement>select * from department_table where name = <esql:parameter><request:get-parameter name="name"/></esql:parameter></esql:statement>
  -<esql:results>
  - <department>
  - <id><esql:get-string column="id"/></id>
  - <name><esql:get-string column="name"/></name>
  - <employees>
  - <esql:execute-query>
  -  <esql:query>select * from employee_table where department_id = <esql:get-string column="id" ancestor="1"/></esql:query>
  -  <esql:results>
  -   <employee>
  -   <id><esql:get-string column="id"/></id>
  -   <name><esql:get-string column="name"/></name>
  -   </employee>
  -  </esql:results>
  - </esql:execute-query>
  - </employees>
  - </department>
  -</esql:results>
  -<esql:no-results>
  - <error>no results were found</error>
  -</esql:no-results>
  -<esql:error-results>
  - <message><esql:get-message/></message>
  - <stacktrace><esql:get-stacktrace/></stacktrace>
  -</esql:error-results>
  -</esql:execute-query>
  +<esql:connection>
  +  <esql:driver>org.postgresql.Driver</esql:driver>
  +  <esql:dburl>jdbc:postgresql://localhost/test</esql:dburl>
  +  <esql:username>test</esql:username>
  +  <esql:password>test</esql:password>
  +  <esql:execute-query>
  +    <esql:query>select id,name from department_table</esql:query>
  +    <esql:results>
  +      <header>header info</header>
  +      <esql:row-results>
  +        <department>
  +          <id><esql:get-int column="id"/></id>
  +          <name><esql:get-string column="name"/></name>
  +          <esql:connection>
  +            <esql:driver>org.postgresql.Driver</esql:driver>
  +            <esql:dburl>jdbc:postgresql://localhost/test</esql:dburl>
  +            <esql:username>test</esql:username>
  +            <esql:password>test</esql:password>
  +            <esql:execute-query>
  +              <esql:query>select name from user_table where department_id = <esql:parameter type="int"><esql:get-int ancestor="1" column="id"/></esql:parameter></esql:query>
  +              <esql:results>
  +                <esql:row-results>
  +                  <user><esql:get-string column="name"/></user>
  +                </esql:row-results>
  +              </esql:results>
  +            </esql:execute-query>
  +          </esql:connection>
  +        </department>
  +      </esql:row-results>
  +      <footer>footer info</footer>
  +    </esql:results>
  +  </esql:execute-query>
  +</esql:connection>
   
   </page>
   
  
  
  
  1.1                  xml-cocoon/samples/sql/esql.xsd
  
  Index: esql.xsd
  ===================================================================
  <?xml version="1.0"?>
  
  <schema
    xmlns="http://www.w3.org/2000/10/XMLSchema"
    xmlns:esql="http://apache.org/cocoon/SQL/v2"
  >
  
  <element name="esql:connection">
    <complexType>
      <choice>
        <sequence>
          <!-- not schema strings - xsp strings -->
          <element name="esql:driver" type="string" minOccurs="1" maxOccurs="1"/>
          <element name="esql:dburl" type="string" minOccurs="1" maxOccurs="1"/>
          <element name="esql:username" type="string" minOccurs="0" maxOccurs="1"/>
          <element name="esql:password" type="string" minOccurs="0" maxOccurs="1"/>
        </sequence>
        <element name="esql:pool" type="string" minOccurs="1" maxOccurs="1"/>
      </choice>
      <element name="esql:execute-query" minOccurs="0" maxOccurs="unbounded">
        <complexType>
          <sequence>
            <element name="esql:query" type="string" minOccurs="1" maxOccurs="1"/>
            <element name="esql:results" minOccurs="0" maxOccurs="1">
                <!-- strings and stuff from other namespaces -->
                <element name="esql:row-results" minOccurs="0" maxOccurs="1"/>
                <!-- strings and stuff from other namespaces -->
                <element name="esql:no-results" minOccurs="0" maxOccurs="1"/>
                <!-- strings and stuff from other namespaces -->
              </complexType>
            </element>
            <element name="esql:update-results" minOccurs="0" maxOccurs="1"/>
            <element name="esql:error-results" minOccurs="0" maxOccurs="1"/>
          </sequence>
        </complexType>
      </element>
    </complexType>
  </element>
  
  </schema>
  
  
  
  1.1                  xml-cocoon/samples/sql/esql.xsl
  
  Index: esql.xsl
  ===================================================================
  <?xml version="1.0"?>
  
  <xsl:stylesheet
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    version="1.0"
  >
  
  <xsl:template match="/page">
    <html>
      <head>
        <title>Apache Cocoon - esql sample page</title>
      </head>
      <body>
        <p>
          <xsl:value-of select="header"/>
        </p>
        <table border="1">
          <xsl:for-each select="department">
            <tr>
              <td>
                <xsl:value-of select="id"/>
              </td>
              <td>
                <xsl:value-of select="name"/>
              </td>
              <td>
                <table border="1">
                  <xsl:for-each select="user">
                    <tr>
                      <td>
                        <xsl:value-of select="."/>
                      </td>
                    </tr>
                  </xsl:for-each>
                </table>
              </td>
            </tr>
          </xsl:for-each>
        </table>
        <p>
          <xsl:value-of select="footer"/>
        </p>
      </body>
    </html>
  </xsl:template>
  
  </xsl:stylesheet>