xml-general-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From shan...@apache.org
Subject cvs commit: xml-site/targets/cocoon/tutorial tutorial-generator.html index.html tutorial-develop-webapp.html tutorial-rmi-generator.html tutorial-shots.html
Date Thu, 22 Aug 2002 02:50:38 GMT
shannon     2002/08/21 19:50:37

  Modified:    targets/cocoon catalog-test.html changes.html contrib.html
                        doclist.html index.html introduction.html
                        license.html mail-archives.html mail-lists.html
                        overview.html performancetips.html todo.html
                        who.html
               targets/cocoon/developing avalon.html datasources.html
                        extending.html httprequest.html
               targets/cocoon/faq faq-aggregators.html
                        faq-configure-c2.html faq-databases.html
                        faq-install.html faq-sitemap.html faq-xslt.html
               targets/cocoon/howto howto-author-core-docs.html
                        howto-author-faq.html howto-author-howto.html
                        howto-author-snippet.html howto-bugzilla.html
                        howto-html-pdf-publishing.html
                        howto-paginator-transformer.html howto-patch.html
                        index.html
               targets/cocoon/installing index.html jars.html
               targets/cocoon/link books.html dtd-schema.html hosting.html
                        livesites.html
               targets/cocoon/plan changes-doc.html doc.html
                        issues-doc.html
               targets/cocoon/tutorial index.html
                        tutorial-develop-webapp.html
                        tutorial-rmi-generator.html tutorial-shots.html
  Added:       targets/cocoon/howto/chaperon howto-chaperon-grm.html
                        howto-chaperon-intro.html
                        howto-chaperon-txtgrm.html
               targets/cocoon/howto/chaperon/images bottom.gif
                        button-asf-lo.gif button-w3c-lo.gif
                        button-xml-lo.gif close.gif dot.gif join.gif
                        label-background_a.gif label-background_b.gif
                        line.gif logo.gif right.gif separator.gif void.gif
               targets/cocoon/tutorial tutorial-generator.html
  Log:
  site update
  
  Revision  Changes    Path
  1.6       +3 -0      xml-site/targets/cocoon/catalog-test.html
  
  Index: catalog-test.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/catalog-test.html,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- catalog-test.html	15 Jul 2002 13:57:00 -0000	1.5
  +++ catalog-test.html	22 Aug 2002 02:50:34 -0000	1.6
  @@ -66,6 +66,9 @@
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="index.html">Index</a></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  +<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="news.html">News</a></td>
  +</tr>
  +<tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="license.html">License</a></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  
  
  
  1.25      +153 -5    xml-site/targets/cocoon/changes.html
  
  Index: changes.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/changes.html,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -r1.24 -r1.25
  --- changes.html	15 Jul 2002 13:57:00 -0000	1.24
  +++ changes.html	22 Aug 2002 02:50:34 -0000	1.25
  @@ -66,6 +66,9 @@
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="index.html">Index</a></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  +<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="news.html">News</a></td>
  +</tr>
  +<tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="license.html">License</a></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  @@ -182,14 +185,158 @@
   
    
   
  - <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b> 2.0.4-dev (July 15 2002)</b></font>
  + <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b> 2.0.4-dev (August 21 2002)</b></font>
   <ul>
     
   <li>
  +<font face="verdana, helvetica, sans serif"><img align="absmiddle" border="0" alt="update" src="images/update.jpg">
  +    In addition to attributes in same namespace with elements,
  +    link serializer reacts on non-namespaced attributes too. This allows
  +    processing of (strict) XHTML.
  +  (VG)</font>
  +</li>
  +  
  +<li>
  +<font face="verdana, helvetica, sans serif"><img align="absmiddle" border="0" alt="add" src="images/add.jpg">
  +   Backport usage of InputModules to compiled sitemap.
  +  (CH)</font>
  +</li>
  +  
  +<li>
  +<font face="verdana, helvetica, sans serif"><img align="absmiddle" border="0" alt="update" src="images/update.jpg">
  +   Sync modules and related components with HEAD.
  +  (CH)</font>
  +</li>
  +  
  +<li>
  +<font face="verdana, helvetica, sans serif"><img align="absmiddle" border="0" alt="add" src="images/add.jpg">
  +   Added some more types understood by modular database actions.
  +  (CH)</font>
  +</li>
  +  
  +<li>
  +<font face="verdana, helvetica, sans serif"><img align="absmiddle" border="0" alt="fix" src="images/fix.jpg">
  +   Request logicsheet: Fix session tags.
  +  (CH)</font>
  +</li>
  +  
  +<li>
   <font face="verdana, helvetica, sans serif"><img align="absmiddle" border="0" alt="add" src="images/add.jpg">
  -     PLACEHOLDER
  +   Added some more InputModules.
  +  (CH)</font>
  +</li>
  +  
  +<li>
  +<font face="verdana, helvetica, sans serif"><img align="absmiddle" border="0" alt="update" src="images/update.jpg">
  +   Changed existing OutputModules to not use ":" to separate key prefix from
  +   suffix if prefix is an empty string.
  +  (CH)</font>
  +</li>
  +  
  +<li>
  +<font face="verdana, helvetica, sans serif"><img align="absmiddle" border="0" alt="add" src="images/add.jpg">
  +   Simple Formvalidation: FormValidatorAction sets attribute "*" to indicate
  +   overall validation status. Added SimpleFormTransformer that fills XHTML form
  +   fields with values from request parameters and allows conditional error tags
  +   depending on validation result. This removes the requirement for
  +   XSP. Changed ordering of error levels: "notpresent" (indicates that no
  +   validation result is present for this parameter) moves between "ok" and
  +   "error". New error level "maxerror" used in conjunction with the
  +   transformer, is never set, used as upper bound.
  +  (CH)</font>
  +</li>
  +  
  +<li>
  +<font face="verdana, helvetica, sans serif"><img align="absmiddle" border="0" alt="fix" src="images/fix.jpg">
  +   (Modular) DatabaseActions: select produced wrong result if no rows were
  +   found, query action returned broken result.
  +  (CH)</font>
  +</li>
  +  
  +<li>
  +<font face="verdana, helvetica, sans serif"><img align="absmiddle" border="0" alt="update" src="images/update.jpg">
  +   ESQL: Allow arbitrary types for prepared and callable statements via
  +   dynamically loading classes like the SQLTransformer does. Is-null now uses
  +   dynamic colum specification. Fixed skip-row feature, which was off by one.
  +   Added tag to get connection meta data.
  +  (CH)</font>
  +</li>
  +  
  +<li>
  +<font face="verdana, helvetica, sans serif"><img align="absmiddle" border="0" alt="fix" src="images/fix.jpg">
  +    Fixed NPE in the recycling phase of content aggregation.
  +  (CZ)</font>
  +</li>
  +  
  +<li>
  +<font face="verdana, helvetica, sans serif"><img align="absmiddle" border="0" alt="fix" src="images/fix.jpg">
  +    Fixed bug in cocoon pseudo protocol involving aggregation of aggregated
  +    resources spanning several sitemaps.
  +  (VG) Fixes <a href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=9288">bug 9288</a>.</font>
  +</li>
  +  
  +<li>
  +<font face="verdana, helvetica, sans serif"><img align="absmiddle" border="0" alt="fix" src="images/fix.jpg">
  +    Conect to the XML:DB once, from the XMLDBSourceFactory.
  +  (VG)</font>
  +</li>
  +  
  +<li>
  +<font face="verdana, helvetica, sans serif"><img align="absmiddle" border="0" alt="fix" src="images/fix.jpg">
  +    &lt;xsp-util:include-expr/&gt; includes any object, converting it to string.
  +  (VG)</font>
  +</li>
  +  
  +<li>
  +<font face="verdana, helvetica, sans serif"><img align="absmiddle" border="0" alt="update" src="images/update.jpg">
  +    XSP now verifies that value of attribute name on xsp:element does not
  +    contains ':'. To create namespaced elements, uri and prefix attributes
  +    must be used.
  +  (VG)</font>
  +</li>
  +  
  +<li>
  +<font face="verdana, helvetica, sans serif"><img align="absmiddle" border="0" alt="fix" src="images/fix.jpg">
  +    Request, response, and session logicsheet were incorrectly returning
  +    result when as="xml" is specified.
  +  (VG)</font>
  +</li>
  +  
  +<li>
  +<font face="verdana, helvetica, sans serif"><img align="absmiddle" border="0" alt="update" src="images/update.jpg">
  +    XScript now has better variable management: variables of request,
  +    session, global, and page scope are stored not in the XScriptManager,
  +    but as request, session, context attributes, or as XSP page field
  +    (respectively). Chances of memory leaks are highly reduced.
  +  (VG)</font>
  +</li>
  +  
  +<li>
  +<font face="verdana, helvetica, sans serif"><img align="absmiddle" border="0" alt="fix" src="images/fix.jpg">
  +    Include all warnings and errors reported by the XSLT engine into the
  +    TransformerException if transformation fails or terminated by the
  +    stylesheet.
  +  (VG)</font>
  +</li>
  +  
  +<li>
  +<font face="verdana, helvetica, sans serif"><img align="absmiddle" border="0" alt="update" src="images/update.jpg">
  +    Update HSQLDB to version 1.7.0. Now it properly shuts down with Cocoon.
  +  (VG)</font>
  +</li>
  +  
  +<li>
  +<font face="verdana, helvetica, sans serif"><img align="absmiddle" border="0" alt="update" src="images/update.jpg">
  +    All log messages from FOP now go into the logs instead of printing them to the screen.
     (CZ)</font>
   </li>
  +  
  +<li>
  +<font face="verdana, helvetica, sans serif"><img align="absmiddle" border="0" alt="fix" src="images/fix.jpg">
  +   Applied patch for MaybeUploadRequestFactoryImpl which sets the timeout for a session to
  +   infinite during an upload and restores it afterwards.
  +  (CZ) Thanks to <a href="mailto:stuart.roebuck@adolos.co.uk ">Stuart Roebuck</a>. Fixes <a href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10254">bug 10254</a>.</font>
  +</li>
    
   </ul>
    
  @@ -223,7 +370,7 @@
     
   <li>
   <font face="verdana, helvetica, sans serif"><img align="absmiddle" border="0" alt="fix" src="images/fix.jpg">
  -   Fix NullPointerException in Notifier.
  +   Fixed NullPointerException in Notifier.
     (VG) Thanks to <a href="mailto:pik@uniquare.com">Joachim Piketz</a>. Fixes <a href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10311">bug 10311</a>.</font>
   </li>
     
  @@ -253,13 +400,14 @@
     
   <li>
   <font face="verdana, helvetica, sans serif"><img align="absmiddle" border="0" alt="fix" src="images/fix.jpg">
  -   Fix sitemap compilation error when matchers are used within view or resource.
  +   Fixed sitemap compilation error when matchers are used within view or
  +   resource.
     (VG) Thanks to <a href="mailto:michaelm@fztig938.bank.dresdner.net">Michael Melhem</a>. Fixes <a href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=8658">bug 8658</a>.</font>
   </li>
     
   <li>
   <font face="verdana, helvetica, sans serif"><img align="absmiddle" border="0" alt="fix" src="images/fix.jpg">
  -   Fix sitemap compilation error when actions are used within view.
  +   Fixed sitemap compilation error when actions are used within view.
     (VG) Thanks to <a href="mailto:michaelm@fztig938.bank.dresdner.net">Michael Melhem</a>. Fixes <a href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=8509">bug 8509</a>.</font>
   </li>
     
  
  
  
  1.9       +3 -0      xml-site/targets/cocoon/contrib.html
  
  Index: contrib.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/contrib.html,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- contrib.html	15 Jul 2002 13:57:00 -0000	1.8
  +++ contrib.html	22 Aug 2002 02:50:34 -0000	1.9
  @@ -66,6 +66,9 @@
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="index.html">Index</a></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  +<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="news.html">News</a></td>
  +</tr>
  +<tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="license.html">License</a></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  
  
  
  1.6       +31 -0     xml-site/targets/cocoon/doclist.html
  
  Index: doclist.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/doclist.html,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- doclist.html	15 Jul 2002 13:57:00 -0000	1.5
  +++ doclist.html	22 Aug 2002 02:50:34 -0000	1.6
  @@ -66,6 +66,9 @@
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="index.html">Index</a></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  +<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="news.html">News</a></td>
  +</tr>
  +<tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="license.html">License</a></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  @@ -213,6 +216,10 @@
   </li>
       
   <li>
  +<font face="verdana, helvetica, sans serif"><a href="news.html">News</a></font>
  +</li>
  +    
  +<li>
   <font face="verdana, helvetica, sans serif"><a href="license.html">License</a></font>
   </li>
       
  @@ -657,6 +664,10 @@
   <li>
   <font face="verdana, helvetica, sans serif"><a href="userdocs/generators/linkstatus-generator.html">LinkStatus Generator</a></font>
   </li>
  +    
  +<li>
  +<font face="verdana, helvetica, sans serif"><a href="userdocs/generators/textparser-generator.html">Text Parser Generator</a></font>
  +</li>
     
   </ul>
   </blockquote>
  @@ -764,6 +775,14 @@
   <li>
   <font face="verdana, helvetica, sans serif"><a href="userdocs/transformers/sourcewriting-transformer.html">SourceWriting Transformer</a></font>
   </li>
  +    
  +<li>
  +<font face="verdana, helvetica, sans serif"><a href="userdocs/transformers/augment-transformer.html">Augment Transformer</a></font>
  +</li>
  +    
  +<li>
  +<font face="verdana, helvetica, sans serif"><a href="userdocs/transformers/textparser-transformer.html">Text Parser Transformer</a></font>
  +</li>
     
   </ul>
   </blockquote>
  @@ -1034,6 +1053,10 @@
   </p>
   <blockquote>
   <ul>
  +    
  +<li>
  +<font face="verdana, helvetica, sans serif"><a href="userdocs/actions/session-action.html">Session Action</a></font>
  +</li>
     
   </ul>
   </blockquote>
  @@ -1194,6 +1217,10 @@
   </li>
       
   <li>
  +<font face="verdana, helvetica, sans serif"><a href="tutorial/tutorial-generator.html">Custom Generator</a></font>
  +</li>
  +    
  +<li>
   <font face="verdana, helvetica, sans serif"><a href="tutorial/tutorial-rmi-generator.html">RMIServer</a></font>
   </li>
     
  @@ -1239,6 +1266,10 @@
       
   <li>
   <font face="verdana, helvetica, sans serif"><a href="howto/howto-html-pdf-publishing.html">HTML-PDF</a></font>
  +</li>
  +    
  +<li>
  +<font face="verdana, helvetica, sans serif"><a href="howto/chaperon/howto-chaperon-intro.html">Chaperon</a></font>
   </li>
     
   </ul>
  
  
  
  1.28      +13 -0     xml-site/targets/cocoon/index.html
  
  Index: index.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/index.html,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- index.html	15 Jul 2002 13:57:00 -0000	1.27
  +++ index.html	22 Aug 2002 02:50:34 -0000	1.28
  @@ -66,6 +66,9 @@
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><span class="menuselected">Index</span></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  +<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="news.html">News</a></td>
  +</tr>
  +<tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="license.html">License</a></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  @@ -227,6 +230,16 @@
   <font color="black" face="verdana,helvetica,sanserif">
      If you are looking for a past generation of Cocoon (no longer supported but still available), 
      go to the <a href="http://xml.apache.org/cocoon1/">Cocoon 1.x area</a>.	
  +   			 </font>
  +</p>
  +		
  +		
  +<font face="verdana, helvetica, sans serif" size="+2" color="#0086b2">More News about Cocoon</font>
  +<hr style="color: #0086b2" size="1">
  +			
  +<p>
  +<font color="black" face="verdana,helvetica,sanserif">
  +Check out our <a href="news.html">news page</a> for more up-to-date news about Cocoon.
      			 </font>
   </p>
   		
  
  
  
  1.5       +3 -0      xml-site/targets/cocoon/introduction.html
  
  Index: introduction.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/introduction.html,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- introduction.html	15 Jul 2002 13:57:00 -0000	1.4
  +++ introduction.html	22 Aug 2002 02:50:35 -0000	1.5
  @@ -66,6 +66,9 @@
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="index.html">Index</a></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  +<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="news.html">News</a></td>
  +</tr>
  +<tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="license.html">License</a></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  
  
  
  1.20      +3 -0      xml-site/targets/cocoon/license.html
  
  Index: license.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/license.html,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- license.html	15 Jul 2002 13:57:00 -0000	1.19
  +++ license.html	22 Aug 2002 02:50:35 -0000	1.20
  @@ -66,6 +66,9 @@
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="index.html">Index</a></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  +<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="news.html">News</a></td>
  +</tr>
  +<tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><span class="menuselected">License</span></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  
  
  
  1.10      +13 -3     xml-site/targets/cocoon/mail-archives.html
  
  Index: mail-archives.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/mail-archives.html,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- mail-archives.html	15 Jul 2002 13:57:00 -0000	1.9
  +++ mail-archives.html	22 Aug 2002 02:50:35 -0000	1.10
  @@ -66,6 +66,9 @@
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="index.html">Index</a></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  +<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="news.html">News</a></td>
  +</tr>
  +<tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="license.html">License</a></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  @@ -204,6 +207,7 @@
       
   <td align="center" valign="center" rowspan="1" colspan="1" bgcolor="#039acc"><font face="verdana,helvetica,sanserif" size="-1" color="white"><b>Cocoon-users</b></font></td>
       <td align="center" valign="center" rowspan="1" colspan="1" bgcolor="#039acc"><font face="verdana,helvetica,sanserif" size="-1" color="white"><b>Cocoon-dev</b></font></td>
  +    <td align="center" valign="center" rowspan="1" colspan="1" bgcolor="#039acc"><font face="verdana,helvetica,sanserif" size="-1" color="white"><b>Cocoon-docs</b></font></td>
       <td align="center" valign="center" rowspan="1" colspan="1" bgcolor="#039acc"><font face="verdana,helvetica,sanserif" size="-1" color="white"><b>Regularly updated?</b></font></td>
       <td align="center" valign="center" rowspan="1" colspan="1" bgcolor="#039acc"><font face="verdana,helvetica,sanserif" size="-1" color="white"><b>Searchable?</b></font></td>
       <td align="center" valign="center" rowspan="1" colspan="1" bgcolor="#039acc"><font face="verdana,helvetica,sanserif" size="-1" color="white"><b>Speed</b></font></td>
  @@ -217,7 +221,9 @@
   <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black"><a href="http://marc.theaimsgroup.com/?l=xml-cocoon-users&r=1&w=2">
       Aims Group - U</a></font></td>
       <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black"><a href="http://marc.theaimsgroup.com/?l=xml-cocoon-dev&r=1&w=2">
  -    Aims Group - D</a></font></td>
  +    Aims Group - De</a></font></td>
  +    <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black"><a href="http://marc.theaimsgroup.com/?l=xml-cocoon-docs&r=1&w=2">
  +    Aims Group - Do</a></font></td>
       <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">Yes</font></td>
       <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">Onsite, by subject/author/body</font></td>
       <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">4/5</font></td>
  @@ -231,7 +237,8 @@
   <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black"><a href="http://www.mail-archive.com/cocoon-users@xml.apache.org/">
        Mail Archive - U</a></font></td>
       <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black"><a href="http://www.mail-archive.com/cocoon-dev@xml.apache.org/">
  -     Mail Archive - D</a></font></td>
  +     Mail Archive - De</a></font></td>
  +    <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">No, at present</font></td>
       <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">Yes</font></td>
       <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">Onsite and can also use www.google.com and prepend search with
        <code><font face="courier, monospaced">site:www.mail-archive.com cocoon-users</font></code></font></td>
  @@ -245,7 +252,9 @@
   <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black"><a href="http://xml.apache.org/mail/cocoon-users/">
        xml.apache.org - U</a></font></td>
       <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black"><a href="http://xml.apache.org/mail/cocoon-dev/">
  -     xml.apache.org - D</a></font></td>
  +     xml.apache.org - De</a></font></td>
  +    <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black"><a href="http://xml.apache.org/mail/cocoon-docs/">
  +     xml.apache.org - Do</a></font></td>
       <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">Yes</font></td>
       <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">No</font></td>
       <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">2/5</font></td>
  @@ -259,6 +268,7 @@
        cocoon-users-help @ xml.apache.org</a> for automated instructions)</font></td>
       <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">Ezlm archives (email <a href="mailto:cocoon-dev-help@xml.apache.org">
        cocoon-dev-help @ xml.apache.org</a> for automated instructions)</font></td>
  +    <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">??? (Does someone know?)</font></td>
       <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">Yes</font></td>
       <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">No</font></td>
       <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">1/5</font></td>
  
  
  
  1.9       +3 -0      xml-site/targets/cocoon/mail-lists.html
  
  Index: mail-lists.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/mail-lists.html,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- mail-lists.html	15 Jul 2002 13:57:00 -0000	1.8
  +++ mail-lists.html	22 Aug 2002 02:50:35 -0000	1.9
  @@ -66,6 +66,9 @@
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="index.html">Index</a></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  +<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="news.html">News</a></td>
  +</tr>
  +<tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="license.html">License</a></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  
  
  
  1.7       +3 -0      xml-site/targets/cocoon/overview.html
  
  Index: overview.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/overview.html,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- overview.html	15 Jul 2002 13:57:00 -0000	1.6
  +++ overview.html	22 Aug 2002 02:50:35 -0000	1.7
  @@ -66,6 +66,9 @@
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="index.html">Index</a></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  +<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="news.html">News</a></td>
  +</tr>
  +<tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="license.html">License</a></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  
  
  
  1.4       +15 -2     xml-site/targets/cocoon/performancetips.html
  
  Index: performancetips.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/performancetips.html,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- performancetips.html	15 Jul 2002 13:57:00 -0000	1.3
  +++ performancetips.html	22 Aug 2002 02:50:35 -0000	1.4
  @@ -66,6 +66,9 @@
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="index.html">Index</a></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  +<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="news.html">News</a></td>
  +</tr>
  +<tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="license.html">License</a></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  @@ -280,7 +283,6 @@
      
   <blockquote>
   <ul>
  -      
        
   <li>
   <font face="verdana, helvetica, sans serif">Fine-tune the pool sizes for components in the files cocoon.xconf and
  @@ -308,7 +310,7 @@
        
   <li>
   <font face="verdana, helvetica, sans serif">If you are using the Caching Pipeline, you should be able to experience 
  -     better performance each time you request it.  However, if your cache is set 
  +     better performance each time you request it. However, if your cache is set 
        too small to keep the entire XML in memory, the cache will be of no benefit.</font>
   </li>
   
  @@ -321,6 +323,17 @@
   <li>
   <font face="verdana, helvetica, sans serif">Only use dynamic data when it is needed. Dynamic pages can't be
         cached 100%.</font>
  +</li>
  +
  +     
  +<li>
  +<font face="verdana, helvetica, sans serif">Don't put Cocoon webapp too deep into directory structure. Cache
  +     keys contain absolute file names (or hash values of the absolute file
  +     names - in 2.0.X series), and the deeper cocoon is located in the
  +     filesystem, the longer keys are becoming. Obviously, longer keys will
  +     take more time to process them. In worst case scenario, slowdown up to
  +     10% could be achieved (unscientifical observations, do your own
  +     test).</font>
   </li>
      
   </ul>
  
  
  
  1.21      +3 -5      xml-site/targets/cocoon/todo.html
  
  Index: todo.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/todo.html,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- todo.html	15 Jul 2002 13:57:00 -0000	1.20
  +++ todo.html	22 Aug 2002 02:50:35 -0000	1.21
  @@ -66,6 +66,9 @@
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="index.html">Index</a></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  +<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="news.html">News</a></td>
  +</tr>
  +<tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="license.html">License</a></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  @@ -231,11 +234,6 @@
   <font face="verdana, helvetica, sans serif"><b>[code]</b> 
      Complete (means put everything we know of into even if it has to be 
      commented) the cocoon.xconf file and put descriptions into it
  -  </font>
  -</li>
  -<li>
  -<font face="verdana, helvetica, sans serif"><b>[code]</b> 
  -   Close hsqldb server properly on shutdown
     </font>
   </li>
   <li>
  
  
  
  1.7       +7 -4      xml-site/targets/cocoon/who.html
  
  Index: who.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/who.html,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- who.html	15 Jul 2002 13:57:01 -0000	1.6
  +++ who.html	22 Aug 2002 02:50:35 -0000	1.7
  @@ -66,6 +66,9 @@
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="index.html">Index</a></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  +<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="news.html">News</a></td>
  +</tr>
  +<tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="license.html">License</a></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  @@ -271,6 +274,10 @@
   </li>
         
   <li>
  +<font face="verdana, helvetica, sans serif">Peter Royal (proyal@apache.org)</font>
  +</li>
  +      
  +<li>
   <font face="verdana, helvetica, sans serif">Diana Shannon (shannon@apache.org)</font>
   </li>
         
  @@ -325,10 +332,6 @@
         
   <li>
   <font face="verdana, helvetica, sans serif">Giacomo Pati (giacomo@apache.org)</font>
  -</li>
  -      
  -<li>
  -<font face="verdana, helvetica, sans serif">Peter Royal (proyal@apache.org)</font>
   </li>
       
   </ul>
  
  
  
  1.7       +3 -3      xml-site/targets/cocoon/developing/avalon.html
  
  Index: avalon.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/developing/avalon.html,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- avalon.html	15 Jul 2002 13:57:01 -0000	1.6
  +++ avalon.html	22 Aug 2002 02:50:35 -0000	1.7
  @@ -220,7 +220,7 @@
   </p>
   		  
   <p>
  -<font color="black" face="verdana,helvetica,sanserif">A <code><font face="courier, monospaced">Composer</font></code> is a class that need to connect to software
  +<font color="black" face="verdana,helvetica,sanserif">A <code><font face="courier, monospaced">Composable</font></code> is a class that need to connect to software
   			 components using a "role" abstraction, thus not depending on particular
   			 implementations but on behavioral interfaces. </font>
   </p>
  @@ -234,14 +234,14 @@
   		  
   <p>
   <font color="black" face="verdana,helvetica,sanserif">This interface identifies classes that can be used as
  -			 <code><font face="courier, monospaced">Components</font></code> by a <code><font face="courier, monospaced">Composer</font></code>. </font>
  +			 <code><font face="courier, monospaced">Components</font></code> by a <code><font face="courier, monospaced">Composable</font></code>. </font>
   </p>
   		  
   <p>
   <font color="black" face="verdana,helvetica,sanserif">A <code><font face="courier, monospaced">Component</font></code> is the basic building block of Avalon. When
   			 a class implements this interface, it allows itself to be managed by a
   			 <code><font face="courier, monospaced">ComponentManager</font></code> and used by an outside element called a
  -			 <code><font face="courier, monospaced">Composer</font></code>. The <code><font face="courier, monospaced">Composer</font></code> must know what type of
  +			 <code><font face="courier, monospaced">Composable</font></code>. The <code><font face="courier, monospaced">Composable</font></code> must know what type of
   			 <code><font face="courier, monospaced">Component</font></code> it is accessing, so it will re-cast the
   			 <code><font face="courier, monospaced">Component</font></code> into the type it needs. </font>
   </p>
  
  
  
  1.7       +1 -1      xml-site/targets/cocoon/developing/datasources.html
  
  Index: datasources.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/developing/datasources.html,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- datasources.html	15 Jul 2002 13:57:01 -0000	1.6
  +++ datasources.html	22 Aug 2002 02:50:35 -0000	1.7
  @@ -328,7 +328,7 @@
   <font color="black" face="verdana,helvetica,sanserif">
          No matter how you defined your DataSourceComponent, you access
          it the same way.  Because The DataSourceComponent is a Component,
  -       your class needs to implement the Avalon Composer interface.  The
  +       your class needs to implement the Avalon Composable interface.  The
          Avalon Framework will give your class a ComponentManager.  At that
          point, it is up to you how and when you pull the DataSourceComponent
          out of the ComponentManager.
  
  
  
  1.7       +1 -1      xml-site/targets/cocoon/developing/extending.html
  
  Index: extending.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/developing/extending.html,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- extending.html	15 Jul 2002 13:57:01 -0000	1.6
  +++ extending.html	22 Aug 2002 02:50:35 -0000	1.7
  @@ -245,7 +245,7 @@
   <font face="verdana, helvetica, sans serif">
   					<code><font face="courier, monospaced">ComposerGenerator</font></code> - Can be used as base class if you
   			 want your <code><font face="courier, monospaced">Generator</font></code> to be an <a href="avalon.html">Avalon
  -		Composer</a>.</font>
  +		Composable</a>.</font>
   </li>
   				
   <li>
  
  
  
  1.7       +3 -3      xml-site/targets/cocoon/developing/httprequest.html
  
  Index: httprequest.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/developing/httprequest.html,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- httprequest.html	15 Jul 2002 13:57:01 -0000	1.6
  +++ httprequest.html	22 Aug 2002 02:50:35 -0000	1.7
  @@ -515,7 +515,7 @@
   </li> 
   				
   <li>
  -<font face="verdana, helvetica, sans serif">The <code><font face="courier, monospaced">Manager</font></code> sets the <code><font face="courier, monospaced">Composer</font></code> and the
  +<font face="verdana, helvetica, sans serif">The <code><font face="courier, monospaced">Manager</font></code> sets the <code><font face="courier, monospaced">Composable</font></code> and the
   				  <code><font face="courier, monospaced">Configuration</font></code> of the <code><font face="courier, monospaced">Handler</font></code>. (These are
   				  <a href="avalon.html">Avalon</a> things).</font>
   </li> 
  @@ -531,7 +531,7 @@
   <li>
   <font face="verdana, helvetica, sans serif">The <code><font face="courier, monospaced">Handler</font></code> gets the
   					 <code><font face="courier, monospaced">"program-generator"</font></code> <code><font face="courier, monospaced">Component</font></code> from its
  -					 <code><font face="courier, monospaced">Composer</font></code>.</font>
  +					 <code><font face="courier, monospaced">Composable</font></code>.</font>
   </li> 
   				  
   <li>
  @@ -610,7 +610,7 @@
   		  
   <p>
   <font color="black" face="verdana,helvetica,sanserif">While this sounds to be the most important part of the Cocoon
  -			 application, it is not. It is merely a Composer, meaning that it does some
  +			 application, it is not. It is merely a Composable, meaning that it does some
   			 administrative work and gets other classes to work.</font>
   </p> 
   		 
  
  
  
  1.3       +21 -2     xml-site/targets/cocoon/faq/faq-aggregators.html
  
  Index: faq-aggregators.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/faq/faq-aggregators.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- faq-aggregators.html	15 Jul 2002 13:57:02 -0000	1.2
  +++ faq-aggregators.html	22 Aug 2002 02:50:36 -0000	1.3
  @@ -151,11 +151,16 @@
   </li>
   <li>
   <font face="verdana, helvetica, sans serif"><a href="#faq-2">
  +   Where can I learn more about content aggregation?
  +  </a></font>
  +</li>
  +<li>
  +<font face="verdana, helvetica, sans serif"><a href="#faq-3">
     How can I add my FAQ to this document? 
    </a></font>
   </li>
   <li>
  -<font face="verdana, helvetica, sans serif"><a href="#faq-3">
  +<font face="verdana, helvetica, sans serif"><a href="#faq-4">
     How can I suggest improvements to existing FAQs?
    </a></font>
   </li>
  @@ -243,13 +248,27 @@
   
   <a name="faq-2">
   <!--anchor--></a><font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>
  +   Where can I learn more about content aggregation?
  +  </b></font>
  +  
  +  
  +  
  +<p>
  +<font color="black" face="verdana,helvetica,sanserif">
  +Learn more about content aggregation by downloading the free chapter, <a href="http://www.newriders.com/books/product.asp?product_id={C3C05052-BE3B-4E06-A60A-13FB40AF58F6}">A User's Look at the Cocoon architecture,</a> from Langham and Ziegler's <i>Cocoon: Building XML Applications</i> available at the New Riders web site.
  +  </font>
  +</p>
  +  
  +
  +<a name="faq-3">
  +<!--anchor--></a><font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>
     How can I add my FAQ to this document? 
    </b></font>
   <p>
   <font color="black" face="verdana,helvetica,sanserif">
      Follow the instructions found in <a href="../howto/howto-author-faq.html">How-To Author an FAQ.</a></font>
   </p>
  -<a name="faq-3">
  +<a name="faq-4">
   <!--anchor--></a><font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>
     How can I suggest improvements to existing FAQs?
    </b></font>
  
  
  
  1.3       +7 -1      xml-site/targets/cocoon/faq/faq-configure-c2.html
  
  Index: faq-configure-c2.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/faq/faq-configure-c2.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- faq-configure-c2.html	15 Jul 2002 13:57:02 -0000	1.2
  +++ faq-configure-c2.html	22 Aug 2002 02:50:36 -0000	1.3
  @@ -254,7 +254,7 @@
   <p>
   <font color="black" face="verdana,helvetica,sanserif">Please refer to the Avalon Excalibur Documentation:
       <a href="http://jakarta.apache.org/avalon/excalibur/logger.html">
  -     Avalon Excalibur LogKit Management</a></font>
  +     Avalon Excalibur LogKit Management</a> </font>
   </p>
     
   <p>
  @@ -304,6 +304,12 @@
   </tr>
   </table>
   </p>
  +  
  +<p>
  +<font color="black" face="verdana,helvetica,sanserif">
  +Learn more about LogKit configuration by downloading the free chapter, <a href="http://www.newriders.com/books/product.asp?product_id={C3C05052-BE3B-4E06-A60A-13FB40AF58F6}">A User's Look at the Cocoon architecture,</a> from Langham and Ziegler's <i>Cocoon: Building XML Applications</i> available at the New Riders web site.
  +  </font>
  +</p>    
     
   
   <a name="faq-3">
  
  
  
  1.3       +21 -2     xml-site/targets/cocoon/faq/faq-databases.html
  
  Index: faq-databases.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/faq/faq-databases.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- faq-databases.html	15 Jul 2002 13:57:02 -0000	1.2
  +++ faq-databases.html	22 Aug 2002 02:50:36 -0000	1.3
  @@ -168,11 +168,16 @@
   </li>
   <li>
   <font face="verdana, helvetica, sans serif"><a href="#faq-5">
  -  How can I add my FAQ to this document? 
  +   Where can I find more information about connecting to databases using Cocoon?
    </a></font>
   </li>
   <li>
   <font face="verdana, helvetica, sans serif"><a href="#faq-6">
  +  How can I add my FAQ to this document? 
  + </a></font>
  +</li>
  +<li>
  +<font face="verdana, helvetica, sans serif"><a href="#faq-7">
     How can I suggest improvements to existing FAQs?
    </a></font>
   </li>
  @@ -374,13 +379,27 @@
   
   <a name="faq-5">
   <!--anchor--></a><font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>
  +   Where can I find more information about connecting to databases using Cocoon?
  + </b></font>
  + 
  + 
  +  
  +<p>
  +<font color="black" face="verdana,helvetica,sanserif">
  +Learn more about connecting to databases by downloading the free chapter, <a href="http://www.newriders.com/books/product.asp?product_id={C3C05052-BE3B-4E06-A60A-13FB40AF58F6}">A User's Look at the Cocoon architecture,</a> from Langham and Ziegler's <i>Cocoon: Building XML Applications</i> available at the New Riders web site.
  +  </font>
  +</p>
  +
  +
  +<a name="faq-6">
  +<!--anchor--></a><font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>
     How can I add my FAQ to this document? 
    </b></font>
   <p>
   <font color="black" face="verdana,helvetica,sanserif">
      Follow the instructions found in <a href="../howto/howto-author-faq.html">How-To Author an FAQ.</a></font>
   </p>
  -<a name="faq-6">
  +<a name="faq-7">
   <!--anchor--></a><font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>
     How can I suggest improvements to existing FAQs?
    </b></font>
  
  
  
  1.3       +7 -1      xml-site/targets/cocoon/faq/faq-install.html
  
  Index: faq-install.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/faq/faq-install.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- faq-install.html	15 Jul 2002 13:57:02 -0000	1.2
  +++ faq-install.html	22 Aug 2002 02:50:36 -0000	1.3
  @@ -240,6 +240,12 @@
           If you didn't restart the servlet engine, do it.
         </font>
   </li>
  +      
  +<li>
  +<font face="verdana, helvetica, sans serif">
  +In Tomcat 4, did you change CATALINA_BASE to a different value than the default CATALINA_HOME? If so, copy the war files to CATALINA_BASE/webapps or set CATALINA_BASE=CATALINA_HOME. Then, restart Tomcat.      
  +      </font>
  +</li>
       
   </ul>
   </blockquote>
  @@ -293,7 +299,7 @@
   <font color="black" face="verdana,helvetica,sanserif">
         Cocoon requires a JAXP 1.1 compliant parser. Some servlet engines
         (like Tomcat 3.2.1) use older XML parsers. Replace the XML
  -      parser with a more recnet one (e.g. the Xerces 1.3.0 or newer).
  +      parser with a more recent one (e.g. the Xerces 1.3.0 or newer).
       </font>
   </p>
       
  
  
  
  1.3       +27 -2     xml-site/targets/cocoon/faq/faq-sitemap.html
  
  Index: faq-sitemap.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/faq/faq-sitemap.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- faq-sitemap.html	15 Jul 2002 13:57:02 -0000	1.2
  +++ faq-sitemap.html	22 Aug 2002 02:50:36 -0000	1.3
  @@ -187,11 +187,16 @@
   </li>
   <li>
   <font face="verdana, helvetica, sans serif"><a href="#faq-10">
  +Where can I find more information about the sitemap?
  +  </a></font>
  +</li>
  +<li>
  +<font face="verdana, helvetica, sans serif"><a href="#faq-11">
     How can I add my FAQ to this document? 
    </a></font>
   </li>
   <li>
  -<font face="verdana, helvetica, sans serif"><a href="#faq-11">
  +<font face="verdana, helvetica, sans serif"><a href="#faq-12">
     How can I suggest improvements to existing FAQs?
    </a></font>
   </li>
  @@ -695,13 +700,33 @@
    
   <a name="faq-10">
   <!--anchor--></a><font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>
  +Where can I find more information about the sitemap?
  +  </b></font>
  +  
  +  
  +   
  +<p>
  +<font color="black" face="verdana,helvetica,sanserif">
  +Learn more about advanced Sitemap features by downloading the free chapter, <a href="http://www.newriders.com/books/product.asp?product_id={C3C05052-BE3B-4E06-A60A-13FB40AF58F6}">A User's Look at the Cocoon architecture,</a> from Langham and Ziegler's <i>Cocoon: Building XML Applications</i> available at the New Riders web site.
  +  </font>
  +</p>
  +  
  +<p>
  +<font color="black" face="verdana,helvetica,sanserif">
  +Check out a draft XML Schema <a href="http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-cocoon2/src/documentation/xdocs/drafts/sitemap-2.1-draft.xsd?rev=HEAD&content-type=text/plain">grammar for the Cocoon sitemap</a>, and some <a href="http://outerthought.net/sitemap/">external documentation</a> generated from this Schema. A poster diagram of the sitemap structure is also available.
  +   </font>
  +</p>
  +  
  +  
  +<a name="faq-11">
  +<!--anchor--></a><font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>
     How can I add my FAQ to this document? 
    </b></font>
   <p>
   <font color="black" face="verdana,helvetica,sanserif">
      Follow the instructions found in <a href="../howto/howto-author-faq.html">How-To Author an FAQ.</a></font>
   </p>
  -<a name="faq-11">
  +<a name="faq-12">
   <!--anchor--></a><font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>
     How can I suggest improvements to existing FAQs?
    </b></font>
  
  
  
  1.3       +91 -2     xml-site/targets/cocoon/faq/faq-xslt.html
  
  Index: faq-xslt.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/faq/faq-xslt.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- faq-xslt.html	15 Jul 2002 13:57:02 -0000	1.2
  +++ faq-xslt.html	22 Aug 2002 02:50:36 -0000	1.3
  @@ -173,11 +173,16 @@
   </li>
   <li>
   <font face="verdana, helvetica, sans serif"><a href="#faq-6">
  -  How can I add my FAQ to this document? 
  +What's "wrong" with use of the document() function in Cocoon?
    </a></font>
   </li>
   <li>
   <font face="verdana, helvetica, sans serif"><a href="#faq-7">
  +  How can I add my FAQ to this document? 
  + </a></font>
  +</li>
  +<li>
  +<font face="verdana, helvetica, sans serif"><a href="#faq-8">
     How can I suggest improvements to existing FAQs?
    </a></font>
   </li>
  @@ -443,13 +448,97 @@
   
   <a name="faq-6">
   <!--anchor--></a><font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>
  +What's "wrong" with use of the document() function in Cocoon?
  + </b></font>
  + 
  +
  + 
  +  
  +<p>
  +<font color="black" face="verdana,helvetica,sanserif">
  +Using the document() function for aggregation in Cocoon may break
  +Separation of Concerns (SoC). That is, the designers of Cocoon
  +view inclusion and transformation as different functions, best
  +handled by separate Cocoon components. Treating them
  +separately allows you to achieve performance gains and increases
  +the resusability of your pipelines.
  +  </font>
  +</p>
  +  
  +<p>
  +<font color="black" face="verdana,helvetica,sanserif">
  +Alternatives to the document() in the Cocoon environment include
  +aggregation or the use of a multi-stage transformation using the
  +XInclude Transformer. This involves transforming a list of documents
  +(generated dynamically or statically) by adding xinclude elements which
  +reference (via xpointer) specific document content, and then transforming
  +again via the XInclude Transformer, to obtain the desired result. For an example of this, see this <a href="http://marc.theaimsgroup.com/?l=xml-cocoon-users&m=102617106411067&w=2">email.</a>
  +  </font>
  +</p>
  +  
  +<p>
  +<font color="black" face="verdana,helvetica,sanserif">
  +You'll achieve better performance if you aggregate content prior to transformation.
  +This allows you to take full advantage of Cocoon's pipeline caching. In contrast,
  +making dynamic document() calls inside an XSLT within a cached pipeline is problematic.
  +At this time, Cocoon does not recognize changes in documents (called by the document() function)
  +until the requested page expires from cache.
  +  </font>
  +</p>
  +  
  +<p>
  +<font color="black" face="verdana,helvetica,sanserif">
  +Understand that the document() function was designed *before* xinclude
  +with xpointer facilities existed. Had such capabilities been available,
  +perhaps the document() function, which essentially mimics xinclude and xpointer,
  +would have never been added to XSLT.
  +  </font>
  +</p>
  +  
  +<p>
  +<font color="black" face="verdana,helvetica,sanserif">
  +Please note that if you must work with your XML files outside of the
  +Cocoon environment, you may need to use the document() function
  +in order to utilize the limited capabilities of other pipeline engines.
  +This includes engines which are not xinclude-capable or which
  +lack a predefined way to indicate document processing steps. If you
  +are working with legacy code from non-pipelined engines, you may need to use
  +the document() function as well, at least initially.
  +  </font>
  +</p>
  +  
  +<p>
  +<font color="black" face="verdana,helvetica,sanserif">
  +If you do use the document() function in Cocoon, you can still observe SoC by
  +having separate XSLT stylesheets perform inclusion and transformation functions.
  +For example, you can put multiple XSLT transforms in a pipeline and have the
  +first one perform inclusion and the second one perform transformation. However,
  +be mindful of some unresolved caching issues in Cocoon related to the document() function.
  +At this time, Cocoon is unable to check validity of content included via the document()
  +function. In addition, the document() function implemented by Xalan is inefficient. See:
  +  http://nagoya.apache.org/bugzilla/show_bug.cgi?id=4257
  +Until this bug is fixed, consider using Saxon instead for document() function-related parsing
  +needs.
  +  </font>
  +</p>
  +  
  +<p>
  +<font color="black" face="verdana,helvetica,sanserif">
  +For other aggregation/inclusion approaches, please stay tuned for XpathDirectoryGenerator (2.1 scratchpad),
  +as well as Forrest's Libre (currently alpha in the Forrest cvs).
  +  </font>
  +</p>
  +  
  +  
  +<a name="faq-7">
  +<!--anchor--></a><font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>
     How can I add my FAQ to this document? 
    </b></font>
   <p>
   <font color="black" face="verdana,helvetica,sanserif">
      Follow the instructions found in <a href="../howto/howto-author-faq.html">How-To Author an FAQ.</a></font>
   </p>
  -<a name="faq-7">
  +<a name="faq-8">
   <!--anchor--></a><font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>
     How can I suggest improvements to existing FAQs?
    </b></font>
  
  
  
  1.2       +3 -0      xml-site/targets/cocoon/howto/howto-author-core-docs.html
  
  Index: howto-author-core-docs.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/howto/howto-author-core-docs.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- howto-author-core-docs.html	15 Jul 2002 14:05:55 -0000	1.1
  +++ howto-author-core-docs.html	22 Aug 2002 02:50:36 -0000	1.2
  @@ -86,6 +86,9 @@
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="howto-html-pdf-publishing.html">HTML-PDF</a></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  +<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="chaperon/howto-chaperon-intro.html">Chaperon</a></td>
  +</tr>
  +<tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
   <td background="images/label-background_b.gif" bgcolor="#959595" valign="top"><img width="120" height="6" src="images/separator.gif"><br>
   <span class="menutitle">Documentation</span></td>
   </tr>
  
  
  
  1.3       +3 -0      xml-site/targets/cocoon/howto/howto-author-faq.html
  
  Index: howto-author-faq.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/howto/howto-author-faq.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- howto-author-faq.html	15 Jul 2002 13:57:02 -0000	1.2
  +++ howto-author-faq.html	22 Aug 2002 02:50:36 -0000	1.3
  @@ -86,6 +86,9 @@
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="howto-html-pdf-publishing.html">HTML-PDF</a></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  +<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="chaperon/howto-chaperon-intro.html">Chaperon</a></td>
  +</tr>
  +<tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
   <td background="images/label-background_b.gif" bgcolor="#959595" valign="top"><img width="120" height="6" src="images/separator.gif"><br>
   <span class="menutitle">Documentation</span></td>
   </tr>
  
  
  
  1.3       +3 -0      xml-site/targets/cocoon/howto/howto-author-howto.html
  
  Index: howto-author-howto.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/howto/howto-author-howto.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- howto-author-howto.html	15 Jul 2002 13:57:02 -0000	1.2
  +++ howto-author-howto.html	22 Aug 2002 02:50:36 -0000	1.3
  @@ -86,6 +86,9 @@
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="howto-html-pdf-publishing.html">HTML-PDF</a></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  +<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="chaperon/howto-chaperon-intro.html">Chaperon</a></td>
  +</tr>
  +<tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
   <td background="images/label-background_b.gif" bgcolor="#959595" valign="top"><img width="120" height="6" src="images/separator.gif"><br>
   <span class="menutitle">Documentation</span></td>
   </tr>
  
  
  
  1.3       +3 -0      xml-site/targets/cocoon/howto/howto-author-snippet.html
  
  Index: howto-author-snippet.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/howto/howto-author-snippet.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- howto-author-snippet.html	15 Jul 2002 13:57:02 -0000	1.2
  +++ howto-author-snippet.html	22 Aug 2002 02:50:36 -0000	1.3
  @@ -86,6 +86,9 @@
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="howto-html-pdf-publishing.html">HTML-PDF</a></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  +<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="chaperon/howto-chaperon-intro.html">Chaperon</a></td>
  +</tr>
  +<tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
   <td background="images/label-background_b.gif" bgcolor="#959595" valign="top"><img width="120" height="6" src="images/separator.gif"><br>
   <span class="menutitle">Documentation</span></td>
   </tr>
  
  
  
  1.3       +3 -0      xml-site/targets/cocoon/howto/howto-bugzilla.html
  
  Index: howto-bugzilla.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/howto/howto-bugzilla.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- howto-bugzilla.html	15 Jul 2002 13:57:02 -0000	1.2
  +++ howto-bugzilla.html	22 Aug 2002 02:50:36 -0000	1.3
  @@ -86,6 +86,9 @@
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="howto-html-pdf-publishing.html">HTML-PDF</a></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  +<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="chaperon/howto-chaperon-intro.html">Chaperon</a></td>
  +</tr>
  +<tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
   <td background="images/label-background_b.gif" bgcolor="#959595" valign="top"><img width="120" height="6" src="images/separator.gif"><br>
   <span class="menutitle">Documentation</span></td>
   </tr>
  
  
  
  1.2       +4 -2      xml-site/targets/cocoon/howto/howto-html-pdf-publishing.html
  
  Index: howto-html-pdf-publishing.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/howto/howto-html-pdf-publishing.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- howto-html-pdf-publishing.html	15 Jul 2002 14:05:55 -0000	1.1
  +++ howto-html-pdf-publishing.html	22 Aug 2002 02:50:36 -0000	1.2
  @@ -86,6 +86,9 @@
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><span class="menuselected">HTML-PDF</span></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  +<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="chaperon/howto-chaperon-intro.html">Chaperon</a></td>
  +</tr>
  +<tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
   <td background="images/label-background_b.gif" bgcolor="#959595" valign="top"><img width="120" height="6" src="images/separator.gif"><br>
   <span class="menutitle">Documentation</span></td>
   </tr>
  @@ -459,7 +462,6 @@
           &lt;map:serializers default="html"/&gt;
           &lt;map:selectors default="browser"/&gt;
           &lt;map:matchers default="wildcard"/&gt;
  -        &lt;map:transformers default="xslt"/&gt;
       &lt;/map:components&gt;
         
       &lt;map:pipelines&gt;
  @@ -840,7 +842,7 @@
   <font color="black" face="verdana,helvetica,sanserif">
   Care to comment on this How-To? Got another tip? 
   Help keep this How-To relevant by passing along any useful feedback to the author,
  -<a href="mailto:bdelacretaz@codeconsult.ch">Bertrand&nbsp;Delacr&egrave;taz</a>.
  +<a href="mailto:bdelacretaz@codeconsult.ch">Bertrand Delacr&eacute;taz</a>.
   </font>
   </p>
   
  
  
  
  1.2       +3 -0      xml-site/targets/cocoon/howto/howto-paginator-transformer.html
  
  Index: howto-paginator-transformer.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/howto/howto-paginator-transformer.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- howto-paginator-transformer.html	15 Jul 2002 14:05:55 -0000	1.1
  +++ howto-paginator-transformer.html	22 Aug 2002 02:50:36 -0000	1.2
  @@ -86,6 +86,9 @@
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="howto-html-pdf-publishing.html">HTML-PDF</a></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  +<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="chaperon/howto-chaperon-intro.html">Chaperon</a></td>
  +</tr>
  +<tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
   <td background="images/label-background_b.gif" bgcolor="#959595" valign="top"><img width="120" height="6" src="images/separator.gif"><br>
   <span class="menutitle">Documentation</span></td>
   </tr>
  
  
  
  1.3       +3 -0      xml-site/targets/cocoon/howto/howto-patch.html
  
  Index: howto-patch.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/howto/howto-patch.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- howto-patch.html	15 Jul 2002 13:57:02 -0000	1.2
  +++ howto-patch.html	22 Aug 2002 02:50:36 -0000	1.3
  @@ -86,6 +86,9 @@
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="howto-html-pdf-publishing.html">HTML-PDF</a></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  +<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="chaperon/howto-chaperon-intro.html">Chaperon</a></td>
  +</tr>
  +<tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
   <td background="images/label-background_b.gif" bgcolor="#959595" valign="top"><img width="120" height="6" src="images/separator.gif"><br>
   <span class="menutitle">Documentation</span></td>
   </tr>
  
  
  
  1.3       +7 -0      xml-site/targets/cocoon/howto/index.html
  
  Index: index.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/howto/index.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- index.html	15 Jul 2002 13:57:02 -0000	1.2
  +++ index.html	22 Aug 2002 02:50:36 -0000	1.3
  @@ -86,6 +86,9 @@
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="howto-html-pdf-publishing.html">HTML-PDF</a></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  +<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="chaperon/howto-chaperon-intro.html">Chaperon</a></td>
  +</tr>
  +<tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
   <td background="images/label-background_b.gif" bgcolor="#959595" valign="top"><img width="120" height="6" src="images/separator.gif"><br>
   <span class="menutitle">Documentation</span></td>
   </tr>
  @@ -151,6 +154,10 @@
   
   <li>
   <font face="verdana, helvetica, sans serif"><a href="howto-html-pdf-publishing.html">HTML-PDF Publishing</a></font>
  +</li>
  +
  +<li>
  +<font face="verdana, helvetica, sans serif"><a href="chaperon/howto-chaperon-intro.html">Chaperon Text Parser</a></font>
   </li>
   	
   </ul>
  
  
  
  1.1                  xml-site/targets/cocoon/howto/chaperon/howto-chaperon-grm.html
  
  Index: howto-chaperon-grm.html
  ===================================================================
  <html xmlns:NetUtils="org.apache.cocoon.util.NetUtils">
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Chaperon - XML grammar format</title>
  <STYLE type="text/css">
  a.menu {
  	color: #FFFFFF;
      text-align:left;               
      font-size:12px;
      font-family: Verdana, Arial, Helvetica, sans-serif;
      font-weight:plain;
      text-decoration:none;
      padding-left: 14px
  }
  
  A.menu:hover {
  	color: #FFCC00
  }
  
  
  .menutitle {
  	color: #000000;
      text-align:left;               
      font-size:10px;
      font-family: Verdana, Arial, Helvetica, sans-serif;
      font-weight:bold;
      padding-left: 8px
  }
  .menuselected {
  	color: #FFCC00;
      text-align:left;               
      font-size:12px;
      font-family: Verdana, Arial, Helvetica, sans-serif;
      font-weight:bold;
      padding-left: 14px
  }
  </STYLE>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#cc0000" vlink="#0086b2" link="#039acc" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top" rowspan="3" height="60" width="135"><img border="0" vspace="0" hspace="0" src="images/logo.gif" height="60" width="135"></td><td background="images/line.gif" rowspan="1" colSpan="2" align="left" valign="top" height="0" width="100%"></td><td align="left" valign="top" rowspan="3" height="60" width="29"><img border="0" vspace="0" hspace="0" src="images/right.gif" height="60" width="29"></td>
  </tr>
  <tr>
  <td bgcolor="#0086b2" colspan="2" align="right" valign="top" height="35" width="100%"><font color="#ffffff" face="Verdana, Arial, Helvetica, sans-serif" size="5">Chaperon - XML grammar format</font></td>
  </tr>
  <tr>
  <td background="images/bottom.gif" colspan="2" width="100%" valign="top" height="20" bgcolor="#0086b2" align="right">
  <table width="288" cellspacing="0" cellpadding="0" border="0">
  <tr>
  <td align="left" valign="top" height="20" width="96"><a target="new" href="http://xml.apache.org/"><img border="0" vspace="0" hspace="0" name="xml" src="images/button-xml-lo.gif" height="20" width="96" alt="http://xml.apache.org/"></a></td><td align="left" valign="top" height="20" width="96"><a target="new" href="http://www.apache.org/"><img border="0" vspace="0" hspace="0" name="asf" src="images/button-asf-lo.gif" height="20" width="96" alt="http://www.apache.org/"></a></td><td align="left" valign="top" height="20" width="96"><a target="new" href="http://www.w3.org/"><img border="0" vspace="0" hspace="0" name="w3c" src="images/button-w3c-lo.gif" height="20" width="96" alt="http://www.w3.org/"></a></td>
  </tr>
  </table>
  </td>
  </tr>
  </table>
  <table width="100%" cellspacing="0" cellpadding="0" border="0">
  <tr width="100%">
  <td align="left" valign="top" width="120">
  <table width="120" cellspacing="0" cellpadding="0" border="0" bgcolor="#a0a0a0">
  <tr>
  <td valign="top" align="left"><img width="120" vspace="0" src="images/join.gif" hspace="0" height="14" border="0"><br>
  </td>
  </tr>
  <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="../../index.html">Main</a></td>
  </tr>
  <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  <td background="images/label-background_b.gif" bgcolor="#959595" valign="top"><img width="120" height="6" src="images/separator.gif"><br>
  <span class="menutitle">How-Tos</span></td>
  </tr>
  <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="../index.html">Index</a></td>
  </tr>
  <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  <td background="images/label-background_b.gif" bgcolor="#959595" valign="top"><img width="120" height="6" src="images/separator.gif"><br>
  <span class="menutitle">Chaperon Parser</span></td>
  </tr>
  <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="howto-chaperon-intro.html">Introduction</a></td>
  </tr>
  <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><span class="menuselected">XML grammar format</span></td>
  </tr>
  <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="howto-chaperon-txtgrm.html">Text grammar format</a></td>
  </tr>
  <tr>
  <td align="left" valign="top"><img width="120" vspace="0" src="images/close.gif" hspace="0" height="14" border="0"><br>
  </td>
  </tr>
  </table>
  </td><td>
  <table cellspacing="15" cellpadding="0" border="0">
  <tr>
  <td>
   
    
   
  
    <font face="verdana, helvetica, sans serif" size="+2" color="#0086b2">XML Grammar Format</font>
  <hr style="color: #0086b2" size="1">
  
     
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>Structure</b></font>
      
  <p>
  <font color="black" face="verdana,helvetica,sanserif">The root structure consists of four parts. One part to declare all needed tokens, and
         also one part to declare all tokens, which could be neglected, e.g whitespaces.</font>
  </p>
  
      
  <p>
  <font color="black" face="verdana,helvetica,sanserif">In another part the grammar declares the productions, which are used to generate greater
         aggregations of the tokens.</font>
  </p>
  
      
  <p>
  <font color="black" face="verdana,helvetica,sanserif">And as last part, the grammar must specified, which symbol should be the start symbol,
         which is similar to the root element of the generated XML document.</font>
  </p>
  
      
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>
  &lt;grammar uri="[Namespace of the generating XML documents]"&gt;
   &lt;tokens&gt;
    [token definitions]
   &lt;/tokens&gt;
  
   &lt;ignorabletokens&gt;
    [token definition, which could be ignored]
   &lt;/ignorabletokens&gt;
  
   &lt;productions&gt;
    [definitions of the productions]
   &lt;/productions&gt;
  
   &lt;ssymbol ntsymbol="[Name of start symbol]"/&gt;
  &lt;/grammar&gt;
  </pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
     
  
     
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>Lexical tokens</b></font>
      
  <p>
  <font color="black" face="verdana,helvetica,sanserif">Every token has an entry in the tokens section. Each token is mapped to a
         terminal symbol. By terminal we mean that this symbol can not be broken 
         down into smaller structures.</font>
  </p>
     
      
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>
  &lt;tokens&gt;
   &lt;token tsymbol="Name of the symbol"&gt;
    [definition of the token]
   &lt;/token&gt;
  &lt;/tokens&gt;
  </pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  
      
  <p>
  <font color="black" face="verdana,helvetica,sanserif">For the definition of tokens Chaperon uses a structure similar to Regex. It contains alternations,
         concatenations, characters classes, etc.</font>
  </p>
  
      
  <p>
  <font color="black" face="verdana,helvetica,sanserif">Every element can contain the attributes "minOccurs" and "maxOccurs"</font>
  </p>
  
      
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">Alternations</font>
       
  <p>
  <font color="black" face="verdana,helvetica,sanserif">Alternation means that one of the contained elements must match.</font>
  </p>
  
       
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>
  &lt;token tsymbol="Name of the symbol"&gt;
   &lt;alt&gt;
    [element 1]
    [element 2]
    [element 3]
   &lt;/alt&gt;
  &lt;/token&gt;
  </pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  
      
  
      
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">Concatenations</font>
       
  <p>
  <font color="black" face="verdana,helvetica,sanserif">Concatenation means that all elements in a sequence must match.</font>
  </p>
  
       
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>
  &lt;token tsymbol="Name of the symbol"&gt;
   &lt;concat&gt;
    [element 1]
    [element 2]
    [element 3]
   &lt;/concat&gt;
  &lt;/token&gt;
  </pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  
      
  
      
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">Character classes</font>
       
  <p>
  <font color="black" face="verdana,helvetica,sanserif">A character class compares a character to the characters 
          which this class contains. There are two options for
          a character class. Either a character class or a negated character class.
          The negated character class implies that the character should not match to any
          of the characters in the class.</font>
  </p>
  
       
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>
  &lt;token tsymbol="Name of the symbol"&gt;
   &lt;cc&gt;
    [Characters, which should match]
   &lt;/cc&gt;
  
   &lt;ncc&gt;
    [Characters, which shouldn't match]
   &lt;/ncc&gt;
  &lt;/token&gt;
  </pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  
       
  <p>
  <font color="black" face="verdana,helvetica,sanserif">The character class can contain two elements:</font>
  </p>
  
       
  <blockquote>
  <ul>
        
  <li>
  <font face="verdana, helvetica, sans serif">Character sets</font>
  </li>
        
  <li>
  <font face="verdana, helvetica, sans serif">Character intervals</font>
  </li>
       
  </ul>
  </blockquote>
  
       
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>
  &lt;token tsymbol="Name of the symbol"&gt;
   &lt;cc&gt;
    &lt;cs content="abcd"/&gt;
    &lt;ci min="e" max="z"/&gt;
   &lt;/cc&gt;
  &lt;/token
  </pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  
      
  
      
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">Strings</font>
       
  <p>
  <font color="black" face="verdana,helvetica,sanserif">The string must match to every character in a sequence.</font>
  </p>
  
       
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>
  &lt;token tsymbol="Name of the symbol"&gt;
   &lt;string content="Sequence of characters"/&gt;
  &lt;/token&gt;
  </pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  
      
  
      
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">Universal character</font>
       
  <p>
  <font color="black" face="verdana,helvetica,sanserif">This character matches all characters except carriage return and line feed</font>
  </p>
  
       
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>
  &lt;token tsymbol="Name of the symbol"&gt;
   &lt;dot/&gt;
  &lt;/token&gt;
  </pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  
      
  
      
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">Begin of line</font>
       
  <p>
  <font color="black" face="verdana,helvetica,sanserif">This symbol matches the beginning of a line</font>
  </p>
  
       
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>
  &lt;token tsymbol="Name of the symbol"&gt;
   &lt;bol/&gt;
  &lt;/token&gt;
  </pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  
      
  
      
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">End of line</font>
       
  <p>
  <font color="black" face="verdana,helvetica,sanserif">This symbol matches the end of a line</font>
  </p>
  
       
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>
  &lt;token tsymbol="Name of the symbol"&gt;
   &lt;eol/&gt;
  &lt;/token&gt;
  </pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  
      
  
     
  
     
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>Productions</b></font>
      
  <p>
  <font color="black" face="verdana,helvetica,sanserif">A Production arranges tokens in a structure. It is defined by a sequence of symbols</font>
  </p>
  
      
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>
  &lt;productions&gt;
   &lt;production ntsymbol="Name of of the production"&gt;
    &lt;ntsymbol name="symbol1"/&gt;&lt;tsymbol name="symbol2"/&gt;&lt;ntsymbol name="symbol3"/&gt;
   &lt;/production&gt;
  &lt;/productions&gt;
  </pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
   
      
  <p>
  <font color="black" face="verdana,helvetica,sanserif">"tsymbol" refers to a terminal symbol of name specified by the name attribute. 
         Similarly "ntsymbol" refers to a nonterminal symbol.</font>
  </p>
  
      
  <p>
  <font color="black" face="verdana,helvetica,sanserif">Here is an example which reads a line of words.</font>
  </p>
  
      
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>
  &lt;production ntsymbol="line"&gt;
   &lt;ntsymbol name="line"/&gt;&lt;tsymbol name="WORD"/&gt;
  &lt;/production&gt;
  
  &lt;production ntsymbol="line"&gt;
   &lt;tsymbol name="word"/&gt;
  &lt;/production&gt;
  </pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  
      
  <p>
  <font color="black" face="verdana,helvetica,sanserif">A production has two more attributes.</font>
  </p>
  
      
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">Precedence</font>
  
       
  <p>
  <font color="black" face="verdana,helvetica,sanserif">The first attribute is "prec". It
          is used to define precedences. This means that the production gets the same
          priority as a terminal symbol.</font>
  </p> 
  
       
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>
  &lt;production ntsymbol="line" prec="WORD"&gt;
   &lt;ntsymbol name="line"/&gt;&lt;tsymbol name="WORD"/&gt;
  &lt;/production&gt;
  </pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  
      
  
      
  <p>
  <font color="black" face="verdana,helvetica,sanserif">The second attribute is "reducetype". This attribute is used by the tree builder.</font>
  </p>
  
      
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">Reduce type : NORMAL</font>
  
       
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>
  &lt;production ntsymbol="line" reducetype="normal"&gt;
   &lt;ntsymbol name="line"/&gt;&lt;tsymbol name="WORD"/&gt;
  &lt;/production&gt;
  </pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  
       
  <p>
  <font color="black" face="verdana,helvetica,sanserif">This example will produce the following XML document.</font>
  </p>
  
       
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>
  &lt;line&gt;
   &lt;line&gt;
    &lt;line&gt;
     &lt;line&gt;
      &lt;WORD&gt;This&lt;/WORD&gt;
     &lt;/line&gt;
     &lt;WORD&gt;is&lt;/WORD&gt;
    &lt;/line&gt;
    &lt;WORD&gt;an&lt;/WORD&gt;
   &lt;/line&gt;
   &lt;WORD&gt;example&lt;/WORD&gt;
  &lt;/line&gt;
  </pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  
      
  
      
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">Reduce type : APPEND</font>
  
       
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>
  &lt;production ntsymbol="line" reducetype="append"&gt;
   &lt;ntsymbol name="line"/&gt;&lt;tsymbol name="WORD"/&gt;
  &lt;/production&gt;
  </pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  
       
  <p>
  <font color="black" face="verdana,helvetica,sanserif">"append" means that a production will be resolved, if the parent has the same name.</font>
  </p>
  
       
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>
  &lt;line&gt;
   &lt;WORD&gt;This&lt;/WORD&gt;
   &lt;WORD&gt;is&lt;/WORD&gt;
   &lt;WORD&gt;an&lt;/WORD&gt;
   &lt;WORD&gt;example&lt;/WORD&gt;
  &lt;/line&gt;
  </pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  
      
  
      
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">Reduce type : RESOLVE</font>
  
       
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>
  &lt;production ntsymbol="line" reducetype="resolve"&gt;
   &lt;ntsymbol name="line"/&gt;&lt;tsymbol name="WORD"/&gt;
  &lt;/production&gt;
  </pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  
       
  <p>
  <font color="black" face="verdana,helvetica,sanserif">"resolve" means that a production will resolved.</font>
  </p>
  
       
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>
  &lt;WORD&gt;This&lt;/WORD&gt;
  &lt;WORD&gt;is&lt;/WORD&gt;
  &lt;WORD&gt;an&lt;/WORD&gt;
  &lt;WORD&gt;example&lt;/WORD&gt;
  </pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  
      
  
      
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">Reduce type : NEGLECT</font>
  
       
  <p>
  <font color="black" face="verdana,helvetica,sanserif">And finally "neglect" means that a production will not appear in the generated XML document.</font>
  </p>
  
      
  
     
  
    
  
   
  
  </td>
  </tr>
  </table>
  </td>
  </tr>
  </table>
  <table width="100%" cellspacing="0" cellpadding="0" border="0">
  <tr>
  <td bgcolor="#0086b2"><img width="1" src="images/dot.gif" height="1"></td>
  </tr>
  <tr>
  <td align="center"><font size="-1" face="arial,helvetica,sanserif" color="#0086b2"><i>Copyright &copy; 1999-2002 The Apache Software Foundation. All Rights Reserved.</i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  xml-site/targets/cocoon/howto/chaperon/howto-chaperon-intro.html
  
  Index: howto-chaperon-intro.html
  ===================================================================
  <html xmlns:NetUtils="org.apache.cocoon.util.NetUtils">
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Chaperon How-To</title>
  <STYLE type="text/css">
  a.menu {
  	color: #FFFFFF;
      text-align:left;               
      font-size:12px;
      font-family: Verdana, Arial, Helvetica, sans-serif;
      font-weight:plain;
      text-decoration:none;
      padding-left: 14px
  }
  
  A.menu:hover {
  	color: #FFCC00
  }
  
  
  .menutitle {
  	color: #000000;
      text-align:left;               
      font-size:10px;
      font-family: Verdana, Arial, Helvetica, sans-serif;
      font-weight:bold;
      padding-left: 8px
  }
  .menuselected {
  	color: #FFCC00;
      text-align:left;               
      font-size:12px;
      font-family: Verdana, Arial, Helvetica, sans-serif;
      font-weight:bold;
      padding-left: 14px
  }
  </STYLE>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#cc0000" vlink="#0086b2" link="#039acc" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top" rowspan="3" height="60" width="135"><img border="0" vspace="0" hspace="0" src="images/logo.gif" height="60" width="135"></td><td background="images/line.gif" rowspan="1" colSpan="2" align="left" valign="top" height="0" width="100%"></td><td align="left" valign="top" rowspan="3" height="60" width="29"><img border="0" vspace="0" hspace="0" src="images/right.gif" height="60" width="29"></td>
  </tr>
  <tr>
  <td bgcolor="#0086b2" colspan="2" align="right" valign="top" height="35" width="100%"><font color="#ffffff" face="Verdana, Arial, Helvetica, sans-serif" size="5">Chaperon How-To</font></td>
  </tr>
  <tr>
  <td background="images/bottom.gif" colspan="2" width="100%" valign="top" height="20" bgcolor="#0086b2" align="right">
  <table width="288" cellspacing="0" cellpadding="0" border="0">
  <tr>
  <td align="left" valign="top" height="20" width="96"><a target="new" href="http://xml.apache.org/"><img border="0" vspace="0" hspace="0" name="xml" src="images/button-xml-lo.gif" height="20" width="96" alt="http://xml.apache.org/"></a></td><td align="left" valign="top" height="20" width="96"><a target="new" href="http://www.apache.org/"><img border="0" vspace="0" hspace="0" name="asf" src="images/button-asf-lo.gif" height="20" width="96" alt="http://www.apache.org/"></a></td><td align="left" valign="top" height="20" width="96"><a target="new" href="http://www.w3.org/"><img border="0" vspace="0" hspace="0" name="w3c" src="images/button-w3c-lo.gif" height="20" width="96" alt="http://www.w3.org/"></a></td>
  </tr>
  </table>
  </td>
  </tr>
  </table>
  <table width="100%" cellspacing="0" cellpadding="0" border="0">
  <tr width="100%">
  <td align="left" valign="top" width="120">
  <table width="120" cellspacing="0" cellpadding="0" border="0" bgcolor="#a0a0a0">
  <tr>
  <td valign="top" align="left"><img width="120" vspace="0" src="images/join.gif" hspace="0" height="14" border="0"><br>
  </td>
  </tr>
  <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="../../index.html">Main</a></td>
  </tr>
  <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  <td background="images/label-background_b.gif" bgcolor="#959595" valign="top"><img width="120" height="6" src="images/separator.gif"><br>
  <span class="menutitle">How-Tos</span></td>
  </tr>
  <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="../index.html">Index</a></td>
  </tr>
  <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  <td background="images/label-background_b.gif" bgcolor="#959595" valign="top"><img width="120" height="6" src="images/separator.gif"><br>
  <span class="menutitle">Chaperon Parser</span></td>
  </tr>
  <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><span class="menuselected">Introduction</span></td>
  </tr>
  <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="howto-chaperon-grm.html">XML grammar format</a></td>
  </tr>
  <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="howto-chaperon-txtgrm.html">Text grammar format</a></td>
  </tr>
  <tr>
  <td align="left" valign="top"><img width="120" vspace="0" src="images/close.gif" hspace="0" height="14" border="0"><br>
  </td>
  </tr>
  </table>
  </td><td>
  <table cellspacing="15" cellpadding="0" border="0">
  <tr>
  <td>
   
    
   
  
    <font face="verdana, helvetica, sans serif" size="+2" color="#0086b2">Introduction</font>
  <hr style="color: #0086b2" size="1">
  
     
  <p>
  <font color="black" face="verdana,helvetica,sanserif">Chaperon is a project, that helps to convert structured text to XML. It includes a
        strong LALR(1) parser to parse the text, and a tree builder, which creates an
        XML document.</font>
  </p>
  
     
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>What is structured text?</b></font>
      
  <p>
  <font color="black" face="verdana,helvetica,sanserif">Examples of structured text are TeX files, java files, config files, etc.</font>
  </p>
     
  
     
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>Function</b></font>
      
  <p>
  <font color="black" face="verdana,helvetica,sanserif">The Chaperon Parser consists of the following two components:</font>
  </p>
  
      
  <blockquote>
  <ul>
       
  <li>
  <font face="verdana, helvetica, sans serif">a parser table generator, and</font>
  </li>
       
  <li>
  <font face="verdana, helvetica, sans serif">a parser</font>
  </li>
      
  </ul>
  </blockquote>
  
      
  <p>
  <font color="black" face="verdana,helvetica,sanserif">The parser table generator generates a parser table from a grammar, like a compiler
         which generates byte code to improve the execution speed of parsing. The parser table generator
         does similar things. It makes the parsing process as fast as possible</font>
  </p>
  
      
  <p>
  <font color="black" face="verdana,helvetica,sanserif">The parser uses the parser table to parse text and then generate an XML document from it.</font>
  </p>
   
      
  <p>
  <font color="black" face="verdana,helvetica,sanserif">The generation of the parser table do the generator/transformer once as a first step, and
         stores the parser table into the persistent store.</font>
  </p>
  
      
  <p>
  <font color="black" face="verdana,helvetica,sanserif">If the grammar has change the parser creates new parser table.</font>
  </p>
  
     
  
     
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>Grammar</b></font>
      
  <p>
  <font color="black" face="verdana,helvetica,sanserif">The parser can used similar as XML Parser. But instead of an XML parser the
         chaperon parser need a grammar file. This grammar file is also specified 
         in XML.</font>
  </p>
   
      
  <p>
  <font color="black" face="verdana,helvetica,sanserif">The XML grammar is not really so handy, so the Chaperon project also provides a grammar for a
         text grammar similar to yacc/bison, and a stylesheet for converting this text grammar format to
         the XML grammar format.</font>
  </p>
   
      
  <p>
  <font color="black" face="verdana,helvetica,sanserif">So it is easier to write a grammar in this text format rather than directly in the XML format.</font>
  </p>
  
      
  <p>
  <font color="black" face="verdana,helvetica,sanserif">The grammar format, the XML and the text format, consists of two parts. The first part contains 
         the token definitions and special instruction declarations. The other part contains the productions.</font>
  </p>
  
      
  <p>
  <font color="black" face="verdana,helvetica,sanserif">The token declarations were needed to build a lexer, which feeds the parser which tokens. The
         parser arrange the tokens greater aggregations, which help of the production definitions.</font>
  </p>
     
  
    
  
   
  
  </td>
  </tr>
  </table>
  </td>
  </tr>
  </table>
  <table width="100%" cellspacing="0" cellpadding="0" border="0">
  <tr>
  <td bgcolor="#0086b2"><img width="1" src="images/dot.gif" height="1"></td>
  </tr>
  <tr>
  <td align="center"><font size="-1" face="arial,helvetica,sanserif" color="#0086b2"><i>Copyright &copy; 1999-2002 The Apache Software Foundation. All Rights Reserved.</i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  xml-site/targets/cocoon/howto/chaperon/howto-chaperon-txtgrm.html
  
  Index: howto-chaperon-txtgrm.html
  ===================================================================
  <html xmlns:NetUtils="org.apache.cocoon.util.NetUtils">
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Chaperon - Text grammar format</title>
  <STYLE type="text/css">
  a.menu {
  	color: #FFFFFF;
      text-align:left;               
      font-size:12px;
      font-family: Verdana, Arial, Helvetica, sans-serif;
      font-weight:plain;
      text-decoration:none;
      padding-left: 14px
  }
  
  A.menu:hover {
  	color: #FFCC00
  }
  
  
  .menutitle {
  	color: #000000;
      text-align:left;               
      font-size:10px;
      font-family: Verdana, Arial, Helvetica, sans-serif;
      font-weight:bold;
      padding-left: 8px
  }
  .menuselected {
  	color: #FFCC00;
      text-align:left;               
      font-size:12px;
      font-family: Verdana, Arial, Helvetica, sans-serif;
      font-weight:bold;
      padding-left: 14px
  }
  </STYLE>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#cc0000" vlink="#0086b2" link="#039acc" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top" rowspan="3" height="60" width="135"><img border="0" vspace="0" hspace="0" src="images/logo.gif" height="60" width="135"></td><td background="images/line.gif" rowspan="1" colSpan="2" align="left" valign="top" height="0" width="100%"></td><td align="left" valign="top" rowspan="3" height="60" width="29"><img border="0" vspace="0" hspace="0" src="images/right.gif" height="60" width="29"></td>
  </tr>
  <tr>
  <td bgcolor="#0086b2" colspan="2" align="right" valign="top" height="35" width="100%"><font color="#ffffff" face="Verdana, Arial, Helvetica, sans-serif" size="5">Chaperon - Text grammar format</font></td>
  </tr>
  <tr>
  <td background="images/bottom.gif" colspan="2" width="100%" valign="top" height="20" bgcolor="#0086b2" align="right">
  <table width="288" cellspacing="0" cellpadding="0" border="0">
  <tr>
  <td align="left" valign="top" height="20" width="96"><a target="new" href="http://xml.apache.org/"><img border="0" vspace="0" hspace="0" name="xml" src="images/button-xml-lo.gif" height="20" width="96" alt="http://xml.apache.org/"></a></td><td align="left" valign="top" height="20" width="96"><a target="new" href="http://www.apache.org/"><img border="0" vspace="0" hspace="0" name="asf" src="images/button-asf-lo.gif" height="20" width="96" alt="http://www.apache.org/"></a></td><td align="left" valign="top" height="20" width="96"><a target="new" href="http://www.w3.org/"><img border="0" vspace="0" hspace="0" name="w3c" src="images/button-w3c-lo.gif" height="20" width="96" alt="http://www.w3.org/"></a></td>
  </tr>
  </table>
  </td>
  </tr>
  </table>
  <table width="100%" cellspacing="0" cellpadding="0" border="0">
  <tr width="100%">
  <td align="left" valign="top" width="120">
  <table width="120" cellspacing="0" cellpadding="0" border="0" bgcolor="#a0a0a0">
  <tr>
  <td valign="top" align="left"><img width="120" vspace="0" src="images/join.gif" hspace="0" height="14" border="0"><br>
  </td>
  </tr>
  <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="../../index.html">Main</a></td>
  </tr>
  <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  <td background="images/label-background_b.gif" bgcolor="#959595" valign="top"><img width="120" height="6" src="images/separator.gif"><br>
  <span class="menutitle">How-Tos</span></td>
  </tr>
  <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="../index.html">Index</a></td>
  </tr>
  <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  <td background="images/label-background_b.gif" bgcolor="#959595" valign="top"><img width="120" height="6" src="images/separator.gif"><br>
  <span class="menutitle">Chaperon Parser</span></td>
  </tr>
  <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="howto-chaperon-intro.html">Introduction</a></td>
  </tr>
  <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="howto-chaperon-grm.html">XML grammar format</a></td>
  </tr>
  <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><span class="menuselected">Text grammar format</span></td>
  </tr>
  <tr>
  <td align="left" valign="top"><img width="120" vspace="0" src="images/close.gif" hspace="0" height="14" border="0"><br>
  </td>
  </tr>
  </table>
  </td><td>
  <table cellspacing="15" cellpadding="0" border="0">
  <tr>
  <td>
   
    
   
  
    <font face="verdana, helvetica, sans serif" size="+2" color="#0086b2">Text Grammar Format</font>
  <hr style="color: #0086b2" size="1">
  
     
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>Structure</b></font>
      
  <p>
  <font color="black" face="verdana,helvetica,sanserif">The text grammar consists of two parts. The first part contains the token definitions and special 
         instruction declarations. The other part contains the productions.</font>
  </p>
  
      
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>
  [tokens] 
  [special instructions]
  
  %start "Symbol of the production" ;
  
  %%
  [productions]
  </pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
     
      
  <p>
  <font color="black" face="verdana,helvetica,sanserif">The declaration "%start" declares the root production for the result document.</font>
  </p>
  
     
  
     
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>Lexical tokens</b></font>
      
  <p>
  <font color="black" face="verdana,helvetica,sanserif">The tokens are similar to the tokens of the XML grammar. For token definition
         the text grammar makes use of regular expressions</font>
  </p>
     
      
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>
  %token WORD [A-Za-z][a-z]* ;
  </pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  
      
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">Alternations</font>
       
  <p>
  <font color="black" face="verdana,helvetica,sanserif">Alternation means that one of the contained elements must match.</font>
  </p>
  
       
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>
  %token CHAR [A-Za-z] | [0-9] ;
  </pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  
      
  
      
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">Concatenations</font>
       
  <p>
  <font color="black" face="verdana,helvetica,sanserif">Concatenation means that all elements in a sequence must match.</font>
  </p>
  
       
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>
  %token IDENTIFIER [A-Za-z] [A-Za-z0-9_]* ;
  </pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  
      
  
      
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">Character classes</font>
       
  <p>
  <font color="black" face="verdana,helvetica,sanserif">A character class compares a character to the characters 
          which this class contains. There are two options for
          a character class. Either a character class or a negated character class.
          The negated character class implies that the character should not match.</font>
  </p>
  
       
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>
  %token PUNCTUATION [\.,\;\?!] ;
  %token NOTNUMBER [^0-9] ;
  </pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  
      
  
      
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">Universal character</font>
       
  <p>
  <font color="black" face="verdana,helvetica,sanserif">This character matches all characters except carriage return and line feed</font>
  </p>
  
       
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>
  %token COMMENT // .* ;
  </pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  
      
  
      
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">Begin of line</font>
       
  <p>
  <font color="black" face="verdana,helvetica,sanserif">This symbol matches the beginning of a line</font>
  </p>
  
       
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>
  %token NOTE ^ \[ [0-9]+ \] ;
  </pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  
      
  
      
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">End of line</font>
       
  <p>
  <font color="black" face="verdana,helvetica,sanserif">This symbol matches the end of a line</font>
  </p>
  
       
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>
  %token BREAK \\ \\ $ ;
  </pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  
      
  
      
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">Abbreviations</font>
       
  <p>
  <font color="black" face="verdana,helvetica,sanserif">If an regular expression is often used, you can use an abbreviation for it</font>
  </p>
  
       
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>
  %ab NUMBER [0-9] ;
  %token FLOAT &lt;NUMBER&gt;+ \. &lt;NUMBER&gt;+ ;
  %token INT &lt;NUMBER&gt;+ ;
  </pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  
      
  
      
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">Comments and Whitespaces</font>
       
  <p>
  <font color="black" face="verdana,helvetica,sanserif">These are two special tokens which can appear in any position in 
          the parsed text. The parser will read the tokens and then disgard them.</font>
  </p>
   
       
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>
  %ignore whitespace [\n\r\ ];
  %ignore comment // .* ;
  </pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  
      
  
     
  
     
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>Productions</b></font>
      
  <p>
  <font color="black" face="verdana,helvetica,sanserif">The productions are similarly handled to the productions in the XML grammar.
         More than one definition can be declared through an alternation</font>
  </p>
  
      
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>
  [Symbol of the production] : [Symbol1] [Symbol2] [..]
                             | [Symbol1] [..]
                             ;
  </pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  
      
  <p>
  <font color="black" face="verdana,helvetica,sanserif">To set the precedence for the production use "%prec"</font>
  </p>
  
      
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>
  example : WORD float %prec PLUS
          | WORD
          ;
  </pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  
      
  <p>
  <font color="black" face="verdana,helvetica,sanserif">And for the reduce type use "%reducetype</font>
  </p>
  
      
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>
  list : list line %reducetype APPEND
       | line      %reducetype APPEND
       ;
  </pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  
     
  
    
  
   
  
  </td>
  </tr>
  </table>
  </td>
  </tr>
  </table>
  <table width="100%" cellspacing="0" cellpadding="0" border="0">
  <tr>
  <td bgcolor="#0086b2"><img width="1" src="images/dot.gif" height="1"></td>
  </tr>
  <tr>
  <td align="center"><font size="-1" face="arial,helvetica,sanserif" color="#0086b2"><i>Copyright &copy; 1999-2002 The Apache Software Foundation. All Rights Reserved.</i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  xml-site/targets/cocoon/howto/chaperon/images/bottom.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/howto/chaperon/images/button-asf-lo.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/howto/chaperon/images/button-w3c-lo.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/howto/chaperon/images/button-xml-lo.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/howto/chaperon/images/close.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/howto/chaperon/images/dot.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/howto/chaperon/images/join.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/howto/chaperon/images/label-background_a.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/howto/chaperon/images/label-background_b.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/howto/chaperon/images/line.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/howto/chaperon/images/logo.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/howto/chaperon/images/right.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/howto/chaperon/images/separator.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/howto/chaperon/images/void.gif
  
  	<<Binary file>>
  
  
  1.7       +33 -16    xml-site/targets/cocoon/installing/index.html
  
  Index: index.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/installing/index.html,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- index.html	15 Jul 2002 13:57:03 -0000	1.6
  +++ index.html	22 Aug 2002 02:50:37 -0000	1.7
  @@ -1358,10 +1358,14 @@
   <tr>
   <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
   <pre>
  -[unix]  ./build.sh  -Dinclude.webapp.libs=yes -Dexclude.webapp.samples=yes 
  -                    -Dexclude.webapp.documenation=yes -Dexclude.webapp.javadocs=yes webapp
  -[win32] .\build.bat -Dinclude.webapp.libs=yes -Dexclude.webapp.samples=yes 
  -                    -Dexclude.webapp.documenation=yes -Dexclude.webapp.javadocs=yes webapp</pre>
  +[unix]  ./build.sh  -Dinclude.webapp.libs=yes
  +                    -Dexclude.webapp.samples=yes 
  +                    -Dexclude.webapp.documenation=yes
  +                    -Dexclude.webapp.javadocs=yes webapp
  +[win32] .\build.bat -Dinclude.webapp.libs=yes
  +                    -Dexclude.webapp.samples=yes 
  +                    -Dexclude.webapp.documenation=yes
  +                    -Dexclude.webapp.javadocs=yes webapp</pre>
   </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
   </tr>
   <tr>
  @@ -2583,13 +2587,13 @@
       
   
       
  -<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>Installing on Resin 2.0.x</b></font>
  +<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>Installing on Resin 2.x</b></font>
        
   <p>
   <font color="black" face="verdana,helvetica,sanserif">
  -        This section describes the deployment of the Cocoon sample WAR with Resin 2.0.x.
  +        This section describes the deployment of the Cocoon sample WAR with Resin 2.x.
           It assumes that you built Cocoon as described above. All steps have been tested
  -        with a fresh Resin 2.0.0, 2.0.1 and 2.0.4 installations (the package is available from
  +        with a fresh Resin 2.0.0, 2.0.4, and 2.1.3 installations (the package is available from
           <a href="http://www.caucho.com/download/">Resin's download page</a>)
        </font>
   </p>
  @@ -2607,8 +2611,9 @@
   <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
   <pre>
   [path]...
  -[path]/resin-2.0.x/lib
  -[path]/resin-2.0.x/webapps
  +[path]/resin-2.x/conf
  +[path]/resin-2.x/lib
  +[path]/resin-2.x/webapps
   [path]...</pre>
   </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
   </tr>
  @@ -2629,9 +2634,11 @@
   <font face="verdana, helvetica, sans serif">Stop the server if it is running.</font>
   </li>
          
  +       
   <li>
  -<font face="verdana, helvetica, sans serif">If yours Resin is older then 2.0.4, you have to install Xerces as default XML parser for Resin
  -         (Skip this step if you are using Resin 2.0.4 or newer)
  +<font face="verdana, helvetica, sans serif">
  +         <b>For 2.0.3 version and older:</b>
  +         If yours Resin is older then 2.0.4, you have to install Xerces as default XML parser for Resin
            <blockquote>
   <ul>
   <li>
  @@ -2668,9 +2675,19 @@
          
   </font>
   </li>
  +
          
   <li>
  -<font face="verdana, helvetica, sans serif">Copy the <code><font face="courier, monospaced">xml-cocoon2/build/cocoon/cocoon.war</font></code> WAR file to <code><font face="courier, monospaced">resin-2.0.x/webapps</font></code> directory
  +<font face="verdana, helvetica, sans serif">
  +         <b>For 2.0.4 version and newer:</b>
  +         Edit <code><font face="courier, monospaced">resin-2.x/conf/resin.conf</font></code>, change value of the
  +         <code><font face="courier, monospaced">servlet-classloader-hack</font></code> element to <code><font face="courier, monospaced">true</font></code>
  +       </font>
  +</li>
  +
  +       
  +<li>
  +<font face="verdana, helvetica, sans serif">Copy the <code><font face="courier, monospaced">xml-cocoon2/build/cocoon/cocoon.war</font></code> WAR file to <code><font face="courier, monospaced">resin-2.x/webapps</font></code> directory
          </font>
   </li>
          
  @@ -2693,15 +2710,15 @@
   <table border="0" cellpadding="0" cellspacing="3" width="100%">
   <tr>
   <td valign="top" width="28"><img alt="Note" border="0" hspace="0" vspace="0" height="29" width="28" src="images/note.gif"></td><td valign="top"><font color="black" face="verdana,helvetica,sanserif" size="-1"><i> If you want to place Cocoon webapp in a
  -       directory different than <code><font face="courier, monospaced">resin-2.0.x/webapps</font></code>, you need
  -       to edit <code><font face="courier, monospaced">resin-2.0.x/conf/resin.conf</font></code> file and add a line
  +       directory different than <code><font face="courier, monospaced">resin-2.x/webapps</font></code>, you need
  +       to edit <code><font face="courier, monospaced">resin-2.x/conf/resin.conf</font></code> file and add a line
          somewhere in <code><font face="courier, monospaced">&lt;host&gt;</font></code> tag:
          <code><font face="courier, monospaced">&lt;web-app id='/cocoon' app-dir='/path/to/webapp/cocoon.war'/&gt;</font></code>
  -       </i></font></td>
  +     </i></font></td>
   </tr>
   </table>
   </p>
  -     
  +    
   
        
   <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>Installing on HP-AS 8.X</b></font>
  
  
  
  1.9       +26 -12    xml-site/targets/cocoon/installing/jars.html
  
  Index: jars.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/installing/jars.html,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- jars.html	15 Jul 2002 13:57:03 -0000	1.8
  +++ jars.html	22 Aug 2002 02:50:37 -0000	1.9
  @@ -251,7 +251,7 @@
   <td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">Batik is a Java based toolkit for applications which handle images in
          the Scalable Vector Graphics (SVG) format for various purposes, such as
          viewing, generation or manipulation.</font></td>
  -<td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">cocoon</font></td>
  +<td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">SVG serializer (SVG to JPG, PNG)</font></td>
   
   </tr>
   
  @@ -267,7 +267,7 @@
          and become scriptable, against any BSF-supported language. When BSF
          supports additional languages, the application will automatically
          support the additional languages.</font></td>
  -<td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">?</font></td>
  +<td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">Script generator, script action</font></td>
   
   </tr>
   
  @@ -303,7 +303,7 @@
   <td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">
   <a href="http://xml.apache.org/fop/">XML FO processor</a>
   </font></td>
  -<td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">optional/fop-0.20.3.jar</font></td>
  +<td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">optional/fop-0.20.4.jar</font></td>
   <td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">FOP is a Java application that reads a formatting object tree
          conforming to the XSL candidate release and then turns it into a PDF
          document or allows you to preview it directly on screen.</font></td>
  @@ -314,13 +314,27 @@
   <tr>
   
   <td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">
  +<a href="http://www.jfor.org">XSL-FO to RTF converter</a>
  +</font></td>
  +<td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">optional/jfor-0.7.0.jar</font></td>
  +<td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">jfor is a Java application that reads XSL-FO documents
  +        and converts them to RTF format, allowing them to be loaded in
  +        common wordprocessors.
  +    </font></td>
  +<td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">RTF serializer</font></td>
  +
  +</tr>
  +
  +<tr>
  +
  +<td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">
   <a href="http://hsqldb.sourceforge.net/">Simple SQL database</a>
   </font></td>
  -<td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">optional/hsqldb-1.61.jar</font></td>
  +<td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">optional/hsqldb-1.7.0.jar</font></td>
   <td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">hsqldb is a relational database engine written in Java, with a JDBC
          driver, supporting a subset of ANSI-92 SQL. It offers a small, fast
          database engine which offers both in memory and disk based tables.</font></td>
  -<td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">?</font></td>
  +<td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">Cocoon samples webapp</font></td>
   
   </tr>
   
  @@ -333,7 +347,7 @@
   <td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">The POI project consists of APIs for manipulating
   		various file formats based upon Microsoft's OLE 2 Compound Document
   		format using pure Java.</font></td>
  -<td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">?</font></td>
  +<td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">MS Excel serializer</font></td>
   
   </tr>
   
  @@ -363,11 +377,11 @@
   <tr>
   
   <td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">
  -<a href="jars.html">?</a>
  +<a href="http://www.coyotegulch.com/algorithm/jisp/">JISP</a>
   </font></td>
   <td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">optional/jisp_1_0_2.jar</font></td>
   <td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black"></font></td>
  -<td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">?</font></td>
  +<td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">JISP file storage</font></td>
   
   </tr>
   
  @@ -390,7 +404,7 @@
   </font></td>
   <td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">optional/jtidy-04aug2000r7-dev.jar</font></td>
   <td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">Tidy is a HTML syntax checker and pretty printer.</font></td>
  -<td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">transformers</font></td>
  +<td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">HTML generator</font></td>
   
   </tr>
   
  @@ -399,7 +413,7 @@
   <td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">
   <a href="http://jakarta.apache.org/lucene/">Search engine</a>
   </font></td>
  -<td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">optional/lucene-1.2-rc2.jar</font></td>
  +<td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">optional/lucene-1.2.jar</font></td>
   <td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">jakarta-lucene is a search engine toolkit designed for 
          indexing and searching of documents.</font></td>
   <td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">?</font></td>
  @@ -472,7 +486,7 @@
   </font></td>
   <td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">optional/velocity-1.2.jar</font></td>
   <td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">Velocity is a general purpose template engine written in Java.</font></td>
  -<td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">?</font></td>
  +<td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">Velocity Generator</font></td>
   
   </tr>
   
  @@ -483,7 +497,7 @@
   </font></td>
   <td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">optional/xmldb-api-20011111.jar</font></td>
   <td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">Database tailored for the storage of XML data.</font></td>
  -<td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">?</font></td>
  +<td align="left" valign="top" rowspan="" colspan="" bgcolor="#a0ddf0"><font face="verdana,helvetica,sanserif" size="-1" color="black">XML:DB source</font></td>
   
   </tr>
   
  
  
  
  1.4       +5 -4      xml-site/targets/cocoon/link/books.html
  
  Index: books.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/link/books.html,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- books.html	15 Jul 2002 13:57:03 -0000	1.3
  +++ books.html	22 Aug 2002 02:50:37 -0000	1.4
  @@ -140,20 +140,21 @@
   <ul>
   
   <li>
  -<font face="verdana, helvetica, sans serif"><a href="http://www.amazon.com/exec/obidos/ASIN/0735712352/">Cocoon: Building XML Applications</a> (Carsten Ziegeler, Matthew Langham)<br>
  +<font face="verdana, helvetica, sans serif"><a href="http://www.newriders.com/books/product.asp?product_id={C3C05052-BE3B-4E06-A60A-13FB40AF58F6}">Cocoon: Building XML Applications</a> (Carsten Ziegeler, Matthew Langham)<br>
   
   <b>Availability:</b> July 2002<br>
   
  -<b>Paperback:</b> 450 pages<br>
  +<b>Paperback:</b> 504 pages<br>
   
   <b>Publisher:</b> New Riders Publishing<br>
   
  -<b>ISBN:</b> 0735712352
  +<b>ISBN:</b> 0735712352<br>
  +Please note that you can download several <a href="http://www.newriders.com/books/product.asp?product_id={C3C05052-BE3B-4E06-A60A-13FB40AF58F6}">free chapters</a> at the New Riders web site.
   </font>
   </li>
   
   <li>
  -<font face="verdana, helvetica, sans serif"><a href="http://www.amazon.com/exec/obidos/ASIN/0672322579/">Cocoon Developer's Handbook</a> (Jeremy Aston)<br>
  +<font face="verdana, helvetica, sans serif"><a href="http://www.amazon.com/exec/obidos/ASIN/0672322579/">Cocoon Developer's Handbook</a> (Jeremy Aston, Lajos Moczar)<br>
   
   <b>Availability:</b> September 2002<br>
   
  
  
  
  1.4       +0 -4      xml-site/targets/cocoon/link/dtd-schema.html
  
  Index: dtd-schema.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/link/dtd-schema.html,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- dtd-schema.html	15 Jul 2002 13:57:03 -0000	1.3
  +++ dtd-schema.html	22 Aug 2002 02:50:37 -0000	1.4
  @@ -141,10 +141,6 @@
   </li>
   
   <li>
  -<font face="verdana, helvetica, sans serif"><a href="http://www.uic.edu/orgs/tei/sgml/teip3sg/SG14.htm">Defining SGML Document Structures: The DTD</a></font>
  -</li>
  -
  -<li>
   <font face="verdana, helvetica, sans serif"><a href="http://java.sun.com/webservices/docs/ea2/tutorial/doc/JAXPSAX7.html">Creating a Document Type Definition (DTD)</a> (Java Web Services Tutorial)</font>
   </li>
   
  
  
  
  1.4       +6 -1      xml-site/targets/cocoon/link/hosting.html
  
  Index: hosting.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/link/hosting.html,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- hosting.html	15 Jul 2002 13:57:03 -0000	1.3
  +++ hosting.html	22 Aug 2002 02:50:37 -0000	1.4
  @@ -178,6 +178,10 @@
   <li>
   <font face="verdana, helvetica, sans serif"><a href="http://www.webappcabaret.com">WebAppCabaret</a> - Cocoon 2.0.2</font>
   </li>
  +   
  +<li>
  +<font face="verdana, helvetica, sans serif"><a href="http://www.wisernet.com">Wiserlabz</a> - Cocoon 2.0.3 for commercial projects. See <a href="#wiserlabz">here</a> for free accounts.</font>
  +</li>
     
   </ul>
   </blockquote>
  @@ -191,7 +195,8 @@
   <ul>
      
   <li>
  -<font face="verdana, helvetica, sans serif">None on file</font>
  +<font face="verdana, helvetica, sans serif"><a name="wiserlabz">
  +<!--anchor--></a><a href="http://www.wiserlabz.com">Wiserlabz</a> - free Cocoon, Tomcat and Apache developer accounts.</font>
   </li>
     
   </ul>
  
  
  
  1.4       +4 -0      xml-site/targets/cocoon/link/livesites.html
  
  Index: livesites.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/link/livesites.html,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- livesites.html	15 Jul 2002 13:57:03 -0000	1.3
  +++ livesites.html	22 Aug 2002 02:50:37 -0000	1.4
  @@ -300,6 +300,10 @@
   <li>
   <font face="verdana, helvetica, sans serif"><a href="http://www.cbossbilling.com/">CBOSS</a></font>
   </li>
  +    
  +<li>
  +<font face="verdana, helvetica, sans serif"><a href="http://www.cueandreview.org.uk/">Cue and Review Recording Services</a></font>
  +</li>
   
      
   </ul>
  
  
  
  1.5       +13 -1     xml-site/targets/cocoon/plan/changes-doc.html
  
  Index: changes-doc.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/plan/changes-doc.html,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- changes-doc.html	15 Jul 2002 13:57:04 -0000	1.4
  +++ changes-doc.html	22 Aug 2002 02:50:37 -0000	1.5
  @@ -119,9 +119,21 @@
   
    
   
  - <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b> 2.0.4-dev (July 15 2002)</b></font>
  + <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b> 2.0.4-dev (August 21 2002)</b></font>
   <ul>
  +  
  +<li>
  +<font face="verdana, helvetica, sans serif"><img align="absmiddle" border="0" alt="add" src="images/add.jpg">
  +   New tutorial:
  +   <a href="../tutorial/tutorial-generator.html">Write a Custom Generator</a>
  +  (DC) Thanks to <a href="mailto:javageoff@yahoo.com">Geoff Howard</a>.</font>
  +</li>
  + 
  +</ul>
   
  + 
  +<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b> 2.0.3 (July 15 2002)</b></font>
  +<ul>
     
   <li>
   <font face="verdana, helvetica, sans serif"><img align="absmiddle" border="0" alt="add" src="images/add.jpg">
  
  
  
  1.4       +30 -2     xml-site/targets/cocoon/plan/doc.html
  
  Index: doc.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/plan/doc.html,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- doc.html	15 Jul 2002 13:57:04 -0000	1.3
  +++ doc.html	22 Aug 2002 02:50:37 -0000	1.4
  @@ -141,8 +141,8 @@
   <p>
   <font color="black" face="verdana,helvetica,sanserif">
   Find out what documentation efforts are already in process among other users
  -and committers. First and foremost, join the
  -cocoon-docs <a href="../mail-lists.html">mailing list</a>.
  +and committers. Consider joining the
  +cocoon-docs <a href="../mail-lists.html">mailing list</a>. 
   </font>
   </p>
     
  @@ -175,6 +175,34 @@
   <font face="verdana, helvetica, sans serif"><a href="../howto/howto-author-core-docs.html">How to Author Core Documentation</a></font>
   </li>
   	
  +</ul>
  +</blockquote>
  +  
  +
  +  
  +<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>Cocoon Wikis</b></font>
  +  
  +<p>
  +<font color="black" face="verdana,helvetica,sanserif">
  +Cocoon has two promising and complementary wiki efforts underway.
  +</font>
  +</p>
  +  
  +<blockquote>
  +<ul>
  +  
  +<li>
  +<font face="verdana, helvetica, sans serif">
  +<a href="http://www.outerthought.net/wiki/">Cocoon Wiki</a> focuses on content development for the Cocoon project. It is designed to facilitate document development and collaboration from all levels of Cocoon users. Documents include FAQs, snippets, how-tos, tutorials, RTs (random thoughts), dreams, surveys, and more. The preliminary focus of this the wiki is to serve as a documentation "breeding ground," where docs can "grow" until mature enough to become official cvs docs. However, it already represents a lively and valid document resource in its own right.
  +  </font>
  +</li>
  +  
  +<li>
  +<font face="verdana, helvetica, sans serif">
  +<a href="http://www.anyware-tech.com/wikiland/">Wikiland</a> is an ongoing development effort to build a Cocoon-based wiki architecture. Wikiland features a Cocoon dictionary as the pretext to use, test and develop the wiki. The project is seeking Cocoon-oriented developers to further its development. For more information, see the <a href="http://rossel.free.fr/">Wikiland home page.</a>
  +  </font>
  +</li>
  +  
   </ul>
   </blockquote>
     
  
  
  
  1.2       +2 -2      xml-site/targets/cocoon/plan/issues-doc.html
  
  Index: issues-doc.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/plan/issues-doc.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- issues-doc.html	15 Jul 2002 14:03:31 -0000	1.1
  +++ issues-doc.html	22 Aug 2002 02:50:37 -0000	1.2
  @@ -1,7 +1,7 @@
   <html xmlns:NetUtils="org.apache.cocoon.util.NetUtils">
   <head>
   <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  -<title>Issues</title>
  +<title>Issues with Documentation</title>
   <STYLE type="text/css">
   a.menu {
   	color: #FFFFFF;
  @@ -42,7 +42,7 @@
   <td align="left" valign="top" rowspan="3" height="60" width="135"><img border="0" vspace="0" hspace="0" src="images/logo.gif" height="60" width="135"></td><td background="images/line.gif" rowspan="1" colSpan="2" align="left" valign="top" height="0" width="100%"></td><td align="left" valign="top" rowspan="3" height="60" width="29"><img border="0" vspace="0" hspace="0" src="images/right.gif" height="60" width="29"></td>
   </tr>
   <tr>
  -<td bgcolor="#0086b2" colspan="2" align="right" valign="top" height="35" width="100%"><font color="#ffffff" face="Verdana, Arial, Helvetica, sans-serif" size="5">Issues</font></td>
  +<td bgcolor="#0086b2" colspan="2" align="right" valign="top" height="35" width="100%"><font color="#ffffff" face="Verdana, Arial, Helvetica, sans-serif" size="5">Issues with Documentation</font></td>
   </tr>
   <tr>
   <td background="images/bottom.gif" colspan="2" width="100%" valign="top" height="20" bgcolor="#0086b2" align="right">
  
  
  
  1.3       +8 -1      xml-site/targets/cocoon/tutorial/index.html
  
  Index: index.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/tutorial/index.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- index.html	15 Jul 2002 13:57:04 -0000	1.2
  +++ index.html	22 Aug 2002 02:50:37 -0000	1.3
  @@ -76,6 +76,9 @@
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="tutorial-develop-webapp.html">WebApp</a></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  +<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="tutorial-generator.html">Custom Generator</a></td>
  +</tr>
  +<tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="tutorial-rmi-generator.html">RMIServer</a></td>
   </tr>
   <tr>
  @@ -116,7 +119,11 @@
   </li>
   
   <li>
  -<font face="verdana, helvetica, sans serif"><a href="tutorial-rmi-generator.html">Building a RMI Server Generator, Draft</a></font>
  +<font face="verdana, helvetica, sans serif"><a href="tutorial-generator.html">Write a Custom Generator</a></font>
  +</li>
  +
  +<li>
  +<font face="verdana, helvetica, sans serif"><a href="tutorial-rmi-generator.html">Building a RMI Server Generator</a> - Draft</font>
   </li>
   	
   </ul>
  
  
  
  1.3       +3 -0      xml-site/targets/cocoon/tutorial/tutorial-develop-webapp.html
  
  Index: tutorial-develop-webapp.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/tutorial/tutorial-develop-webapp.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- tutorial-develop-webapp.html	15 Jul 2002 13:57:04 -0000	1.2
  +++ tutorial-develop-webapp.html	22 Aug 2002 02:50:37 -0000	1.3
  @@ -76,6 +76,9 @@
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><span class="menuselected">WebApp</span></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  +<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="tutorial-generator.html">Custom Generator</a></td>
  +</tr>
  +<tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="tutorial-rmi-generator.html">RMIServer</a></td>
   </tr>
   <tr>
  
  
  
  1.3       +6 -3      xml-site/targets/cocoon/tutorial/tutorial-rmi-generator.html
  
  Index: tutorial-rmi-generator.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/tutorial/tutorial-rmi-generator.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- tutorial-rmi-generator.html	15 Jul 2002 13:57:04 -0000	1.2
  +++ tutorial-rmi-generator.html	22 Aug 2002 02:50:37 -0000	1.3
  @@ -76,6 +76,9 @@
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="tutorial-develop-webapp.html">WebApp</a></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  +<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="tutorial-generator.html">Custom Generator</a></td>
  +</tr>
  +<tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><span class="menuselected">RMIServer</span></td>
   </tr>
   <tr>
  @@ -789,7 +792,7 @@
   <font face="verdana, helvetica, sans serif" color="#0086b2"><b>ComposerGenerator</b></font>
   					
   <p>
  -<font color="black" face="verdana,helvetica,sanserif"><b>Can be used as base class if you want your Generator to be an Avalon Composer</b>
  +<font color="black" face="verdana,helvetica,sanserif"><b>Can be used as base class if you want your Generator to be an Avalon Composable</b>
   <br>
   					
   </font>
  @@ -812,7 +815,7 @@
   <ul>
   			
   <li>
  -<font face="verdana, helvetica, sans serif"><code><font face="courier, monospaced">public void compose(ComponentManager componentManager)</font></code>: Pass the ComponentManager to the composer. The Composable implementation should use the specified ComponentManager to acquire the components it needs for execution.				      
  +<font face="verdana, helvetica, sans serif"><code><font face="courier, monospaced">public void compose(ComponentManager componentManager)</font></code>: Pass the ComponentManager to the Composable. The Composable implementation should use the specified ComponentManager to acquire the components it needs for execution.				      
   			</font>
   </li>
   		
  @@ -846,7 +849,7 @@
   <ul>
   			
   <li>
  -<font face="verdana, helvetica, sans serif"><code><font face="courier, monospaced">public void compose(ComponentManager componentManager)</font></code>: Pass the ComponentManager to the composer. The Composable implementation should use the specified ComponentManager to acquire the components it needs for execution. (implemented)
  +<font face="verdana, helvetica, sans serif"><code><font face="courier, monospaced">public void compose(ComponentManager componentManager)</font></code>: Pass the ComponentManager to the Composable. The Composable implementation should use the specified ComponentManager to acquire the components it needs for execution. (implemented)
   			</font>
   </li>
   			
  
  
  
  1.3       +3 -0      xml-site/targets/cocoon/tutorial/tutorial-shots.html
  
  Index: tutorial-shots.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/cocoon/tutorial/tutorial-shots.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- tutorial-shots.html	15 Jul 2002 13:57:04 -0000	1.2
  +++ tutorial-shots.html	22 Aug 2002 02:50:37 -0000	1.3
  @@ -76,6 +76,9 @@
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="tutorial-develop-webapp.html">WebApp</a></td>
   </tr>
   <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  +<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="tutorial-generator.html">Custom Generator</a></td>
  +</tr>
  +<tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
   <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="tutorial-rmi-generator.html">RMIServer</a></td>
   </tr>
   <tr>
  
  
  
  1.1                  xml-site/targets/cocoon/tutorial/tutorial-generator.html
  
  Index: tutorial-generator.html
  ===================================================================
  <html xmlns:NetUtils="org.apache.cocoon.util.NetUtils">
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Write a Custom Generator</title>
  <STYLE type="text/css">
  a.menu {
  	color: #FFFFFF;
      text-align:left;               
      font-size:12px;
      font-family: Verdana, Arial, Helvetica, sans-serif;
      font-weight:plain;
      text-decoration:none;
      padding-left: 14px
  }
  
  A.menu:hover {
  	color: #FFCC00
  }
  
  
  .menutitle {
  	color: #000000;
      text-align:left;               
      font-size:10px;
      font-family: Verdana, Arial, Helvetica, sans-serif;
      font-weight:bold;
      padding-left: 8px
  }
  .menuselected {
  	color: #FFCC00;
      text-align:left;               
      font-size:12px;
      font-family: Verdana, Arial, Helvetica, sans-serif;
      font-weight:bold;
      padding-left: 14px
  }
  </STYLE>
  </head>
  <body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#cc0000" vlink="#0086b2" link="#039acc" text="#000000">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
  <td align="left" valign="top" rowspan="3" height="60" width="135"><img border="0" vspace="0" hspace="0" src="images/logo.gif" height="60" width="135"></td><td background="images/line.gif" rowspan="1" colSpan="2" align="left" valign="top" height="0" width="100%"></td><td align="left" valign="top" rowspan="3" height="60" width="29"><img border="0" vspace="0" hspace="0" src="images/right.gif" height="60" width="29"></td>
  </tr>
  <tr>
  <td bgcolor="#0086b2" colspan="2" align="right" valign="top" height="35" width="100%"><font color="#ffffff" face="Verdana, Arial, Helvetica, sans-serif" size="5">Write a Custom Generator</font></td>
  </tr>
  <tr>
  <td background="images/bottom.gif" colspan="2" width="100%" valign="top" height="20" bgcolor="#0086b2" align="right">
  <table width="288" cellspacing="0" cellpadding="0" border="0">
  <tr>
  <td align="left" valign="top" height="20" width="96"><a target="new" href="http://xml.apache.org/"><img border="0" vspace="0" hspace="0" name="xml" src="images/button-xml-lo.gif" height="20" width="96" alt="http://xml.apache.org/"></a></td><td align="left" valign="top" height="20" width="96"><a target="new" href="http://www.apache.org/"><img border="0" vspace="0" hspace="0" name="asf" src="images/button-asf-lo.gif" height="20" width="96" alt="http://www.apache.org/"></a></td><td align="left" valign="top" height="20" width="96"><a target="new" href="http://www.w3.org/"><img border="0" vspace="0" hspace="0" name="w3c" src="images/button-w3c-lo.gif" height="20" width="96" alt="http://www.w3.org/"></a></td>
  </tr>
  </table>
  </td>
  </tr>
  </table>
  <table width="100%" cellspacing="0" cellpadding="0" border="0">
  <tr width="100%">
  <td align="left" valign="top" width="120">
  <table width="120" cellspacing="0" cellpadding="0" border="0" bgcolor="#a0a0a0">
  <tr>
  <td valign="top" align="left"><img width="120" vspace="0" src="images/join.gif" hspace="0" height="14" border="0"><br>
  </td>
  </tr>
  <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="../index.html">Main</a></td>
  </tr>
  <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  <td background="images/label-background_b.gif" bgcolor="#959595" valign="top"><img width="120" height="6" src="images/separator.gif"><br>
  <span class="menutitle">Tutorials</span></td>
  </tr>
  <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="index.html">Index</a></td>
  </tr>
  <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="tutorial-develop-webapp.html">WebApp</a></td>
  </tr>
  <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><span class="menuselected">Custom Generator</span></td>
  </tr>
  <tr xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.cocoon.util.NetUtils">
  <td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="tutorial-rmi-generator.html">RMIServer</a></td>
  </tr>
  <tr>
  <td align="left" valign="top"><img width="120" vspace="0" src="images/close.gif" hspace="0" height="14" border="0"><br>
  </td>
  </tr>
  </table>
  </td><td>
  <table cellspacing="15" cellpadding="0" border="0">
  <tr>
  <td>
     
  
     
        <font face="verdana, helvetica, sans serif" size="+2" color="#0086b2">Introduction</font>
  <hr style="color: #0086b2" size="1">
           
  <p>
  <font color="black" face="verdana,helvetica,sanserif">This Tutorial describes the steps necessary to write a basic Cocoon
            generator. Starting with a quick "Hello World" example and
            progressing to slightly more involved examples should give a good
            start to those whose applications call for extending Cocoon with a
            custom generator.</font>
  </p>
  
           
  <p>
  <font color="black" face="verdana,helvetica,sanserif">The intention is to provide:</font>
  </p>
  
           
  <blockquote>
  <ul>
              
  <li>
  <font face="verdana, helvetica, sans serif">the basics of creating SAX events in a C2 generator</font>
  </li>
  
              
  <li>
  <font face="verdana, helvetica, sans serif">a little understanding of the Avalon container contract as it
               relates to C2 generators</font>
  </li>
  
              
  <li>
  <font face="verdana, helvetica, sans serif">a little understanding of the factors that would influence
               the decision about which xxxGenerator to extend</font>
  </li>
           
  </ul>
  </blockquote>
  
           
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>Purpose</b></font>
             
  <p>
  <font color="black" face="verdana,helvetica,sanserif">The flexibility to extend the basic "Out of the box"
              functionality of Cocoon will be an important feature for Cocoon's
              viability as a broadly used application framework. Though the
              documentation on 
              <a href="../developing/extending.html">"Extending Cocoon"</a>
              (at least at this writing) seems to have a hard time imagining
              applications for custom generators outside of the bizarre, I
              imagine several scenarios which could call for it:</font>
  </p>
  
              
  <blockquote>
  <ul>
                
  <li>
  <font face="verdana, helvetica, sans serif">A datasource as yet undeveloped in Cocoon (e.g. event
                 logs)</font>
  </li>
  
                
  <li>
  <font face="verdana, helvetica, sans serif">Database driven applications for which XSP is either too
                 awkward or holds too many performance questions. The need for
                 high scalability will drive some (such as myself) to seek
                 optimization in custom generators that just do not seem
                 reasonable to expect out of the auto-generated code that XSPs
                 produce. The current 
                 <a href="../performancetips.html">Performance Tips</a>
                 documentation seems to lead in this direction.</font>
  </li>
  
                 
  <li>
  <font face="verdana, helvetica, sans serif">Customized control over the caching behaviour if not
                  provided for by other means.</font>
  </li>
              
  </ul>
  </blockquote>
           
  
           
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>Important</b></font>
             
  <p>
  <font color="black" face="verdana,helvetica,sanserif">There are other options that should be considered before
              settling on a new generator. One notable consideration is the
              option of writing a Source that would fit your needs. See 
              <a href="http://marc.theaimsgroup.com/?t=102571404500001&r=1&w=2">this discussion</a>
  
              from the mailing list for an introduction to the idea. Of course,
              XSP should be considered - I have not seen any performance
              comparisons that quantify the benefit that can be had from a
              custom generator. Finally, be sure you understand the purpose and
              capabilities of all current standard Generators, as well as those
              in the scratchpad (for instance, there is a
              <code><font face="courier, monospaced">TextParserGenerator</font></code> in the scratchpad at the moment
              which may be configurable enough to process the event log need
              mentioned above). Cocoon is a rapidly developing technology that
              may have anticipated your need. Because the documentation lags
              behind development, you may find more by examining the source
              directory and searching the 
              <a href="../mail-archives.html">mail archives</a>
              for applicable projects.</font>
  </p>
           
  
           
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>Intended Audience</b></font>
             
  <p>
  <font color="black" face="verdana,helvetica,sanserif">This Tutorial is aimed at users who have developed an
              understanding of the basics of Cocoon and have a need to begin
              extending it for their own purposes, or desire a deeper
              understanding of what goes on under the hood.</font>
  </p>
           
  
           
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>Prerequisites</b></font>
              
  <p>
  <font color="black" face="verdana,helvetica,sanserif">Generator developers should have:</font>
  </p>
  
              
  <blockquote>
  <ul>
                
  <li>
  <font face="verdana, helvetica, sans serif">Read 
                <a href="../userdocs/concepts/index.html">Cocoon Concepts</a>
                 , as well as 
                 <a href="../developing/extending.html">Extending Cocoon</a>
  
                 , and the broad overview of 
                 <a href="../developing/avalon.html">Avalon</a>
  
                 , the framework upon which Cocoon is built.</font>
  </li>
  
                 
  <li>
  <font face="verdana, helvetica, sans serif">An installed version of Cocoon if you want to follow the
                  examples yourself (obviously).</font>
  </li>
  
                 
  <li>
  <font face="verdana, helvetica, sans serif">A good understanding of Java.</font>
  </li>
                 
  <li>
  <font face="verdana, helvetica, sans serif">Java SDK (1.2 or later) "installed".</font>
  </li>
              
  </ul>
  </blockquote>
           
        
  
        
  <font face="verdana, helvetica, sans serif" size="+2" color="#0086b2">Diving In</font>
  <hr style="color: #0086b2" size="1">
           
  <p>
  <font color="black" face="verdana,helvetica,sanserif">Let us start with a simple "Hello World" example:</font>
  </p>
  
           
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>Simple Example</b></font>
             
  <p>
  <font color="black" face="verdana,helvetica,sanserif">Our goal will be to build the following document (or, more to
              the point, the SAX events that would correspond to this document).
             </font>
  </p>
  
  
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>
  &lt;example&gt;Hello World!&lt;/example&gt;
  </pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  
             
  <p>
  <font color="black" face="verdana,helvetica,sanserif">An example of code that will send the correct SAX events down
              the pipeline:</font>
  </p>
  
  
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>
  
  import org.apache.cocoon.generation.AbstractGenerator;
  import org.xml.sax.helpers.AttributesImpl;
  import org.xml.sax.SAXException;
  
  public class HelloWorldGenerator extends AbstractGenerator 
  {
  
      AttributesImpl emptyAttr = new AttributesImpl();
  
      /**
       * Override the generate() method from AbstractGenerator.
       * It simply generates SAX events using SAX methods.  
       * I haven't done the comparison myself, but this 
       * has to be faster than parsing them from a string.
       */
  
      public void generate() throws SAXException
      
      {
         
        // the org.xml.sax.ContentHandler is inherited 
        // through org.apache.cocoon.xml.AbstractXMLProducer 
  
        contentHandler.startDocument();
        
        contentHandler.startElement("", "example", "example", emptyAttr);
        
        contentHandler.characters("Hello World!".toCharArray(),0,
                                    "Hello World!".length());
  
        contentHandler.endElement("","example", "example");
  
        contentHandler.endDocument();
  
      }
  }
  </pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  
             
  <p>
  <font color="black" face="verdana,helvetica,sanserif">So, the basic points are that we extend
             <code><font face="courier, monospaced">AbstractGenerator</font></code>, override its generate() method,
             call the relevant SAX methods on the contentHandler (inherited
             from <code><font face="courier, monospaced">AbstractGenerator</font></code>) to start, fill and end the
             document. For information on the SAX api, see 
              <a href="http://www.saxproject.org/">www.saxproject.org</a>
              </font>
  </p>
  
              
  <p>
  <table border="0" cellpadding="0" cellspacing="3" width="100%">
  <tr>
  <td valign="top" width="28"><img alt="Note" border="0" hspace="0" vspace="0" height="29" width="28" src="images/note.gif"></td><td valign="top"><font color="black" face="verdana,helvetica,sanserif" size="-1"><i>A performance tip might be to keep an empty instance of
               <code><font face="courier, monospaced">AttributesImpl</font></code> around to reuse for each element
               with no attributes. Also, the characters(char[] chars, int start,
               int end) begs to be overloaded with a version like 
              <code><font face="courier, monospaced">characters(String justPutTheWholeThingIn)</font></code>
  
              that handles the conversion to a character array and assumes you
              want from beginning to end, as is done in
              <code><font face="courier, monospaced">org.apache.cocoon.generation.AbstractServerPage</font></code>.
              If you are not using namespaces, it is easy to imagine overloaded
              convenience implementations of the other SAX methods as well.
              You will probably want to set up a convenient BaseGenerator with
              helpers like this and extend it for your real Generators.</i></font></td>
  </tr>
  </table>
  </p>
  
              
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">What to Extend?</font>
                
  <p>
  <font color="black" face="verdana,helvetica,sanserif">How did we choose to extend <code><font face="courier, monospaced">AbstractGenerator</font></code>?
                 Generators are defined by the
                 <code><font face="courier, monospaced">org.apache.cocoon.generation.Generator</font></code> interface.
                 The only direct implementation of this of interest to us is
                 <code><font face="courier, monospaced">AbstractGenerator</font></code>, which gives a basic level of
                 functionality. Another option would have been
                 <code><font face="courier, monospaced">ComposerGenerator</font></code>, which would give us the added
                 functionality of implenting the Avalon interface 
                 <code><font face="courier, monospaced">Composable</font></code>
  
                 , which would signal the container that handles all the
                 components including our generator to give us a handle back to
                 the <code><font face="courier, monospaced">ComponentManager</font></code>
                 during the startup of the container. If we needed to lookup a
                 pooled database connection, or some other standard or custom
                 Cocoon component, this is what we would do. Most of the out
                 of the box Generators extend <code><font face="courier, monospaced">ComposerGenerator</font></code>.
                 Other abstract Generators you may choose to extend include the
                 poorly named (IMHO) <code><font face="courier, monospaced">ServletGenerator</font></code>
  
                 , and <code><font face="courier, monospaced">AbstractServerPage</font></code>
                 . While these both introduce functionality specific to their
                 eventual purpose - the JSP and XSP generators, they do make a
                 convenient starting place for many other Generators.</font>
  </p>
              
  
              
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">Running The Sample</font>
                
  <p>
  <font color="black" face="verdana,helvetica,sanserif">In order to run this sample, you will need to compile the code,
                 deploy it into the cocoon webapp, and modify the sitemap to
                 declare our generator and allow access to it via a pipeline.</font>
  </p>
  
                 
  <font face="verdana, helvetica, sans serif" color="#0086b2"><b>Compile</b></font>
                  
  <p>
  <font color="black" face="verdana,helvetica,sanserif">Save this source as <code><font face="courier, monospaced">HelloWorldGenerator.java</font></code>
                   and compile it using</font>
  </p>
  
  
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>javac -classpath %PATH_TO_JARS%\cocoon.jar;%PATH_TO_JARS%\xml-apis.jar
     HelloWorldGenerator.java</pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  
                   
  <p>
  <font color="black" face="verdana,helvetica,sanserif">Unfortunately for me, the exact name of your cocoon and
                     xml-apis jars may vary with exactly which distribution,
                     or CVS version you are using, since the community has taken
                     to appending dates or versions at the end of the jar name
                     to avoid confusion. Be sure to find the correct name on
                     your system and substitute it in the classpath. Also, you
                     have several options on where to find jars. If you have a
                     source version that you built yourself, you may want to
                     point to <code><font face="courier, monospaced">lib\core\</font></code> for them. If you have only
                     the binary version, you can find them in
                     <code><font face="courier, monospaced">WEB-INF\lib\</font></code></font>
  </p>
                 
  
                 
  <font face="verdana, helvetica, sans serif" color="#0086b2"><b>Deploy</b></font>
                    
  <p>
  <font color="black" face="verdana,helvetica,sanserif">Simply copy the class file into the
                    <code><font face="courier, monospaced">%TOMCAT_HOME%\webapps\cocoon\WEB-INF\classes</font></code>
                    directory</font>
  </p>
  
                    
  <p>
  <table border="0" cellpadding="0" cellspacing="3" width="100%">
  <tr>
  <td valign="top" width="28"><img alt="Note" border="0" hspace="0" vspace="0" height="29" width="28" src="images/note.gif"></td><td valign="top"><font color="black" face="verdana,helvetica,sanserif" size="-1"><i>If memory serves me, there have been occasional
                     classloading problems in the past that may affect
                     classloading. If your compiled classes are not recognized
                     in the classes directory, try 
                    <code><font face="courier, monospaced">jar</font></code>-ing them up and place them in
                    <code><font face="courier, monospaced">WEB-INF\lib\</font></code> instead. That is probably where
                    your real generators would go anyway - with a whole package
                    of all your custom classes in one jar.</i></font></td>
  </tr>
  </table>
  </p>
                 
  
                 
  <font face="verdana, helvetica, sans serif" color="#0086b2"><b>Sitemap Modifications</b></font>
                    
  <p>
  <font color="black" face="verdana,helvetica,sanserif">You need to do two things: in the 
                    <code><font face="courier, monospaced">map:generators</font></code>
  
                    section, add an element for your class:</font>
  </p>
  
                    
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>&lt;map:generator name="helloWorld" src="HelloWorldGenerator"/&gt;</pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  
                    
  <p>
  <font color="black" face="verdana,helvetica,sanserif">Then add a pipeline to sitemap.xmap which uses it:</font>
  </p>
  
  
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>
  ...
     &lt;map:match pattern="heyThere.xml"&gt;
        &lt;map:generate type="helloWorld"/&gt;
        &lt;map:serialize type="xml"/&gt;
     &lt;/map:match&gt;
  ...
  </pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  
                    
  <p>
  <font color="black" face="verdana,helvetica,sanserif">And finally, our creation should be available at 
                    <code><font face="courier, monospaced">http://localhost:8080/cocoon/heyThere.xml</font></code>
                    </font>
  </p>
  
                    
  <p>
  <font color="black" face="verdana,helvetica,sanserif">Depending on your exact setup, you may need to restart
                     Tomcat (or whatever your servlet container is) to get
                     there.</font>
  </p>
  
                    
  <p>
  <table border="0" cellpadding="0" cellspacing="3" width="100%">
  <tr>
  <td valign="top" width="28"><img alt="Note" border="0" hspace="0" vspace="0" height="29" width="28" src="images/note.gif"></td><td valign="top"><font color="black" face="verdana,helvetica,sanserif" size="-1"><i>Notice that the 
                    <code><font face="courier, monospaced">
                       &lt;?xml version="1.0" encoding="UTF-8"?&gt;
                    </font></code>
  
                    declaration was added for us by the xml serializer at the
                    beginning. If you need to modify this, the generator is not
                    the appropriate place. The default encoding of UTF-8 could
                    be overridden with iso-8859-1 for example by specifying an 
                    <code><font face="courier, monospaced">
                       &lt;encoding&gt;iso-8859-1&lt;/encoding&gt;
                    </font></code>
  
                    child parameter inside the declaration for the xml
                    serializer in your sitemap.</i></font></td>
  </tr>
  </table>
  </p>
                 
              
           
  
           
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>A Less Trivial Example</b></font>
              
  <p>
  <font color="black" face="verdana,helvetica,sanserif">Moving on to a less trivial example, we will take some
               information out of the Request, and construct a slightly more
               involved document. This time, our goal will be the following
               document:</font>
  </p>
  
  
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>
  &lt;doc&gt;
  &lt;uri&gt;...&lt;/uri&gt;
  &lt;params&gt;
      &lt;param value="..."&gt;...&lt;/param&gt;
      ...
  &lt;/params&gt;
  &lt;date&gt;..&lt;/date&gt;
  &lt;/doc&gt;
  </pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  
              
  <p>
  <font color="black" face="verdana,helvetica,sanserif">The values of course will be filled in from the request, and
               will depend on choices we make later.</font>
  </p>
  
  
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>import org.apache.cocoon.generation.AbstractGenerator;
  import org.xml.sax.helpers.AttributesImpl;
  import org.xml.sax.SAXException;
  
  // for the setup() method
  import org.apache.cocoon.environment.SourceResolver;
  import java.util.Map;
  import org.apache.avalon.framework.parameters.Parameters;
  import org.apache.cocoon.ProcessingException;
  import java.io.IOException;
  
  // used to deal with the request parameters.
  import org.apache.cocoon.environment.ObjectModelHelper;
  import org.apache.cocoon.environment.Request;
  import java.util.Enumeration;
  
  import java.util.Date;
  
  
  public class RequestExampleGenerator extends AbstractGenerator 
  {
  
      // Will be initialized in the setup() method and used in generate()
      Request request = null;
      Enumeration paramNames = null;
      String uri = null;
  
      // We will use attributes this time.
      AttributesImpl myAttr = new AttributesImpl();
      AttributesImpl emptyAttr = new AttributesImpl();
      
     
      public void setup(SourceResolver resolver, Map objectModel, 
               String src, Parameters par)  
           throws ProcessingException, SAXException, IOException 
      {
         super.setup(resolver, objectModel, src, par);
         request = ObjectModelHelper.getRequest(objectModel);
         paramNames = request.getParameterNames();
         uri = request.getRequestURI();
      } 
  
      /**
       * Implement the generate() method from AbstractGenerator.
       */
  
      public void generate() throws SAXException
      {
  
        contentHandler.startDocument();
        
        contentHandler.startElement("", "doc", "doc", emptyAttr);
  
        // &lt;uri&gt; and all following elements will be nested inside the doc element
        contentHandler.startElement("", "uri", "uri", emptyAttr);
  
        contentHandler.characters(uri.toCharArray(),0,uri.length());
  
        contentHandler.endElement("", "uri", "uri");
        
        contentHandler.startElement("", "params", "params", emptyAttr);
           
        while (paramNames.hasMoreElements())
        {
            // Get the name of this request parameter.
            String param = (String)paramNames.nextElement();
            String paramValue = request.getParameter(param);
        
            // Since we've chosen to reuse one AttributesImpl instance, 
            // we need to call its clear() method before each use.  We 
            // use the request.getParameter() method to look up the value 
            // associated with the current request parameter.
            myAttr.clear();
            myAttr.addAttribute("","value","value","",paramValue);
  
            // Each &lt;param&gt; will be nested inside the containing &lt;params&gt; element.
            contentHandler.startElement("", "param", "param", myAttr);
            contentHandler.characters(param.toCharArray(),0,param.length());
            contentHandler.endElement("","param", "param");
        }
              
        contentHandler.endElement("","params", "params");
  
        contentHandler.startElement("", "date", "date", emptyAttr);
  
        String dateString = (new Date()).toString();
        contentHandler.characters(dateString.toCharArray(),0,dateString.length());
  
        contentHandler.endElement("", "date", "date");
        contentHandler.endElement("","doc", "doc");
        contentHandler.endDocument();
     }
  
     public void recycle() {
        super.recycle();
        this.request = null;
        this.paramNames = null;
        this.parNames = null;
        this.uri = null;
     }
  }</pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  			
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">Compile and Test</font>
  			
  <p>
  <font color="black" face="verdana,helvetica,sanserif">Save this code as
                           <code><font face="courier, monospaced">RequestExampleGenerator.java</font></code>
                           and compile as before.  You will need to add both
                           <code><font face="courier, monospaced">avalon-framework.jar</font></code> and
                           <code><font face="courier, monospaced">avalon-excalibur.jar</font></code> to your classpath
                          this time.  Besides finding the exact name of the jar
                          as described above, you may now also have to ensure
                          that you have the version of excalibur targeted to your
  			jvm version - there is currently a version for JDK 1.4
                          and one for 1.2/1.3</font>
  </p>
  			
  <p>
  <font color="black" face="verdana,helvetica,sanserif">For your sitemap, you will need to add a definition
                          for this generator like 
  <code><font face="courier, monospaced">&lt;map:generator name="requestExample" src="RequestExampleGenerator"/&gt;</font></code>
                          and you will need a sitemap pipeline like:</font>
  </p>
  
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>&lt;map:match pattern="howYouDoin.xml"&gt;
      &lt;map:generate type="requestExample"/&gt;
      &lt;map:serialize type="xml"/&gt;
  &lt;/map:match&gt;
  </pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>	
  			
  <p>
  <font color="black" face="verdana,helvetica,sanserif">At this point, you should be able to access the
                           example at
  <code><font face="courier, monospaced">http://localhost:8080/cocoon/howYouDoin.xml?anyParam=OK&amp;more=better</font></code></font>
  </p>
  			
              
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">New Concepts</font>
               <font face="verdana, helvetica, sans serif" color="#0086b2"><b>Lifecycle</b></font>
                 
  <p>
  <font color="black" face="verdana,helvetica,sanserif">First, notice that we now override the
                  <code><font face="courier, monospaced">setup(...)</font></code> and <code><font face="courier, monospaced">recycle()</font></code> methods
                  defined in <code><font face="courier, monospaced">AbstractGenerator</font></code>.
                  The <code><font face="courier, monospaced">ComponentManager</font></code> that handles the lifecycle of
                  all <code><font face="courier, monospaced">component</font></code>s in Cocoon, calls
                  <code><font face="courier, monospaced">setup(..)</font></code> before each new call to
                  <code><font face="courier, monospaced">generate()</font></code> to give the Generator information
                  about the current request and its environment, and calls
                  recycle() when it is done to enable it to clean up resources
                  as appropriate. Our example uses only the
                  <code><font face="courier, monospaced">objectModel</font></code> which abstracts the Request,
                  Response, and Context. We get a reference to the Request
                  wrapper, and obtain an <code><font face="courier, monospaced">Enumeration</font></code> of all the
                  GET/POST parameters available.</font>
  </p>
  
                 
  <p>
  <font color="black" face="verdana,helvetica,sanserif">The <code><font face="courier, monospaced">src</font></code> and <code><font face="courier, monospaced">SourceResolver</font></code> are
                  provided to enable us to look up and use whatever source is
                  specified in the pipeline setup. Had we specified 
  <code><font face="courier, monospaced">&lt;map:generate type="helloWorld" src="someSourceString"/&gt;</font></code>
                  we would have used the <code><font face="courier, monospaced">SourceResolver</font></code> to work
                  with "someSourceString", whether it be a file, or url, etc.</font>
  </p>
  
                 
  <p>
  <font color="black" face="verdana,helvetica,sanserif">We are also given a 
                 <code><font face="courier, monospaced">Parameters</font></code> reference which we would use to obtain
                  any parameter names and values which are children elements of
                  our <code><font face="courier, monospaced">map:generate</font></code> element in the pipeline.</font>
  </p>
  
  
  <p>
  <table border="0" cellpadding="0" cellspacing="3" width="100%">
  <tr>
  <td valign="top" width="28"><img alt="Note" border="0" hspace="0" vspace="0" height="29" width="28" src="images/note.gif"></td><td valign="top"><font color="black" face="verdana,helvetica,sanserif" size="-1"><i>It may be good practice to abstract the source of your parameters so
  that they do not have to come from the Request object. For instance, the
  following code would allow us to abstract the origin of two parameters, param1
  and param2:</i></font></td>
  </tr>
  </table>
  </p>
  
  
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>In RequestExampleGenerator.java, 
  ...
  String param1 = null;
  String param2 = null;
  ...
     public void setup(SourceResolver resolver, Map objectModel, 
     			String src, Parameters par)  
     		throws ProcessingException, SAXException, IOException 
     {
          ... 
          param1 = par.getParameter("param1");
          param2 = par.getParameter("param2");
     } 
  
  and in sitemap.xmap, 
  
  ...
  &lt;map:match pattern="abstractedParameters.xml"/&gt;
  	&lt;map:act type="request"&gt;
  	  &lt;map:parameter name="parameters" value="true"/&gt;
  	  &lt;map:generate type="requestExample"&gt;
  		&lt;parameter name="param1" value="{visibleName1}"/&gt;
  		&lt;parameter name="param2" value="{visibleName2}"/&gt;
  	  &lt;/map:generate&gt;
  	&lt;/map:act&gt;
  &lt;/map:match&gt;
  ...</pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  		    
  <p>
  <font color="black" face="verdana,helvetica,sanserif">As you can see, we have also hidden the internal
                      name from the outside world who will use
                      <code><font face="courier, monospaced">?visibleName1=foo&amp;visibleName2=bar</font></code>
                      </font>
  </p>
  		  
  		  
  <font face="verdana, helvetica, sans serif" color="#0086b2"><b>Nested Elements</b></font>
  		    
  <p>
  <font color="black" face="verdana,helvetica,sanserif">In this example, nested elements are created simply
              by nesting complete
              <code><font face="courier, monospaced">startElement()</font></code>/<code><font face="courier, monospaced">endElement</font></code> 
              pairs within each other. If we had a logic failure in our code and 
              sent non-wellformed xml events down the pipeline, nothing in our 
              process would complain (try it!). Of course, any transformers later 
              in the pipeline would behave in an unpredictable manner.</font>
  </p>
  		  
  		  
  <font face="verdana, helvetica, sans serif" color="#0086b2"><b>Attributes</b></font>
  		    
  <p>
  <font color="black" face="verdana,helvetica,sanserif">Finally, we've introduced the use of attributes.
              We chose to 
              employ one <code><font face="courier, monospaced">attributesImpl</font></code>, clearing it before each 
              element.  Multiple attributes for an element would simply be added 
              by repeated calls to <code><font face="courier, monospaced">addAttribute</font></code>.</font>
  </p>
  		  
              
              
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">A Lesson</font>
               
  <p>
  <font color="black" face="verdana,helvetica,sanserif">Before moving on, it is worth noting that
               after all this work, there is already a generator provided with 
               Cocoon which does much of what we have accomplished here
               - <code><font face="courier, monospaced">org.apache.cocoon.generation.RequestGenerator</font></code>
               which in the default configuration is probably available at
               <code><font face="courier, monospaced">http://localhost:8080/cocoon/request</font></code></font>
  </p>
               
           
  
           
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>Moving On</b></font>
           
  <p>
  <font color="black" face="verdana,helvetica,sanserif">From here, we will move on to cover handling ugly pseudo-xml
            (like real world html) with CDATA blocks, employing some of the
            Avalon lifecycle method callbacks (Composable/Disposable), Database
            access, and Caching.</font>
  </p>
           
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">The Employee SQL Example Reworked</font>
            
  <p>
  <font color="black" face="verdana,helvetica,sanserif">In the samples included with Cocoon, there is an example of a SQL
             query using XSP and ESQL.  We will recreate part of that example
             below using the same HSQL database, which should be automatically
             configured and populated with data in the default build. If you
             find that you do not have that database set up, see the ESQL XSP
             sample for instructions on setting the datasource up.  Do note that
             this specific task is handled in the ESQL XSP example in just a few
             lines of code.  If your task is really this simple, there may be no
             need to create your own generator.</font>
  </p>
  
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>import org.apache.cocoon.generation.ComposerGenerator;
  import org.apache.avalon.framework.component.ComponentManager;
  import org.apache.avalon.framework.component.ComponentException;
  import org.apache.avalon.framework.component.ComponentSelector;
  import org.apache.avalon.excalibur.datasource.DataSourceComponent;
  import org.apache.cocoon.environment.SourceResolver;
  import org.apache.avalon.framework.parameters.Parameters;
  import org.apache.cocoon.environment.ObjectModelHelper;
  import org.apache.cocoon.environment.Request;
  import org.apache.cocoon.caching.Cacheable;
  import org.apache.cocoon.caching.CacheValidity;
  import org.apache.cocoon.ProcessingException;
  import org.xml.sax.ContentHandler;
  import org.xml.sax.SAXException;
  import org.xml.sax.helpers.AttributesImpl;
   
  import java.sql.*;
  import java.util.Map;
  import java.util.Date;
  import org.apache.avalon.framework.activity.Disposable;
  
  public class EmployeeGeneratorExample extends ComposerGenerator
     implements Cacheable, Disposable
  {
  
  	public void dispose() {
  	    super.dispose();
  	    manager.release(datasource);
  	    datasource = null;
  	}
  
  	public void recycle() {
  	    myAttr.clear();
  	    super.recycle();
  	}
  
  	public void setup(SourceResolver resolver, Map objectModel,
                            String src, Parameters par) {
  	    // Not neeed for this example, but you would get request
              // and/or sitemap parameters here.
  	}
  
  	
  	public void compose(ComponentManager manager) 
  	throws ComponentException{
  	  super.compose(manager);
  	  ComponentSelector selector = (ComponentSelector)
              manager.lookup(DataSourceComponent.ROLE + "Selector");
  	  this.datasource = (DataSourceComponent) selector.select("personnel");
  	}
  
  	public void generate() 
  	throws SAXException, ProcessingException {
  		try {
  
  			Connection conn = this.datasource.getConnection();
  			Statement stmt = conn.createStatement(); 
  			
  			ResultSet res = stmt.executeQuery(EMPLOYEE_QUERY);
  			
                          //open the SAX event stream
  			contentHandler.startDocument();
  			myAttr.addAttribute("","date","date","",
                              (new Date()).toString());
                          //open root element
  			contentHandler.startElement("","content",
                              "content",myAttr);
  
  			
  			String currentDept = "";
  			boolean isFirstRow = true;
  			boolean moreRowsExist = res.next() ? true : false;
  			
  			while (moreRowsExist) {
  			    String thisDept = attrFromDB(res, "name");
  			    if (!thisDept.equals(currentDept)) {
  				newDept(res,thisDept,isFirstRow);
  				currentDept = thisDept;
  			    }
  			    addEmployee(res,attrFromDB(res,"id"),
                                attrFromDB(res,"empName"));
  			    isFirstRow = false;
  			    
  			    if (!res.next()) {
  				endDept();
  				moreRowsExist = false;
  			    }
  			}
  			
                          //close root element
  			contentHandler.endElement("","content","content");
                          //close the SAX event stream
  			contentHandler.endDocument();
  			
  			res.close();
  			stmt.close();
  			conn.close();
  	  	} catch (SQLException e) { 
    			throw new ProcessingException(e); 
    		} 
  	}
  
  	public long generateKey()
  	{
  		// Default non-caching behaviour. We will implement this later.
  		return 0;
  	}
  
  	public CacheValidity generateValidity()
  	{
  		// Default non-caching behaviour. We will implement this later.
  		return null;
  	}
  
  
    private DataSourceComponent datasource;
    private AttributesImpl myAttr = new AttributesImpl();
    
    private String EMPLOYEE_QUERY = 
    "SELECT department.name, employee.id, employee.name as empName " +
    "FROM department, employee " + 
    "WHERE department.id = employee.department_id  ORDER BY department.name";
    
    private void endDept() throws SAXException {
        contentHandler.endElement("","dept","dept");
    }
    
    private void newDept(ResultSet res, String dept, boolean isFirstRow)
        throws SAXException {
      if (!isFirstRow) {
  	endDept();
      }
      myAttr.clear();
      myAttr.addAttribute("","name","name","",dept);
      contentHandler.startElement("","dept","dept",myAttr);
    }    
    
    private void addEmployee(ResultSet res, String id, String name)
        throws SAXException {
        myAttr.clear();
        myAttr.addAttribute("","id","id","",id);
        contentHandler.startElement("","employee","employee",myAttr);
        contentHandler.characters(name.toCharArray(),0,name.length());
        contentHandler.endElement("","employee","employee");
    }
    
    private String attrFromDB(ResultSet res, String column)
        throws SQLException {
    		String value = res.getString(column);
  		return (res.wasNull())?"":value;
    }
  
  }</pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
  	
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">Compile and Test</font>
  	
  <p>
  <font color="black" face="verdana,helvetica,sanserif">To compile this, you will now need the following on your classpath:
           <code><font face="courier, monospaced">avalon-excalibur.jar, avalon-framework.jar, cocoon.jar,
           xml-apis.jar</font></code> (using whatever names they have in your
           distribution).  When you compile this, you may receive some
           deprecation warnings.  Do not worry about them - we will discuss 
           that later.</font>
  </p>
  	
  <p>
  <font color="black" face="verdana,helvetica,sanserif">To test it, copy it over to your <code><font face="courier, monospaced">WEB-INF\classes\</font></code>
           directory as before and add something like the following to your
           <code><font face="courier, monospaced">sitemap.xmap</font></code> ...</font>
  </p>
  	
  <div align="center">
  <table border="0" cellpadding="0" cellspacing="4">
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
  <pre>...
  &lt;map:generator name="employee" src="EmployeeGeneratorExample"/&gt;
  ...
  &lt;map:match pattern="employee.xml"&gt;
      &lt;map:generate type="employee"/&gt;
      &lt;map:serialize type="xml"/&gt;
  &lt;/map:match&gt;
  ...</pre>
  </td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  <tr>
  <td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
  </tr>
  </table>
  </div>
        
  
        
  <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">New Concepts</font>
  	<font face="verdana, helvetica, sans serif" color="#0086b2"><b>Composable and Disposable</b></font>
  	
  <p>
  <font color="black" face="verdana,helvetica,sanserif">We've implemented the Avalon lifecycle interfaces Composable and 
      Disposable.  When Cocoon starts up (which happens when the servlet 
      container starts up) the <code><font face="courier, monospaced">ComponentManager</font></code> will call 
      <code><font face="courier, monospaced">compose(ComponentManager m)</font></code> for our component as it works 
      its way through all the components declared in the sitemap.  The handle 
      to <code><font face="courier, monospaced">ComponentManager</font></code> is used to look up any other Avalon 
      components that we need.  Lookups happen in an abstracted way using a 
      ROLE which enables us to change out implementations of each component 
      without affecting previously written code.  Our generator's ROLE by the 
      way was defined in the <code><font face="courier, monospaced">Generator</font></code> interface.  </font>
  </p>
      
  <p>
  <font color="black" face="verdana,helvetica,sanserif">Similarly, when this instance of our generator is disposed of by the 
      container, it will call the <code><font face="courier, monospaced">dispose()</font></code> method to allow us to 
      clean up any resources we held on to between invocations.  Note that 
      components can be pooled by the container.  If we thought that our employee 
      generator was going to see a lot of traffic, we might change its definition 
      at the top of sitemap.xmap to include attributes like <code><font face="courier, monospaced">pool-grow="2" 
      pool-max="16" pool-min="2"</font></code> so that multiple overlapping requests 
      could be serviced without a log jam.</font>
  </p>
  	
  	
  <font face="verdana, helvetica, sans serif" color="#0086b2"><b>Datasource</b></font>
      
  <p>
  <font color="black" face="verdana,helvetica,sanserif">We look up our HSQL database here by its name given in cocoon.xconf. 
      If we had multiple datasources (say a backup development database and 
      a live one), we could determine which one to use based on a simple 
      configuration parameter in sitemap.xmap.  We could get at configuration 
      parameters using the Avalon interface <code><font face="courier, monospaced">Configurable</font></code>.</font>
  </p>
      
  <p>
  <table border="0" cellpadding="0" cellspacing="3" width="100%">
  <tr>
  <td valign="top" width="28"><img alt="Note" border="0" hspace="0" vspace="0" height="29" width="28" src="images/note.gif"></td><td valign="top"><font color="black" face="verdana,helvetica,sanserif" size="-1"><i>Notice that we wait until generate() to request our connection 
      from the pool - as we should.  The problem is that we lose the benefit 
      of using prepared statements since they would be destroyed when we 
      returned the instance to the pool.  At present, the implementation of 
      org.apache.avalon.excalibur.datasource.DataSourceComponent does not 
      support the pooling of statements.</i></font></td>
  </tr>
  </table>
  </p> 
      
  	
  <font face="verdana, helvetica, sans serif" color="#0086b2"><b>Caching</b></font>
  
  
  <p>
  <table border="0" cellpadding="0" cellspacing="3" width="100%">
  <tr>
  <td valign="top" width="28"><img alt="Note" border="0" hspace="0" vspace="0" height="29" width="28" src="images/note.gif"></td><td valign="top"><font color="black" face="verdana,helvetica,sanserif" size="-1"><i>FIXME: This is still coming.</i></font></td>
  </tr>
  </table>
  </p>
      
  <p>
  <font color="black" face="verdana,helvetica,sanserif">Introduce new code to implement Caching, discuss basic logic, and
      deprecation/move to Avalon. I could use some help here from Carsten,
      or someone who can quickly give an overview of the changes and plan.
      </font>
  </p>
      
  	
  	 
        
     
  
  </td>
  </tr>
  </table>
  </td>
  </tr>
  </table>
  <table width="100%" cellspacing="0" cellpadding="0" border="0">
  <tr>
  <td bgcolor="#0086b2"><img width="1" src="images/dot.gif" height="1"></td>
  </tr>
  <tr>
  <td align="center"><font size="-1" face="arial,helvetica,sanserif" color="#0086b2"><i>Copyright &copy; 1999-2002 The Apache Software Foundation. All Rights Reserved.</i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: general-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: general-cvs-help@xml.apache.org


Mime
View raw message