cziegeler    01/11/30 00:13:26

  Added:       targets/cocoon/ctwig ctwig-basic01.html ctwig-basic02.html
                        ctwig-basic03.html ctwig-contributing.html
                        ctwig-gettingstarted.html ctwig-installing.html
                        ctwig-resources.html ctwig-transformations.html
                        ctwig-why.html index.html
               targets/cocoon/ctwig/graphics Contributing-label.jpg
                        Contributing-label_over.jpg Getting
                        Started-label.jpg Getting Started-label_over.jpg
                        Home-label.jpg Home-label_over.jpg
                        Installing-label.jpg Installing-label_over.jpg
                        Main-label.jpg Main-label_over.jpg
                        Resources-label.jpg Resources-label_over.jpg
                        Transformations-label.jpg
                        Transformations-label_over.jpg Why-label.jpg
                        Why-label_over.jpg cTwIG-separator.jpg
                        ctwig-basic02-header.jpg_label=cTwIG - Cocoon Two
                        Idiots Guide - Basic XSP Processing.jpg
                        ctwig-contributing-header.jpg_label=cTwIG - Cocoon
                        Two Idiots Guide - Contributing.jpg
                        ctwig-gettingstarted-header.jpg_label=cTwIG -
                        Cocoon Two Idiots Guide - Getting Started.jpg
                        ctwig-installing-header.jpg_label=cTwIG - Cocoon
                        Two Idiots Guide - Installing.jpg
                        ctwig-resources-header.jpg_label=cTwIG - Cocoon Two
                        Idiots Guide - Resources.jpg
                        ctwig-transformations-header.jpg_label=cTwIG -
                        Cocoon Two Idiots Guide - Transformations.jpg
                        ctwig-why-header.jpg_label=cTwIG - Cocoon Two
                        Idiots Guide - Why.jpg index-header.jpg_label=cTwIG
                        - Cocoon Two Idiots Guide.jpg
               
targets/cocoon/ctwig/graphics/ctwig-basic01-header.jpg_label=cTwIG
                        XSL Transformation.jpg
               
targets/cocoon/ctwig/graphics/ctwig-basic03-header.jpg_label=cTwIG
                        Logicsheet Processing.jpg
               targets/cocoon/ctwig/images bar-border-bottom.gif
                        bar-border-left.gif bar-border-right.gif
                        bar-border-top.gif bar-bottom-left.gif
                        bar-bottom-right.gif bar-top-left.gif
                        bar-top-right.gif bottom.gif button-asf-hi.gif
                        button-asf-lo.gif button-w3c-hi.gif
                        button-w3c-lo.gif button-xml-hi.gif
                        button-xml-lo.gif close.gif dot.gif join.gif
                        line.gif logo.gif note.gif right.gif void.gif
               targets/cocoon/ctwig/resources script.js
               targets/cocoon/ctwig/sample/transformations/basic01
                        basic01-01.xml.txt basic01-01.xsl.txt
               targets/cocoon/ctwig/sample/transformations/basic02
                        basic02-01.xml.txt
               targets/cocoon/ctwig/sample/transformations/basic03
                        basic03-01.xml.txt
               targets/cocoon/ctwig/sample/transformations/logicsheet
                        ctwig.xsl.txt
               targets/cocoon/developing avalon.html datasources.html
                        extending.html httprequest.html index.html
                        parent-component-manager.html
               targets/cocoon/developing/graphics API (Javadoc)-label.jpg
                        API (Javadoc)-label_over.jpg Avalon-label.jpg
                        Avalon-label_over.jpg Concepts-separator.jpg
                        Extending C2-label.jpg Extending C2-label_over.jpg
                        Flow-label.jpg Flow-label_over.jpg
                        Java-separator.jpg Main-label.jpg
                        Main-label_over.jpg Parent CM-label.jpg Parent
                        CM-label_over.jpg Using Databases-label.jpg Using
                        Databases-label_over.jpg
                        avalon-header.jpg_label=Avalon for Apache
                        Cocoon.jpg datasources-header.jpg_label=Using
                        Databases in Apache Cocoon.jpg
                        extending-header.jpg_label=Extending Apache
                        Cocoon.jpg httprequest-header.jpg_label=Request
                        Processing.jpg index-header.jpg_label=Developer
                        Documentation.jpg
                        parent-component-manager-header.jpg_label=Parent
                        Component Manager.jpg
               targets/cocoon/developing/images bar-border-bottom.gif
                        bar-border-left.gif bar-border-right.gif
                        bar-border-top.gif bar-bottom-left.gif
                        bar-bottom-right.gif bar-top-left.gif
                        bar-top-right.gif bottom.gif button-asf-hi.gif
                        button-asf-lo.gif button-w3c-hi.gif
                        button-w3c-lo.gif button-xml-hi.gif
                        button-xml-lo.gif close.gif dot.gif
                        get_hello_html.png initialize_Cocoon.png join.gif
                        line.gif logo.gif note.gif right.gif void.gif
               targets/cocoon/developing/resources script.js
               targets/cocoon/installing index.html jars.html
               targets/cocoon/installing/graphics Download-label.jpg
                        Download-label_over.jpg Installation-separator.jpg
                        Installing-label.jpg Installing-label_over.jpg
                        Jars-label.jpg Jars-label_over.jpg Main-label.jpg
                        Main-label_over.jpg
                        index-header.jpg_label=Installing Apache Cocoon.jpg
                        jars-header.jpg_label=Cocoon JARs.jpg
               targets/cocoon/installing/images bar-border-bottom.gif
                        bar-border-left.gif bar-border-right.gif
                        bar-border-top.gif bar-bottom-left.gif
                        bar-bottom-right.gif bar-top-left.gif
                        bar-top-right.gif bottom.gif button-asf-hi.gif
                        button-asf-lo.gif button-w3c-hi.gif
                        button-w3c-lo.gif button-xml-hi.gif
                        button-xml-lo.gif close.gif dot.gif join.gif
                        line.gif logo.gif note.gif right.gif void.gif
               targets/cocoon/installing/resources script.js
  Log:
  New cocoon target
  
  Revision  Changes    Path
  1.1                  xml-site/targets/cocoon/ctwig/ctwig-basic01.html
  
  Index: ctwig-basic01.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>cTwIG - Cocoon Two Idiots Guide - Basic XML/XSL Transformation</title>
  <script type="text/javascript" src="resources/script.js" 
language="JavaScript"></script>
  </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" colspan="2" align="left" 
valign="top" height="5" width="100%"><img align="left" border="0" vspace="0" 
hspace="0" src="images/line.gif" height="5" width="1"></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%"><img align="right" alt="cTwIG - Cocoon Two Idiots Guide - Basic 
XML/XSL Transformation" border="0" vspace="0" hspace="0" 
src="graphics/ctwig-basic01-header.jpg_label=cTwIG - Cocoon Two Idiots Guide - 
Basic XML/XSL Transformation.jpg"></td>
  </tr>
  <tr>
  <td background="images/bottom.gif" bgcolor="#0086b2" align="left" 
valign="top" height="20" width="100%"><img align="left" border="0" vspace="0" 
hspace="0" src="images/bottom.gif" height="20" width="3"></td><td 
background="images/bottom.gif" width="288" 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 
onMouseOver="rolloverOn('xml');" onMouseOut="rolloverOff('xml');" target="new" 
href="http://xml.apache.org/";><img onLoad="rolloverLoad('xml', 
'images/button-xml-hi.gif', 'images/button-xml-lo.gif');" 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 onMouseOver="rolloverOn('asf');" onMouseOut="rolloverOff('asf');" 
target="new" href="http://www.apache.org/";><img onLoad="rolloverLoad('asf', 
'images/button-asf-hi.gif', 'images/button-asf-lo.gif');" 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 onMouseOver="rolloverOn('w3c');" onMouseOut="rolloverOff('w3c');" 
target="new" href="http://www.w3.org/";><img onLoad="rolloverLoad('w3c', 
'images/button-w3c-hi.gif', 'images/button-w3c-lo.gif');" 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 valign="top" width="120">
  <table width="120" cellspacing="0" cellpadding="0" border="0">
  <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>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Main')" 
onMouseOut="rolloverOff('Main')" href="../index.html"><img 
onLoad="rolloverLoad('Main', 'graphics/Main-label_over.jpg', 
'graphics/Main-label.jpg');" vspace="0" hspace="0" name="Main" width="120" 
height="12" border="0" src="graphics/Main-label.jpg" alt="Main"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><img alt="cTwIG" width="120" vspace="0" 
src="graphics/cTwIG-separator.jpg" hspace="0" height="20" border="0"><br>
  </td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Home')" 
onMouseOut="rolloverOff('Home')" href="index.html"><img 
onLoad="rolloverLoad('Home', 'graphics/Home-label_over.jpg', 
'graphics/Home-label.jpg');" vspace="0" hspace="0" name="Home" width="120" 
height="12" border="0" src="graphics/Home-label.jpg" alt="Home"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Why')" 
onMouseOut="rolloverOff('Why')" href="ctwig-why.html"><img 
onLoad="rolloverLoad('Why', 'graphics/Why-label_over.jpg', 
'graphics/Why-label.jpg');" vspace="0" hspace="0" name="Why" width="120" 
height="12" border="0" src="graphics/Why-label.jpg" alt="Why"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Getting Started')" 
onMouseOut="rolloverOff('Getting Started')" 
href="ctwig-gettingstarted.html"><img onLoad="rolloverLoad('Getting Started', 
'graphics/Getting Started-label_over.jpg', 'graphics/Getting 
Started-label.jpg');" vspace="0" hspace="0" name="Getting Started" width="120" 
height="12" border="0" src="graphics/Getting Started-label.jpg" alt="Getting 
Started"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Installing')" 
onMouseOut="rolloverOff('Installing')" href="ctwig-installing.html"><img 
onLoad="rolloverLoad('Installing', 'graphics/Installing-label_over.jpg', 
'graphics/Installing-label.jpg');" vspace="0" hspace="0" name="Installing" 
width="120" height="12" border="0" src="graphics/Installing-label.jpg" 
alt="Installing"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Transformations')" 
onMouseOut="rolloverOff('Transformations')" 
href="ctwig-transformations.html"><img onLoad="rolloverLoad('Transformations', 
'graphics/Transformations-label_over.jpg', 
'graphics/Transformations-label.jpg');" vspace="0" hspace="0" 
name="Transformations" width="120" height="12" border="0" 
src="graphics/Transformations-label.jpg" alt="Transformations"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Resources')" 
onMouseOut="rolloverOff('Resources')" href="ctwig-resources.html"><img 
onLoad="rolloverLoad('Resources', 'graphics/Resources-label_over.jpg', 
'graphics/Resources-label.jpg');" vspace="0" hspace="0" name="Resources" 
width="120" height="12" border="0" src="graphics/Resources-label.jpg" 
alt="Resources"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Contributing')" 
onMouseOut="rolloverOff('Contributing')" href="ctwig-contributing.html"><img 
onLoad="rolloverLoad('Contributing', 'graphics/Contributing-label_over.jpg', 
'graphics/Contributing-label.jpg');" vspace="0" hspace="0" name="Contributing" 
width="120" height="12" border="0" src="graphics/Contributing-label.jpg" 
alt="Contributing"></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="0" cellpadding="0" border="0">
  <tr>
  <td height="10" width="100%"></td>
  </tr>
  <tr>
  <td>
        
  
        
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="+1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" 
src="images/void.gif"><b>Transformations</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                        
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Basic XML/XSL 
Transformation</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                                
  <p align="justify">IMHO the most basic thing you will want to do is perform 
an XSL transformation on an XML file.  A typical example of this is to render 
some XML as an HTML page using an XSL stylesheet.</p>
                                
  <p align="justify">Take the following XML file (<a target="_blank" 
href="sample/transformations/basic01/basic01-01.xml.txt">basic01-01.xml</a>):</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;?xml version="1.0"?&gt;
    &lt;page&gt;
      &lt;title&gt;Basic XML/XSL Transformation Example - 
BASIC01-01.XML&lt;/title&gt;
      &lt;greeting&gt;Hello World&lt;/greeting&gt;
    &lt;/page&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 align="justify">And use the following XSL to transform it to some HTML (<a 
target="_blank" 
href="sample/transformations/basic01/basic01-01.xsl.txt">basic01-01.xsl</a>):</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;?xml version="1.0"?&gt;
    &lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
version="1.0"&gt;
  
    &lt;xsl:template match="page"&gt;
      &lt;html&gt;
        &lt;head&gt;
          &lt;title&gt;&lt;xsl:value-of select="title"/&gt;&lt;/title&gt;
        &lt;/head&gt;
        &lt;body&gt;
          &lt;h1&gt;&lt;xsl:value-of select="title"/&gt;&lt;/h1&gt;
          &lt;p&gt;&lt;xsl:value-of select="greeting"/&gt;&lt;/p&gt;
        &lt;/body&gt;
      &lt;/html&gt;
    &lt;/xsl:template&gt;
  
  &lt;/xsl:stylesheet&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 align="justify">Hopefully the basic XSL makes sense however the key to 
getting this served is to change setting in the sitemap.xmap file.  It is this 
file that determines what and how gets served.  The sitemap is very powerful 
and can be configured to do some very efficient things, however we will start 
with slightly longwinded but simple examples so the concepts are there to be 
built on.</p>
                                
  <p align="justify">You can add sections into sitemap.xmap file that comes 
with C2.  This has things called "pipelines" already set up.  To be able to see 
the result of transforming the above files together you just need to add the 
following code into the last "pipeline" section:</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="ctwig/basic01-01.xml"&gt; 
      &lt;map:generate type="file" src="ctwig/basic01-01.xml"/&gt; 
      &lt;map:transform type="xslt" src="ctwig/basic01-01.xsl"/&gt; 
      &lt;map:serialize/&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 align="justify">What this construct does is to tell C2 to do something 
when it recieves a request for <b><code><font face="courier, 
monospaced">ctwig/basic01-01.xml</font></code></b>.  The "something" that C2 
will do is pass the <b><code><font face="courier, 
monospaced">ctwig/basic01-01.xml</font></code></b> file through a "file" 
generator.  This basically parses the XML.  The result parsed stream then gets 
transformed using <b><code><font face="courier, 
monospaced">ctwig/basic01-01.xsl</font></code></b> and rendered.</p>
                                
  <p align="justify">Calling <a target="_blank" 
href="http://localhost:8080/cocoon/ctwig/basic01-01.xml";>http://localhost:8080/cocoon/ctwig/basic01-01.xml</a>
 will result in a simple HTML page being rendered.</p>
                        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
                        
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Simple Wildcards in the Sitemap 
File</b></font></td><td background="images/bar-border-right.gif" width="9"><img 
border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                                
  <p align="justify">The above sitemap map construct works but you can imagine 
the overhead if we had to add this code for every single XML/XSL transformation 
we wanted to do.  C2 makes things easier by allowing wildcards in the pattern 
matching argument.  If the above section is replaced with the following:</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="ctwig/*.xml"&gt; 
      &lt;map:generate type="file" src="ctwig/{1}.xml"/&gt; 
      &lt;map:transform type="xslt" src="ctwig/{1}.xsl"/&gt; 
      &lt;map:serialize/&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 align="justify">then C2 will substitutue the <b><code><font face="courier, 
monospaced">{1}</font></code></b> meta-tag with the whatever is in the wildcard 
section of the request.  This means that is every XML file has a corresponding 
XSL file with the same filename (before the extension) then requesting the XML 
file will result in it being served.</p>
                                
  <p align="justify">This also allows us to do a kind of request re-writing 
function.  Take the following sitemap construct:</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="ctwig/*.html"&gt; 
      &lt;map:generate type="file" src="ctwig/{1}.xml"/&gt; 
      &lt;map:transform type="xslt" src="ctwig/{1}.xsl"/&gt; 
      &lt;map:serialize/&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 align="justify">This allows us to request an HTML file from the ctwig 
folder.  What will actually happen though is that C2 willtake the wildcard 
portion and use that to look for XML and XSL files with the same filename and 
use them to generate the response stream contents.  For example; <a 
target="_blank" 
href="http://localhost:8080/cocoon/ctwig/basic01-01.html";>http://localhost:8080/cocoon/ctwig/basic01-01.html</a>
 will cause C2 to look for <b><code><font face="courier, 
monospaced">ctwig/basic01-01.xml</font></code></b> and transform it with 
<b><code><font face="courier, 
monospaced">ctwig/basic01-01.xsl</font></code></b> to produce the final 
page.</p>
                        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
                        
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Using a Single XSL 
File</b></font></td><td background="images/bar-border-right.gif" width="9"><img 
border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                                
  <p align="justify">Consider a scenario where you have multiple XML files 
which are you wish to transform in a common fashion (for example into HTML).  
If your XML has been designed well and follows a common DTD there is no reason 
why one XSL file can transform all the XML files.  Many of the C2 examples do 
this, using one, single, common XSL file for rendering all the examples to HTML 
and another for transforming them into a source code view.  This again is 
achieved using the sitemap file with a construct similar to the following:</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="ctwig/*.html"&gt; 
      &lt;map:generate type="file" src="ctwig/{1}.xml"/&gt; 
      &lt;map:transform type="xslt" src="ctwig/file2html.xsl"/&gt; 
      &lt;map:serialize/&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 align="justify">Here, a request for an HTML page will look for a 
corresponding XML file and transform it using <b><code><font face="courier, 
monospaced">ctwig/file2html.xsl</font></code></b>.</p>
                        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
    
  <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="#000000" face="arial,helvetica,sanserif" size="-1"><i>TODO: PROVIDE AN 
EXAMPLE.</i></font></td>
  </tr>
  </table>
  </p>
                
  </font></td>
  </tr>
  </table>
  </div>
  <br>
        
  
  </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-2001 The Apache Software Foundation. 
All Rights Reserved.</i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  xml-site/targets/cocoon/ctwig/ctwig-basic02.html
  
  Index: ctwig-basic02.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>cTwIG - Cocoon Two Idiots Guide - Basic XSP Processing</title>
  <script type="text/javascript" src="resources/script.js" 
language="JavaScript"></script>
  </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" colspan="2" align="left" 
valign="top" height="5" width="100%"><img align="left" border="0" vspace="0" 
hspace="0" src="images/line.gif" height="5" width="1"></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%"><img align="right" alt="cTwIG - Cocoon Two Idiots Guide - Basic 
XSP Processing" border="0" vspace="0" hspace="0" 
src="graphics/ctwig-basic02-header.jpg_label=cTwIG - Cocoon Two Idiots Guide - 
Basic XSP Processing.jpg"></td>
  </tr>
  <tr>
  <td background="images/bottom.gif" bgcolor="#0086b2" align="left" 
valign="top" height="20" width="100%"><img align="left" border="0" vspace="0" 
hspace="0" src="images/bottom.gif" height="20" width="3"></td><td 
background="images/bottom.gif" width="288" 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 
onMouseOver="rolloverOn('xml');" onMouseOut="rolloverOff('xml');" target="new" 
href="http://xml.apache.org/";><img onLoad="rolloverLoad('xml', 
'images/button-xml-hi.gif', 'images/button-xml-lo.gif');" 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 onMouseOver="rolloverOn('asf');" onMouseOut="rolloverOff('asf');" 
target="new" href="http://www.apache.org/";><img onLoad="rolloverLoad('asf', 
'images/button-asf-hi.gif', 'images/button-asf-lo.gif');" 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 onMouseOver="rolloverOn('w3c');" onMouseOut="rolloverOff('w3c');" 
target="new" href="http://www.w3.org/";><img onLoad="rolloverLoad('w3c', 
'images/button-w3c-hi.gif', 'images/button-w3c-lo.gif');" 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 valign="top" width="120">
  <table width="120" cellspacing="0" cellpadding="0" border="0">
  <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>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Main')" 
onMouseOut="rolloverOff('Main')" href="../index.html"><img 
onLoad="rolloverLoad('Main', 'graphics/Main-label_over.jpg', 
'graphics/Main-label.jpg');" vspace="0" hspace="0" name="Main" width="120" 
height="12" border="0" src="graphics/Main-label.jpg" alt="Main"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><img alt="cTwIG" width="120" vspace="0" 
src="graphics/cTwIG-separator.jpg" hspace="0" height="20" border="0"><br>
  </td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Home')" 
onMouseOut="rolloverOff('Home')" href="index.html"><img 
onLoad="rolloverLoad('Home', 'graphics/Home-label_over.jpg', 
'graphics/Home-label.jpg');" vspace="0" hspace="0" name="Home" width="120" 
height="12" border="0" src="graphics/Home-label.jpg" alt="Home"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Why')" 
onMouseOut="rolloverOff('Why')" href="ctwig-why.html"><img 
onLoad="rolloverLoad('Why', 'graphics/Why-label_over.jpg', 
'graphics/Why-label.jpg');" vspace="0" hspace="0" name="Why" width="120" 
height="12" border="0" src="graphics/Why-label.jpg" alt="Why"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Getting Started')" 
onMouseOut="rolloverOff('Getting Started')" 
href="ctwig-gettingstarted.html"><img onLoad="rolloverLoad('Getting Started', 
'graphics/Getting Started-label_over.jpg', 'graphics/Getting 
Started-label.jpg');" vspace="0" hspace="0" name="Getting Started" width="120" 
height="12" border="0" src="graphics/Getting Started-label.jpg" alt="Getting 
Started"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Installing')" 
onMouseOut="rolloverOff('Installing')" href="ctwig-installing.html"><img 
onLoad="rolloverLoad('Installing', 'graphics/Installing-label_over.jpg', 
'graphics/Installing-label.jpg');" vspace="0" hspace="0" name="Installing" 
width="120" height="12" border="0" src="graphics/Installing-label.jpg" 
alt="Installing"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Transformations')" 
onMouseOut="rolloverOff('Transformations')" 
href="ctwig-transformations.html"><img onLoad="rolloverLoad('Transformations', 
'graphics/Transformations-label_over.jpg', 
'graphics/Transformations-label.jpg');" vspace="0" hspace="0" 
name="Transformations" width="120" height="12" border="0" 
src="graphics/Transformations-label.jpg" alt="Transformations"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Resources')" 
onMouseOut="rolloverOff('Resources')" href="ctwig-resources.html"><img 
onLoad="rolloverLoad('Resources', 'graphics/Resources-label_over.jpg', 
'graphics/Resources-label.jpg');" vspace="0" hspace="0" name="Resources" 
width="120" height="12" border="0" src="graphics/Resources-label.jpg" 
alt="Resources"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Contributing')" 
onMouseOut="rolloverOff('Contributing')" href="ctwig-contributing.html"><img 
onLoad="rolloverLoad('Contributing', 'graphics/Contributing-label_over.jpg', 
'graphics/Contributing-label.jpg');" vspace="0" hspace="0" name="Contributing" 
width="120" height="12" border="0" src="graphics/Contributing-label.jpg" 
alt="Contributing"></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="0" cellpadding="0" border="0">
  <tr>
  <td height="10" width="100%"></td>
  </tr>
  <tr>
  <td>
        
  
        
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="+1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" 
src="images/void.gif"><b>Transformations</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                        
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Basic XSP 
Processing</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                                
  <p align="justify">XSP allows you to incorporate logic into the XML file thus 
providing capabilities analogous to ASP, JSP, CFM, PHP etc.  The advantage is 
that the logic is not tied to the rendering since a stylesheet is separately 
applied.  The results of the code are wrapped up in a tag which is what can be 
referenced in the stylesheet.</p>
                                
  <p align="justify">Take the following XML file (<a target="_blank" 
href="sample/transformations/basic02/basic02-01.xml.txt">basic02-01.xml</a>):</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;?xml version="1.0"?&gt;
    &lt;xsp:page 
          xmlns:xsp="http://apache.org/xsp";
    &gt;
  
      &lt;page&gt;
        &lt;xsp:logic&gt;
          String msg = "Hello world!";
        &lt;/xsp:logic&gt;
  
        &lt;title&gt;
          Basic XSP Processing Example - BASIC02-01.XML
        &lt;/title&gt;
  
        &lt;greeting&gt;
          &lt;xsp:expr&gt;msg&lt;/xsp:expr&gt;
        &lt;/greeting&gt;
      &lt;/page&gt;
    &lt;/xsp:page&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 align="justify">We have now wrapped the previous file up with an xsp:page 
tag and added some logic that assigns "Hello World" to a string and uses the 
xsp:expr tag to insert that in place of the previous text in the greeting tag.  
 <i>Please note that this example uses "http://apache.org/xsp"; as the 
namespace.  This is different to older C1 based examples and should be used 
instead.  If you do not then this examples may not work and any logicsheet 
example definitely will not work.</i>
  </p>
                                
  <p align="justify">To render this we need to tell Cocoon that this file is an 
XSP file.  This is easier if we either name the file as .xsp and/or put it in 
an XSP folder.  For now just put it in {TOMCAT_HOME}\webapps\cocoon\ctwig\xsp, 
keeping the .xml extension.  You can now add the following to the sitemap.xmap 
file:</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="ctwig/xsp/*"&gt; 
      &lt;map:generate type="serverpages" src="ctwig/xsp/{1}"/&gt; 
      &lt;map:transform type="xslt" src="ctwig/basic01-01.xsl"/&gt; 
      &lt;map:serialize/&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 align="justify">What this does is to force any file in the ctwig/xsp 
folder to be processed using the "serverpages" (XSP) generator, then rendered 
with the same XSL stylesheet as in the Basic01 example.  Note that we are 
telling C2 that the stylesheet is in the ctwig folder.</p>
                                
  <p align="justify">You can test this code by calling <a target="_blank" 
href="http://localhost:8080/cocoon/ctwig/xsp/basic02-01.xml";>http://localhost:8080/cocoon/ctwig/xsp/basic02-01.xml</a>
  </p>
                                
  <p align="justify">The one downside with this approach is that you can end up 
with XML files that contain lots of logic along with the rest of the data.  
This becomes as confusing to read as when the logic is mixed with the 
presentation so does not really solve all the issues that are inherent to the 
ASP/JSP type approach.  The solution is to use <a 
href="ctwig-basic03.html">logicsheets</a>.</p>
                        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
                
  </font></td>
  </tr>
  </table>
  </div>
  <br>
        
  
  </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-2001 The Apache Software Foundation. 
All Rights Reserved.</i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  xml-site/targets/cocoon/ctwig/ctwig-basic03.html
  
  Index: ctwig-basic03.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>cTwIG - Cocoon Two Idiots Guide - Basic XSP/Logicsheet 
Processing</title>
  <script type="text/javascript" src="resources/script.js" 
language="JavaScript"></script>
  </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" colspan="2" align="left" 
valign="top" height="5" width="100%"><img align="left" border="0" vspace="0" 
hspace="0" src="images/line.gif" height="5" width="1"></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%"><img align="right" alt="cTwIG - Cocoon Two Idiots Guide - Basic 
XSP/Logicsheet Processing" border="0" vspace="0" hspace="0" 
src="graphics/ctwig-basic03-header.jpg_label=cTwIG - Cocoon Two Idiots Guide - 
Basic XSP/Logicsheet Processing.jpg"></td>
  </tr>
  <tr>
  <td background="images/bottom.gif" bgcolor="#0086b2" align="left" 
valign="top" height="20" width="100%"><img align="left" border="0" vspace="0" 
hspace="0" src="images/bottom.gif" height="20" width="3"></td><td 
background="images/bottom.gif" width="288" 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 
onMouseOver="rolloverOn('xml');" onMouseOut="rolloverOff('xml');" target="new" 
href="http://xml.apache.org/";><img onLoad="rolloverLoad('xml', 
'images/button-xml-hi.gif', 'images/button-xml-lo.gif');" 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 onMouseOver="rolloverOn('asf');" onMouseOut="rolloverOff('asf');" 
target="new" href="http://www.apache.org/";><img onLoad="rolloverLoad('asf', 
'images/button-asf-hi.gif', 'images/button-asf-lo.gif');" 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 onMouseOver="rolloverOn('w3c');" onMouseOut="rolloverOff('w3c');" 
target="new" href="http://www.w3.org/";><img onLoad="rolloverLoad('w3c', 
'images/button-w3c-hi.gif', 'images/button-w3c-lo.gif');" 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 valign="top" width="120">
  <table width="120" cellspacing="0" cellpadding="0" border="0">
  <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>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Main')" 
onMouseOut="rolloverOff('Main')" href="../index.html"><img 
onLoad="rolloverLoad('Main', 'graphics/Main-label_over.jpg', 
'graphics/Main-label.jpg');" vspace="0" hspace="0" name="Main" width="120" 
height="12" border="0" src="graphics/Main-label.jpg" alt="Main"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><img alt="cTwIG" width="120" vspace="0" 
src="graphics/cTwIG-separator.jpg" hspace="0" height="20" border="0"><br>
  </td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Home')" 
onMouseOut="rolloverOff('Home')" href="index.html"><img 
onLoad="rolloverLoad('Home', 'graphics/Home-label_over.jpg', 
'graphics/Home-label.jpg');" vspace="0" hspace="0" name="Home" width="120" 
height="12" border="0" src="graphics/Home-label.jpg" alt="Home"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Why')" 
onMouseOut="rolloverOff('Why')" href="ctwig-why.html"><img 
onLoad="rolloverLoad('Why', 'graphics/Why-label_over.jpg', 
'graphics/Why-label.jpg');" vspace="0" hspace="0" name="Why" width="120" 
height="12" border="0" src="graphics/Why-label.jpg" alt="Why"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Getting Started')" 
onMouseOut="rolloverOff('Getting Started')" 
href="ctwig-gettingstarted.html"><img onLoad="rolloverLoad('Getting Started', 
'graphics/Getting Started-label_over.jpg', 'graphics/Getting 
Started-label.jpg');" vspace="0" hspace="0" name="Getting Started" width="120" 
height="12" border="0" src="graphics/Getting Started-label.jpg" alt="Getting 
Started"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Installing')" 
onMouseOut="rolloverOff('Installing')" href="ctwig-installing.html"><img 
onLoad="rolloverLoad('Installing', 'graphics/Installing-label_over.jpg', 
'graphics/Installing-label.jpg');" vspace="0" hspace="0" name="Installing" 
width="120" height="12" border="0" src="graphics/Installing-label.jpg" 
alt="Installing"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Transformations')" 
onMouseOut="rolloverOff('Transformations')" 
href="ctwig-transformations.html"><img onLoad="rolloverLoad('Transformations', 
'graphics/Transformations-label_over.jpg', 
'graphics/Transformations-label.jpg');" vspace="0" hspace="0" 
name="Transformations" width="120" height="12" border="0" 
src="graphics/Transformations-label.jpg" alt="Transformations"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Resources')" 
onMouseOut="rolloverOff('Resources')" href="ctwig-resources.html"><img 
onLoad="rolloverLoad('Resources', 'graphics/Resources-label_over.jpg', 
'graphics/Resources-label.jpg');" vspace="0" hspace="0" name="Resources" 
width="120" height="12" border="0" src="graphics/Resources-label.jpg" 
alt="Resources"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Contributing')" 
onMouseOut="rolloverOff('Contributing')" href="ctwig-contributing.html"><img 
onLoad="rolloverLoad('Contributing', 'graphics/Contributing-label_over.jpg', 
'graphics/Contributing-label.jpg');" vspace="0" hspace="0" name="Contributing" 
width="120" height="12" border="0" src="graphics/Contributing-label.jpg" 
alt="Contributing"></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="0" cellpadding="0" border="0">
  <tr>
  <td height="10" width="100%"></td>
  </tr>
  <tr>
  <td>
        
  
        
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="+1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" 
src="images/void.gif"><b>Transformations</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                        
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Basic XSP/Logicsheet 
Processing</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                                
  <p align="justify">By allowing you to wrap logic up in the XML page, C2 has 
given us a route to remove the logic from the presentation yet get the 
advantages of having a dynamic pages serving technology.  The only issue is 
that it effectively just shifts the maintenance headache into yet another part 
of the architecture.  The C2 developers have been dead bright however and 
incorporated the idea of a logicsheet to solve this problem.</p>
                                
  <p align="justify">A logicsheet allows you to take the logic out of the XSP 
page and put it into a seperate stylesheet.  You then identify the logic and 
reference the identifier from your XML file.  C2, using basic XML/XSL 
transforming logic, then takes care of replacing the reference to the logic in 
the XML with the actual logic from the logicsheet when the XSP file is 
processed.  The resultant XML stream can then be rendered using an XSL 
stylesheet as normal.  The main benefits are that:</p>
                                
  <blockquote>
  <ul>
                                        
  <li>XML data files are not made confused with the addition of complex 
logic</li>
                                        
  <li>Libraries of logic can be built up and reused</li>
                                        
  <li>Maintenance of logic is made easier</li>
                                        
  <li>It is really cool to do!</li>
                                
  </ul>
  </blockquote>
                                
  <p align="justify">Take the following example XSP page (<a target="_blank" 
href="sample/transformations/basic03/basic03-01.xml.txt">basic03-01.xml</a>) 
that refers to a logicsheet:</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;?xml version="1.0"?&gt;
  &lt;xsp:page 
        xmlns:xsp="http://apache.org/xsp";
    xmlns:ctwig="http://www.pigbite.com/xsl";
  &gt;
  
  &lt;page&gt;
    &lt;title&gt;
      Basic XSP/Logicsheet Processing Example - BASIC03-01.XML
    &lt;/title&gt;
    &lt;greeting&gt;
      &lt;ctwig:greeting/&gt;
    &lt;/greeting&gt;
  &lt;/page&gt;
  &lt;/xsp:page&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 align="justify">The only difference between this and the previous example 
is that we have added a new namespace reference to the logicsheet 
(xmlns:ctwig="http://www.pigbite.com/xsl";) and replace the logic with a 
reference to the an id, effectively analogous to a command or function call, in 
the the logicsheet (&lt;ctwig:greeting/&gt;).  Whatever ctwig:greeting does 
will replace the reference, which is sitting inside the &lt;greeting&gt; 
tag.</p>
                                
  <p align="justify">The logicsheet looks like this (<a target="_blank" 
href="sample/transformations/logicsheet/ctwig.xsl.txt">ctwig.xsl</a>):</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;?xml version="1.0"?&gt;
  &lt;xsl:stylesheet
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
    xmlns:xsp="http://apache.org/xsp";
    xmlns:ctwig="http://www.pigbite.com/xsl";
    version="1.0"&gt;
  
  &lt;xsl:template match="ctwig:greeting"&gt;
   
    &lt;xsp:logic&gt;
      String msg = "Hello World";
    &lt;/xsp:logic&gt;
  
    &lt;xsp:expr&gt;msg&lt;/xsp:expr&gt;
  &lt;/xsl:template&gt;
  
  &lt;xsl:template match="@*|node()" priority="-1"&gt;
   &lt;xsl:copy&gt;
    &lt;xsl:apply-templates select="@*|node()"/&gt;
   &lt;/xsl:copy&gt;
  &lt;/xsl:template&gt;
  
  &lt;/xsl:stylesheet&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 align="justify">You will note that the logicsheet has a reference to the 
ctwig namespace.  This <b>must</b> match the namespace used in the XSP page.  
The logicsheet uses a standard XSL template match to find the reference to 
"ctwig:greeting" and replace it with the logic.</p>
                                
  <p align="justify">
  <i>Again, please note that this example uses "http://apache.org/xsp"; as the 
XSP namespace.  This is different to older C1 based examples and should be used 
instead.  If you do not then any logicsheet example definitely will not 
work.</i>
  </p>
                                
  <p align="justify">To make this work firstly make sure that basic3-01.xml in 
the {TOMCAT_HOME}\webapps\cocoon\ctwig\xsp folder.  This will allow it to be 
captured by the same sitemap command that is used in the previous examples.  
Secondly, make sure that the ctwig logicsheet (ctwig.xsl) is in 
{TOMCAT_HOME}/webapps/cocoon/WEB-INF/classes/com/pigbite/logicsheets folder.  
The final thing to do is to add a reference to the logicsheet source in to C2 
so it knows where to go and find it.  This is done by adding the following 
construct to {TOMCAT_HOME}\webapps\cocoon\cocoon.xconf:</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;builtin-logicsheet&gt;
      &lt;parameter name="prefix" value="ctwig"/&gt;
      &lt;parameter name="uri" value="http://www.pigbite.com/xsl"/&gt;
      &lt;parameter name="href" 
value="resource://com/pigbite/logicsheets/ctwig.xsl"/&gt;
    &lt;/builtin-logicsheet&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 align="justify">Here we are using the "resource:" protocol to access the 
logicsheet.  This logicsheet could sit inside a JAR file that is referenced on 
the classpath, however it can also sit under the classes folder in the WEB-INF 
folder, as is the case in this example.</p>
                                
  <p align="justify">You can also use a "file:" protocol in the form:</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;parameter
     name="href"
     
value="file:///{TOMCAT_HOME}/webapps/cocoon/ctwig/logicsheet/ctwig.xsl"&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 align="justify">Obviously replace {TOMCAT_HOME} with whatever the actual 
path is on your machine (e.g. d:\java\tomcat).  Note the use of three forward 
slashes after the "file:".  This is so that it properly refers to the root, you 
still have to include the drive letter however.</p>
                                
  <p align="justify">Again, the URI parameter <b>must</b> be the same as the 
namespace declarations for everything to get properly resolved.</p>
                                
  <p align="justify">To test this code call <a target="_blank" 
href="http://localhost:8080/cocoon/ctwig/xsp/basic03-01.xml";>http://localhost:8080/cocoon/ctwig/xsp/basic03-01.xml</a>
  </p>
  
                        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
                
  </font></td>
  </tr>
  </table>
  </div>
  <br>
        
  
  </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-2001 The Apache Software Foundation. 
All Rights Reserved.</i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  xml-site/targets/cocoon/ctwig/ctwig-contributing.html
  
  Index: ctwig-contributing.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>cTwIG - Cocoon Two Idiots Guide - Contributing</title>
  <script type="text/javascript" src="resources/script.js" 
language="JavaScript"></script>
  </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" colspan="2" align="left" 
valign="top" height="5" width="100%"><img align="left" border="0" vspace="0" 
hspace="0" src="images/line.gif" height="5" width="1"></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%"><img align="right" alt="cTwIG - Cocoon Two Idiots Guide - 
Contributing" border="0" vspace="0" hspace="0" 
src="graphics/ctwig-contributing-header.jpg_label=cTwIG - Cocoon Two Idiots 
Guide - Contributing.jpg"></td>
  </tr>
  <tr>
  <td background="images/bottom.gif" bgcolor="#0086b2" align="left" 
valign="top" height="20" width="100%"><img align="left" border="0" vspace="0" 
hspace="0" src="images/bottom.gif" height="20" width="3"></td><td 
background="images/bottom.gif" width="288" 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 
onMouseOver="rolloverOn('xml');" onMouseOut="rolloverOff('xml');" target="new" 
href="http://xml.apache.org/";><img onLoad="rolloverLoad('xml', 
'images/button-xml-hi.gif', 'images/button-xml-lo.gif');" 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 onMouseOver="rolloverOn('asf');" onMouseOut="rolloverOff('asf');" 
target="new" href="http://www.apache.org/";><img onLoad="rolloverLoad('asf', 
'images/button-asf-hi.gif', 'images/button-asf-lo.gif');" 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 onMouseOver="rolloverOn('w3c');" onMouseOut="rolloverOff('w3c');" 
target="new" href="http://www.w3.org/";><img onLoad="rolloverLoad('w3c', 
'images/button-w3c-hi.gif', 'images/button-w3c-lo.gif');" 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 valign="top" width="120">
  <table width="120" cellspacing="0" cellpadding="0" border="0">
  <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>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Main')" 
onMouseOut="rolloverOff('Main')" href="../index.html"><img 
onLoad="rolloverLoad('Main', 'graphics/Main-label_over.jpg', 
'graphics/Main-label.jpg');" vspace="0" hspace="0" name="Main" width="120" 
height="12" border="0" src="graphics/Main-label.jpg" alt="Main"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><img alt="cTwIG" width="120" vspace="0" 
src="graphics/cTwIG-separator.jpg" hspace="0" height="20" border="0"><br>
  </td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Home')" 
onMouseOut="rolloverOff('Home')" href="index.html"><img 
onLoad="rolloverLoad('Home', 'graphics/Home-label_over.jpg', 
'graphics/Home-label.jpg');" vspace="0" hspace="0" name="Home" width="120" 
height="12" border="0" src="graphics/Home-label.jpg" alt="Home"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Why')" 
onMouseOut="rolloverOff('Why')" href="ctwig-why.html"><img 
onLoad="rolloverLoad('Why', 'graphics/Why-label_over.jpg', 
'graphics/Why-label.jpg');" vspace="0" hspace="0" name="Why" width="120" 
height="12" border="0" src="graphics/Why-label.jpg" alt="Why"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Getting Started')" 
onMouseOut="rolloverOff('Getting Started')" 
href="ctwig-gettingstarted.html"><img onLoad="rolloverLoad('Getting Started', 
'graphics/Getting Started-label_over.jpg', 'graphics/Getting 
Started-label.jpg');" vspace="0" hspace="0" name="Getting Started" width="120" 
height="12" border="0" src="graphics/Getting Started-label.jpg" alt="Getting 
Started"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Installing')" 
onMouseOut="rolloverOff('Installing')" href="ctwig-installing.html"><img 
onLoad="rolloverLoad('Installing', 'graphics/Installing-label_over.jpg', 
'graphics/Installing-label.jpg');" vspace="0" hspace="0" name="Installing" 
width="120" height="12" border="0" src="graphics/Installing-label.jpg" 
alt="Installing"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Transformations')" 
onMouseOut="rolloverOff('Transformations')" 
href="ctwig-transformations.html"><img onLoad="rolloverLoad('Transformations', 
'graphics/Transformations-label_over.jpg', 
'graphics/Transformations-label.jpg');" vspace="0" hspace="0" 
name="Transformations" width="120" height="12" border="0" 
src="graphics/Transformations-label.jpg" alt="Transformations"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Resources')" 
onMouseOut="rolloverOff('Resources')" href="ctwig-resources.html"><img 
onLoad="rolloverLoad('Resources', 'graphics/Resources-label_over.jpg', 
'graphics/Resources-label.jpg');" vspace="0" hspace="0" name="Resources" 
width="120" height="12" border="0" src="graphics/Resources-label.jpg" 
alt="Resources"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Contributing')" 
onMouseOut="rolloverOff('Contributing')" href="ctwig-contributing.html"><img 
onLoad="rolloverLoad('Contributing', 'graphics/Contributing-label_over.jpg', 
'graphics/Contributing-label.jpg');" vspace="0" hspace="0" name="Contributing" 
width="120" height="12" border="0" src="graphics/Contributing-label.jpg" 
alt="Contributing"></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="0" cellpadding="0" border="0">
  <tr>
  <td height="10" width="100%"></td>
  </tr>
  <tr>
  <td>
        
  
        
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="+1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Contributing</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                        
  <p align="justify">I am more than happy to recieve amendments, improvements 
and so on to these pages.  I want the information to be as up to date and as 
accurate as possible so please do not hesitate to let me know if you find 
anything wrong.  I would also be really pleased to receive submissions of more 
tutorial documentation for C2.  I hope that sections will develop for areas 
such as the sitemap, configuration tutorials, development techniques and so on 
which will require reasonable effort to develop however I think it would also 
be good to take up the suggestion of a FAQ based on some of the common 
questions that come up on the list.  I will start this off soon and try and add 
to it as quickly as possible.</p>
                        
  <p align="justify">I have written these pages in the xdocs format, thus it 
would be really useful if any contributions are in that format (see <a 
href="http://xml.apache.org/cocoon/contrib.html";>Contributing</a> for 
explanation of the diff format and CVS).  If you want to see examples of the 
markup required please check the files in the C2 xdocs folder that comes as 
part of the distribution.  The DTD is in xdocs/dtd/document-v10.dtd.  I am more 
than happy to take contributions in email, MS Word, PDF, TXT etc however any 
conversion may delay the publishing process.</p>
                        
  <p align="justify">Please email <a href="mailto:[EMAIL PROTECTED]">[EMAIL 
PROTECTED]</a> with your comments, ideas and submissions.</p>
                        
  <p align="justify">Many thanks - Jez</p>
                
  </font></td>
  </tr>
  </table>
  </div>
  <br>
        
  
  </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-2001 The Apache Software Foundation. 
All Rights Reserved.</i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  xml-site/targets/cocoon/ctwig/ctwig-gettingstarted.html
  
  Index: ctwig-gettingstarted.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>cTwIG - Cocoon Two Idiots Guide - Getting Started</title>
  <script type="text/javascript" src="resources/script.js" 
language="JavaScript"></script>
  </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" colspan="2" align="left" 
valign="top" height="5" width="100%"><img align="left" border="0" vspace="0" 
hspace="0" src="images/line.gif" height="5" width="1"></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%"><img align="right" alt="cTwIG - Cocoon Two Idiots Guide - Getting 
Started" border="0" vspace="0" hspace="0" 
src="graphics/ctwig-gettingstarted-header.jpg_label=cTwIG - Cocoon Two Idiots 
Guide - Getting Started.jpg"></td>
  </tr>
  <tr>
  <td background="images/bottom.gif" bgcolor="#0086b2" align="left" 
valign="top" height="20" width="100%"><img align="left" border="0" vspace="0" 
hspace="0" src="images/bottom.gif" height="20" width="3"></td><td 
background="images/bottom.gif" width="288" 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 
onMouseOver="rolloverOn('xml');" onMouseOut="rolloverOff('xml');" target="new" 
href="http://xml.apache.org/";><img onLoad="rolloverLoad('xml', 
'images/button-xml-hi.gif', 'images/button-xml-lo.gif');" 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 onMouseOver="rolloverOn('asf');" onMouseOut="rolloverOff('asf');" 
target="new" href="http://www.apache.org/";><img onLoad="rolloverLoad('asf', 
'images/button-asf-hi.gif', 'images/button-asf-lo.gif');" 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 onMouseOver="rolloverOn('w3c');" onMouseOut="rolloverOff('w3c');" 
target="new" href="http://www.w3.org/";><img onLoad="rolloverLoad('w3c', 
'images/button-w3c-hi.gif', 'images/button-w3c-lo.gif');" 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 valign="top" width="120">
  <table width="120" cellspacing="0" cellpadding="0" border="0">
  <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>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Main')" 
onMouseOut="rolloverOff('Main')" href="../index.html"><img 
onLoad="rolloverLoad('Main', 'graphics/Main-label_over.jpg', 
'graphics/Main-label.jpg');" vspace="0" hspace="0" name="Main" width="120" 
height="12" border="0" src="graphics/Main-label.jpg" alt="Main"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><img alt="cTwIG" width="120" vspace="0" 
src="graphics/cTwIG-separator.jpg" hspace="0" height="20" border="0"><br>
  </td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Home')" 
onMouseOut="rolloverOff('Home')" href="index.html"><img 
onLoad="rolloverLoad('Home', 'graphics/Home-label_over.jpg', 
'graphics/Home-label.jpg');" vspace="0" hspace="0" name="Home" width="120" 
height="12" border="0" src="graphics/Home-label.jpg" alt="Home"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Why')" 
onMouseOut="rolloverOff('Why')" href="ctwig-why.html"><img 
onLoad="rolloverLoad('Why', 'graphics/Why-label_over.jpg', 
'graphics/Why-label.jpg');" vspace="0" hspace="0" name="Why" width="120" 
height="12" border="0" src="graphics/Why-label.jpg" alt="Why"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Getting Started')" 
onMouseOut="rolloverOff('Getting Started')" 
href="ctwig-gettingstarted.html"><img onLoad="rolloverLoad('Getting Started', 
'graphics/Getting Started-label_over.jpg', 'graphics/Getting 
Started-label.jpg');" vspace="0" hspace="0" name="Getting Started" width="120" 
height="12" border="0" src="graphics/Getting Started-label.jpg" alt="Getting 
Started"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Installing')" 
onMouseOut="rolloverOff('Installing')" href="ctwig-installing.html"><img 
onLoad="rolloverLoad('Installing', 'graphics/Installing-label_over.jpg', 
'graphics/Installing-label.jpg');" vspace="0" hspace="0" name="Installing" 
width="120" height="12" border="0" src="graphics/Installing-label.jpg" 
alt="Installing"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Transformations')" 
onMouseOut="rolloverOff('Transformations')" 
href="ctwig-transformations.html"><img onLoad="rolloverLoad('Transformations', 
'graphics/Transformations-label_over.jpg', 
'graphics/Transformations-label.jpg');" vspace="0" hspace="0" 
name="Transformations" width="120" height="12" border="0" 
src="graphics/Transformations-label.jpg" alt="Transformations"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Resources')" 
onMouseOut="rolloverOff('Resources')" href="ctwig-resources.html"><img 
onLoad="rolloverLoad('Resources', 'graphics/Resources-label_over.jpg', 
'graphics/Resources-label.jpg');" vspace="0" hspace="0" name="Resources" 
width="120" height="12" border="0" src="graphics/Resources-label.jpg" 
alt="Resources"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Contributing')" 
onMouseOut="rolloverOff('Contributing')" href="ctwig-contributing.html"><img 
onLoad="rolloverLoad('Contributing', 'graphics/Contributing-label_over.jpg', 
'graphics/Contributing-label.jpg');" vspace="0" hspace="0" name="Contributing" 
width="120" height="12" border="0" src="graphics/Contributing-label.jpg" 
alt="Contributing"></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="0" cellpadding="0" border="0">
  <tr>
  <td height="10" width="100%"></td>
  </tr>
  <tr>
  <td>
        
  
        
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="+1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Getting 
Started</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                        
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>What is 
Cocoon?</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                                
  <p align="justify">Cocoon is a framework for delivering web sites and 
applications that are based around XML technologies.  In addition to being able 
to do XML and XSL transformations, it provides it's own page logic templating 
system called XSP which is basically analogous to ASP, JSP, PHP, CFM etc.  Of 
course this is XML based as well.</p>
                        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  
                        
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Why use 
Cocoon?</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                                
  <p align="justify">For me it's because it really can help you develop 
applications that have content, layout and logic truly separated.  ASP, JSP etc 
are all OK but for any one (like me) who has had to develop and support 
multi-lingual, branded, customisable and highly dynamic sites, they just do not 
cut the mustard.  On top of that it is free, supported by proven open source 
development principles and augments other frameworks and platforms such as 
EJB.</p>
                        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  
                        
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>What do I need to make it 
work?</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                                
  <p align="justify">Primarily you need a servlet engine.  This would be 
something like (but not exclusively) <a target="_blank" 
href="http://jakarta.apache.org/tomcat/index.html";>Tomcat</a>, <a 
target="_blank" href="http://www.jrun.com";>JRun</a> or <a target="_blank" 
href="http://www.weblogic.com";>Weblogic</a>.  This is because Cocoon is a 
servlet and needs the servlet engine.  Most servlet engines provide a web 
(HTTP) server which is fine for development purposes but in most production 
environments you would want to sit the servlet engine on a web server such as 
<a href="http://www.apache.org#";>Apache</a> or IIS.  The only other usual 
requirement is the <a href="http://java.sun.com#";>Java SDK</a>.</p>
                        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  
                        
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Where do I get it 
from?</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                                
  <p align="justify">Go to <a target="_blank" 
href="http://xml.apache.org/cocoon/";>http://www.apache.org/cocoon/</a> and 
download it from there.  The latest distribution for any operating system can 
be found in the 
                                <a target="_blank" 
href="http://xml.apache.org/cocoon/dist/";>Cocoon distribution folder</a>.  The 
distribution that you can download from there contains the Cocoon code, 
samples, documentation and the Java libraries that enable the Cocoon to work 
such as Xerces and Xalan.</p>
                        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  
                        
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>What assumptions have you 
made?</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                                
  <p align="justify">I assume no knowledege of Cocoon but:</p>
                                
  <blockquote>
  <ul>
                                        
  <li>
                                                I do assume that the reader has 
a basic understanding of XML and what XSL is.  For more information and 
tutorials about XML/XSL please go to somewhere like <a target="_blank" 
href="http://www.xml.org";>www.xml.org</a> or <a target="_blank" 
href="http://www.xml.com";>www.xml.com</a>
                                        
  </li>
                                        
  <li>
                                                I assume that Cocoon is to be 
configured on a Windows NT or 2000 machine, the machine has Apache 1.3.19, 
Tomcat 3.2.3 and Java 1.3 running
                                        </li>
                                        
  <li>
                                                I assume a basic familiarity 
with the above environment
                                        </li>
                                        
  <li>
                                                I hope that if you are working 
on a different environment you will find the time to <a 
href="ctwig-contributing.html">advise</a> me of any differences in process so I 
can augment the documentation.  I also hope that if you find a mistake in the 
documentation here or you know of a better way of doing something then again 
you will <a href="ctwig-contributing.html">relay</a> your thoughts so I can 
make this resource as useful as possible.
                                        </li>
                                
  </ul>
  </blockquote>
                        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
                
  </font></td>
  </tr>
  </table>
  </div>
  <br>
        
  
  </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-2001 The Apache Software Foundation. 
All Rights Reserved.</i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  xml-site/targets/cocoon/ctwig/ctwig-installing.html
  
  Index: ctwig-installing.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>cTwIG - Cocoon Two Idiots Guide - Installing</title>
  <script type="text/javascript" src="resources/script.js" 
language="JavaScript"></script>
  </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" colspan="2" align="left" 
valign="top" height="5" width="100%"><img align="left" border="0" vspace="0" 
hspace="0" src="images/line.gif" height="5" width="1"></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%"><img align="right" alt="cTwIG - Cocoon Two Idiots Guide - 
Installing" border="0" vspace="0" hspace="0" 
src="graphics/ctwig-installing-header.jpg_label=cTwIG - Cocoon Two Idiots Guide 
- Installing.jpg"></td>
  </tr>
  <tr>
  <td background="images/bottom.gif" bgcolor="#0086b2" align="left" 
valign="top" height="20" width="100%"><img align="left" border="0" vspace="0" 
hspace="0" src="images/bottom.gif" height="20" width="3"></td><td 
background="images/bottom.gif" width="288" 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 
onMouseOver="rolloverOn('xml');" onMouseOut="rolloverOff('xml');" target="new" 
href="http://xml.apache.org/";><img onLoad="rolloverLoad('xml', 
'images/button-xml-hi.gif', 'images/button-xml-lo.gif');" 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 onMouseOver="rolloverOn('asf');" onMouseOut="rolloverOff('asf');" 
target="new" href="http://www.apache.org/";><img onLoad="rolloverLoad('asf', 
'images/button-asf-hi.gif', 'images/button-asf-lo.gif');" 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 onMouseOver="rolloverOn('w3c');" onMouseOut="rolloverOff('w3c');" 
target="new" href="http://www.w3.org/";><img onLoad="rolloverLoad('w3c', 
'images/button-w3c-hi.gif', 'images/button-w3c-lo.gif');" 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 valign="top" width="120">
  <table width="120" cellspacing="0" cellpadding="0" border="0">
  <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>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Main')" 
onMouseOut="rolloverOff('Main')" href="../index.html"><img 
onLoad="rolloverLoad('Main', 'graphics/Main-label_over.jpg', 
'graphics/Main-label.jpg');" vspace="0" hspace="0" name="Main" width="120" 
height="12" border="0" src="graphics/Main-label.jpg" alt="Main"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><img alt="cTwIG" width="120" vspace="0" 
src="graphics/cTwIG-separator.jpg" hspace="0" height="20" border="0"><br>
  </td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Home')" 
onMouseOut="rolloverOff('Home')" href="index.html"><img 
onLoad="rolloverLoad('Home', 'graphics/Home-label_over.jpg', 
'graphics/Home-label.jpg');" vspace="0" hspace="0" name="Home" width="120" 
height="12" border="0" src="graphics/Home-label.jpg" alt="Home"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Why')" 
onMouseOut="rolloverOff('Why')" href="ctwig-why.html"><img 
onLoad="rolloverLoad('Why', 'graphics/Why-label_over.jpg', 
'graphics/Why-label.jpg');" vspace="0" hspace="0" name="Why" width="120" 
height="12" border="0" src="graphics/Why-label.jpg" alt="Why"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Getting Started')" 
onMouseOut="rolloverOff('Getting Started')" 
href="ctwig-gettingstarted.html"><img onLoad="rolloverLoad('Getting Started', 
'graphics/Getting Started-label_over.jpg', 'graphics/Getting 
Started-label.jpg');" vspace="0" hspace="0" name="Getting Started" width="120" 
height="12" border="0" src="graphics/Getting Started-label.jpg" alt="Getting 
Started"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Installing')" 
onMouseOut="rolloverOff('Installing')" href="ctwig-installing.html"><img 
onLoad="rolloverLoad('Installing', 'graphics/Installing-label_over.jpg', 
'graphics/Installing-label.jpg');" vspace="0" hspace="0" name="Installing" 
width="120" height="12" border="0" src="graphics/Installing-label.jpg" 
alt="Installing"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Transformations')" 
onMouseOut="rolloverOff('Transformations')" 
href="ctwig-transformations.html"><img onLoad="rolloverLoad('Transformations', 
'graphics/Transformations-label_over.jpg', 
'graphics/Transformations-label.jpg');" vspace="0" hspace="0" 
name="Transformations" width="120" height="12" border="0" 
src="graphics/Transformations-label.jpg" alt="Transformations"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Resources')" 
onMouseOut="rolloverOff('Resources')" href="ctwig-resources.html"><img 
onLoad="rolloverLoad('Resources', 'graphics/Resources-label_over.jpg', 
'graphics/Resources-label.jpg');" vspace="0" hspace="0" name="Resources" 
width="120" height="12" border="0" src="graphics/Resources-label.jpg" 
alt="Resources"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Contributing')" 
onMouseOut="rolloverOff('Contributing')" href="ctwig-contributing.html"><img 
onLoad="rolloverLoad('Contributing', 'graphics/Contributing-label_over.jpg', 
'graphics/Contributing-label.jpg');" vspace="0" hspace="0" name="Contributing" 
width="120" height="12" border="0" src="graphics/Contributing-label.jpg" 
alt="Contributing"></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="0" cellpadding="0" border="0">
  <tr>
  <td height="10" width="100%"></td>
  </tr>
  <tr>
  <td>
        
  
        
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="+1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Installing Cocoon 
2</b></font></td><td background="images/bar-border-right.gif" width="9"><img 
border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                        
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Introduction</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                                
  <p align="justify">Installing C2 is straight-forward.  I found that following 
the instructions in the documentation worked just fine.  The only issue here is 
that by following the instructions you end up with a WAR file and this is no 
good for development because you cannot add your own code or make changes to 
existing files without repackaging it all up.</p>
                                
  <p align="justify">To get around these problems you need to install it as an 
unpacked application and get your servlet engine to recognise it as such.</p>
                                
  <p align="justify">Please note the assumptions about platform, user knowledge 
and existing applications in the <a href="ctwig-why.html">Why?</a> section and 
also note thatw herever {TOMCAT_HOME}, {COCOON_HOME} or {APACHE_HOME} appears 
it should be replaced with the path it is installed into on your machine (e.g. 
d:\java\cocoon for {COCOON_HOME}).</p>
                                
  <p align="justify">
  <b>I'm really sorry, but at the moment these examples relate to the latest 
distribution, Tomcat 3.2.3 and Apache 1.3.19 on Windows 2000.</b> It is 
probably all the same for any operating system (remember, that is the promise 
of Java and XML). I would like to do TC4/Unix notes but do not have the time at 
the momement.  If you can help then please <a 
href="ctwig-contributing.html">contribute</a>.</p>
                        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
                        
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Download Cocoon 
2</b></font></td><td background="images/bar-border-right.gif" width="9"><img 
border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                                
  <p align="justify">The latest distribution for any operating system can be 
found in the <a target="_blank" 
href="http://xml.apache.org/cocoon/dist/";>Cocoon distribution folder</a>.  This 
file contains the Cocoon code, samples, documentation and the Java libraries 
that enable the Cocoon to work such as Xerces and Xalan.  When you have 
downloaded it then extract it to somewhere.  This path becomes your 
{COCOON_HOME}.</p>
                        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
                        
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Basic 
Configuration</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                                
  <p align="justify">Follow the instructions on building Cocoon as per the 
installation guide that comes with Cocoon.  It can also be found <a 
target="_blank" href="http://xml.apache.org/cocoon/install.html";>here</a> as 
well.  Obviously since you have got the ZIP distribution you do not have to do 
the CVS bit thus you can start at the Building Apache Cocoon 2 section.  Do 
each of the following steps:</p>
                                
  <blockquote>
  <ul>
                                        
  <li>Set JAVA_HOME</li>
                                        
  <li>Create the WAR using
                                                <code><font face="courier, 
monospaced">.\build.bat -Dinclude.webapp.libs=yes webapp</font></code>
                                                What this does is to create the 
web application and packaged cocoon.war under the {COCOON_HOME}/build/cocoon 
folder.
                                        </li>
                                        
  <li>Optionally make the SQL examples work out of the box.  If you perform 
this step using
                                                <code><font face="courier, 
monospaced">.\build.bat -Dinclude.webapp.libs=yes 
-Dinstall.war={{TOMCAT_HOME}\webapps} install</font></code>
                                                then it will basically copy the 
cocoon.war file across to the Tomcat webapps folder ready for immediate use.
                                        </li>
                                        
  <li>Add any additional components (I like FOP for example)</li>
                                
  </ul>
  </blockquote>
                                
  <p align="justify">Next, copy the xerces_xxx.jar to {TOMCAT_HOME}\lib, delete 
the tomcat jaxp jar and rename the parser.jar as instructuted.</p>
                                
  <p align="justify">An important point is that if you are running Tomcat as an 
NT service then you will need to change {TOMCAT_HOME}\conf\wrapper.properties 
to reflect the classpath changes.  Make sure xerces is first in line, remove 
(or comment out) the jaxp and rename the parser.jar reference.  This is all 
done with the wrapper.class_path bit.</p>
                                
  <p align="justify">If you did run the second build.bat command above or if 
you copy cocoon.war into {TOMCAT_HOME}\webapps then you can check that C2 is 
working.  Restart Tomcat and http://localhost:8080/cocoon should work.  Note at 
this point Apache is doing nowt - Tomcat is doing the http serving.  If there 
are any problems then check that the tomcat classpath in wrapper.properties is 
correct and you have done the work in {TOMCAT_HOME}\lib as descibed above.</p>
                                
  <p align="justify">One other situation that came to light in C2 RC1 (and 
resolved in RC1a) was that the build file was including a reference to the LDAP 
transformer classes and since the JAR is not included then you would see an 
error when starting C2 along the lines of:</p>
                                
  <p align="justify">org.apache.cocoon.ProcessingException: Exception in 
Handler: org.apache.avalon.framework.component.ComponentException: Could not 
set up Component for hint: org\apache\cocoon\www\sitemap_xmap</p>
                                
  <p align="justify">This was resolved in C2 RC1a by making changing the 
offending include line in build.xml.  Have a look and see.  You will need to 
change this line if you want to use the LDAP transformer as per the 
instructions in the build.xml file.</p>
                                
  <p align="justify">One other good point about testing, especially if you are 
upgrading, is to delete the Cocoon working files in {TOMCAT_HOME}\work.  If 
left in between upgrades, you can easily get precompiled code sent instead of 
the new pages being compiled and served.</p>
                        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
                        
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Configure C2 to run in Unpackaged 
Mode</b></font></td><td background="images/bar-border-right.gif" width="9"><img 
border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                                
  <p align="justify">To enable you to easily develop your own C2 applications 
and configure C2 it must sit as an unpackaged application rather than as a 
packaged WAR file.  To make this happen...</p>
                                
  <p align="justify">Stop Tomcat</p>
                                
  <p align="justify">Delete {TOMCAT_HOME}\webapps\cocoon.war.</p>
                                
  <p align="justify">Create {TOMCAT_HOME}\webapps\cocoon folder.  If you 
performed the test above using the war then this folder will already exist and 
you can skip the next instruction.</p>
                                
  <p align="justify">Copy {COCOON_HOME}\build\cocoon\webapp\* to 
{TOMCAT_HOME}\webapps\cocoon</p>
                                
  <p align="justify">Restart tomcat and try http://localhost:8080/cocoon.  The 
welcome page should come up!</p>
                        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
                        
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Telling Apache about 
Cocoon</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                                
  <p align="justify">Note this assumes that mod_jk has been installed and 
configured.</p>
                                
  <p align="justify">Stop Apache and Tomcat</p>
                                
  <p align="justify">Make sure that {APACHE_HOME}\conf\httpd.conf has the 
following lines (assuming you are using the ajp12 adaptor) at the end:</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>
    include "{TOMCAT_HOME}\conf\mod_jk.conf-auto"
    JkMount /cocoon/* ajp12
                                </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 align="justify">The first line includes the an Apache config file that 
Tomcat automatically generates.  This has all the alias directives for each of 
the contexts in {TOMCAT_HOME}\conf\server.xml.  The second line tells anything 
requested to /cocoon to be sent to Tomcat (and then onwards to Cocoon).</p>
                                
  <p align="justify">Restart tomcat THEN apache.  The reason for this way round 
is apache relies on the {TOMCAT_HOME}\conf\mod_jk.conf-auto which is built by 
Tomcat everytime it starts.</p>
                                
  <p align="justify">You can then try http://localhost/cocoon.  It should 
work!</p>
                                
  <p align="justify">You are now ready to look at the examples and start doing 
some <a href="ctwig-transformations.html">basic transformations</a>
  </p>
                        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
                        
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Other 
Configurations</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                                
  <p align="justify">I am hoping to include more details on other 
configurations over time.  If you can help then please <a 
href="ctwig-contributing.html">contribute</a>.  You can also check out other 
information in the <a href="ctwig-resources.html">resources</a> section.</p>
                        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
                
  </font></td>
  </tr>
  </table>
  </div>
  <br>
        
  
  </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-2001 The Apache Software Foundation. 
All Rights Reserved.</i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  xml-site/targets/cocoon/ctwig/ctwig-resources.html
  
  Index: ctwig-resources.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>cTwIG - Cocoon Two Idiots Guide - Resources</title>
  <script type="text/javascript" src="resources/script.js" 
language="JavaScript"></script>
  </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" colspan="2" align="left" 
valign="top" height="5" width="100%"><img align="left" border="0" vspace="0" 
hspace="0" src="images/line.gif" height="5" width="1"></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%"><img align="right" alt="cTwIG - Cocoon Two Idiots Guide - 
Resources" border="0" vspace="0" hspace="0" 
src="graphics/ctwig-resources-header.jpg_label=cTwIG - Cocoon Two Idiots Guide 
- Resources.jpg"></td>
  </tr>
  <tr>
  <td background="images/bottom.gif" bgcolor="#0086b2" align="left" 
valign="top" height="20" width="100%"><img align="left" border="0" vspace="0" 
hspace="0" src="images/bottom.gif" height="20" width="3"></td><td 
background="images/bottom.gif" width="288" 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 
onMouseOver="rolloverOn('xml');" onMouseOut="rolloverOff('xml');" target="new" 
href="http://xml.apache.org/";><img onLoad="rolloverLoad('xml', 
'images/button-xml-hi.gif', 'images/button-xml-lo.gif');" 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 onMouseOver="rolloverOn('asf');" onMouseOut="rolloverOff('asf');" 
target="new" href="http://www.apache.org/";><img onLoad="rolloverLoad('asf', 
'images/button-asf-hi.gif', 'images/button-asf-lo.gif');" 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 onMouseOver="rolloverOn('w3c');" onMouseOut="rolloverOff('w3c');" 
target="new" href="http://www.w3.org/";><img onLoad="rolloverLoad('w3c', 
'images/button-w3c-hi.gif', 'images/button-w3c-lo.gif');" 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 valign="top" width="120">
  <table width="120" cellspacing="0" cellpadding="0" border="0">
  <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>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Main')" 
onMouseOut="rolloverOff('Main')" href="../index.html"><img 
onLoad="rolloverLoad('Main', 'graphics/Main-label_over.jpg', 
'graphics/Main-label.jpg');" vspace="0" hspace="0" name="Main" width="120" 
height="12" border="0" src="graphics/Main-label.jpg" alt="Main"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><img alt="cTwIG" width="120" vspace="0" 
src="graphics/cTwIG-separator.jpg" hspace="0" height="20" border="0"><br>
  </td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Home')" 
onMouseOut="rolloverOff('Home')" href="index.html"><img 
onLoad="rolloverLoad('Home', 'graphics/Home-label_over.jpg', 
'graphics/Home-label.jpg');" vspace="0" hspace="0" name="Home" width="120" 
height="12" border="0" src="graphics/Home-label.jpg" alt="Home"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Why')" 
onMouseOut="rolloverOff('Why')" href="ctwig-why.html"><img 
onLoad="rolloverLoad('Why', 'graphics/Why-label_over.jpg', 
'graphics/Why-label.jpg');" vspace="0" hspace="0" name="Why" width="120" 
height="12" border="0" src="graphics/Why-label.jpg" alt="Why"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Getting Started')" 
onMouseOut="rolloverOff('Getting Started')" 
href="ctwig-gettingstarted.html"><img onLoad="rolloverLoad('Getting Started', 
'graphics/Getting Started-label_over.jpg', 'graphics/Getting 
Started-label.jpg');" vspace="0" hspace="0" name="Getting Started" width="120" 
height="12" border="0" src="graphics/Getting Started-label.jpg" alt="Getting 
Started"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Installing')" 
onMouseOut="rolloverOff('Installing')" href="ctwig-installing.html"><img 
onLoad="rolloverLoad('Installing', 'graphics/Installing-label_over.jpg', 
'graphics/Installing-label.jpg');" vspace="0" hspace="0" name="Installing" 
width="120" height="12" border="0" src="graphics/Installing-label.jpg" 
alt="Installing"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Transformations')" 
onMouseOut="rolloverOff('Transformations')" 
href="ctwig-transformations.html"><img onLoad="rolloverLoad('Transformations', 
'graphics/Transformations-label_over.jpg', 
'graphics/Transformations-label.jpg');" vspace="0" hspace="0" 
name="Transformations" width="120" height="12" border="0" 
src="graphics/Transformations-label.jpg" alt="Transformations"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Resources')" 
onMouseOut="rolloverOff('Resources')" href="ctwig-resources.html"><img 
onLoad="rolloverLoad('Resources', 'graphics/Resources-label_over.jpg', 
'graphics/Resources-label.jpg');" vspace="0" hspace="0" name="Resources" 
width="120" height="12" border="0" src="graphics/Resources-label.jpg" 
alt="Resources"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Contributing')" 
onMouseOut="rolloverOff('Contributing')" href="ctwig-contributing.html"><img 
onLoad="rolloverLoad('Contributing', 'graphics/Contributing-label_over.jpg', 
'graphics/Contributing-label.jpg');" vspace="0" hspace="0" name="Contributing" 
width="120" height="12" border="0" src="graphics/Contributing-label.jpg" 
alt="Contributing"></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="0" cellpadding="0" border="0">
  <tr>
  <td height="10" width="100%"></td>
  </tr>
  <tr>
  <td>
        
  
        
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="+1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Resources</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                        
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Apache Cocoon Web 
Site</b></font></td><td background="images/bar-border-right.gif" width="9"><img 
border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                                
  <p align="justify">The main place is <a 
href="http://xml.apache.org/cocoon/";><code><font face="courier, 
monospaced">http://xml.apache.org/cocoon/</font></code></a>
  </p>
                                
  <p align="justify">The C2 documentation is still (and always will be) under 
development. There is a lot of useful information there and it goes into a lot 
more detail than here.  Read it and digest it.  I am certainly doing that as I 
go along and quite quickly understanding more of the architecture and concepts. 
 I will seek to distill the main points into this site, but the main place is 
still the supplied documentation.</p>
                                
  <p align="justify">You will also find the documentation in your C2 
installation under {COCCON_HOME}/docs/</p>
                        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
                        
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Apache Cocoon Users Mail 
List</b></font></td><td background="images/bar-border-right.gif" width="9"><img 
border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                                
  <p align="justify">
  <a href="mailto:[EMAIL PROTECTED]">Subscribe</a> to the Cocoon users mail 
list!  This is a great resource for asking and answwering questions.  For more 
details, and pointers to other related lists, see the <a target="_blank" 
href="http://xml.apache.org/cocoon/mail-lists.html";>documentation</a>.</p>
                                
  <p align="justify">You can also access an excellent, searchable, archive of 
the users mail list at <a target="_blank" 
href="http://marc.theaimsgroup.com/?l=xml-cocoon-users";>The Aims Group</a>.  
Use this 'cos lots of things are there!  Other list archive information is 
available in the <a target="_blank" 
href="http://xml.apache.org/cocoon/mail-archives.html";>documentation</a>.</p>
                        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
                        
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Other Pages</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                                
  <blockquote>
  <ul>
                                        
  <li>David Parry has put together a really good <a target="_blank" 
href="http://www.suranyami.com/XSPtutorial/";>XSP Tutorial</a> which is C1.8 
based but has all the basic principles you need for C2.</li>
                                        
  <li>Michael Bierenfeld directed me to a cocoon-users <a target="_blank" 
href="http://mailman.real-time.com/pipermail/cocoon-users/2001-June/016150.html";>posting</a>
 that has an example taglib (logicsheet) download.  Thanks to Gary Clark for 
the posting and example.</li>
                                        
  <li>
  <a href="mailto:[EMAIL PROTECTED]">Cyril Cambien</a> has developed more 
examples at his <a target="_blank" 
href="http://chello.sourceforge.net/";>CHello!</a> (Cocoon Hello!) site.</li>
                                        
  <li>
  <a href="mailto:[EMAIL PROTECTED]">Lajos Moczar</a> has developed some more 
advanced hints and tips at his <a target="_blank" 
href="http://www.galatea.com/flashguides/cocoon-tips-2.xml";>flashguides</a> 
site.</li>
                                
  </ul>
  </blockquote>
                        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
                        
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Credits</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                                
  <p align="justify">Although I have constructed these pages, the basic 
information I have presented is thanks to users of the above mailing list, 
particuarly Giacomo Pati, Thomas Hofer and Michael Bierenfeld.  If you have 
anything to add then please do <a 
href="ctwig-contributing.html">contribute</a>!</p>
                        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
                
  </font></td>
  </tr>
  </table>
  </div>
  <br>
        
  
  </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-2001 The Apache Software Foundation. 
All Rights Reserved.</i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  xml-site/targets/cocoon/ctwig/ctwig-transformations.html
  
  Index: ctwig-transformations.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>cTwIG - Cocoon Two Idiots Guide - Transformations</title>
  <script type="text/javascript" src="resources/script.js" 
language="JavaScript"></script>
  </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" colspan="2" align="left" 
valign="top" height="5" width="100%"><img align="left" border="0" vspace="0" 
hspace="0" src="images/line.gif" height="5" width="1"></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%"><img align="right" alt="cTwIG - Cocoon Two Idiots Guide - 
Transformations" border="0" vspace="0" hspace="0" 
src="graphics/ctwig-transformations-header.jpg_label=cTwIG - Cocoon Two Idiots 
Guide - Transformations.jpg"></td>
  </tr>
  <tr>
  <td background="images/bottom.gif" bgcolor="#0086b2" align="left" 
valign="top" height="20" width="100%"><img align="left" border="0" vspace="0" 
hspace="0" src="images/bottom.gif" height="20" width="3"></td><td 
background="images/bottom.gif" width="288" 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 
onMouseOver="rolloverOn('xml');" onMouseOut="rolloverOff('xml');" target="new" 
href="http://xml.apache.org/";><img onLoad="rolloverLoad('xml', 
'images/button-xml-hi.gif', 'images/button-xml-lo.gif');" 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 onMouseOver="rolloverOn('asf');" onMouseOut="rolloverOff('asf');" 
target="new" href="http://www.apache.org/";><img onLoad="rolloverLoad('asf', 
'images/button-asf-hi.gif', 'images/button-asf-lo.gif');" 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 onMouseOver="rolloverOn('w3c');" onMouseOut="rolloverOff('w3c');" 
target="new" href="http://www.w3.org/";><img onLoad="rolloverLoad('w3c', 
'images/button-w3c-hi.gif', 'images/button-w3c-lo.gif');" 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 valign="top" width="120">
  <table width="120" cellspacing="0" cellpadding="0" border="0">
  <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>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Main')" 
onMouseOut="rolloverOff('Main')" href="../index.html"><img 
onLoad="rolloverLoad('Main', 'graphics/Main-label_over.jpg', 
'graphics/Main-label.jpg');" vspace="0" hspace="0" name="Main" width="120" 
height="12" border="0" src="graphics/Main-label.jpg" alt="Main"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><img alt="cTwIG" width="120" vspace="0" 
src="graphics/cTwIG-separator.jpg" hspace="0" height="20" border="0"><br>
  </td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Home')" 
onMouseOut="rolloverOff('Home')" href="index.html"><img 
onLoad="rolloverLoad('Home', 'graphics/Home-label_over.jpg', 
'graphics/Home-label.jpg');" vspace="0" hspace="0" name="Home" width="120" 
height="12" border="0" src="graphics/Home-label.jpg" alt="Home"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Why')" 
onMouseOut="rolloverOff('Why')" href="ctwig-why.html"><img 
onLoad="rolloverLoad('Why', 'graphics/Why-label_over.jpg', 
'graphics/Why-label.jpg');" vspace="0" hspace="0" name="Why" width="120" 
height="12" border="0" src="graphics/Why-label.jpg" alt="Why"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Getting Started')" 
onMouseOut="rolloverOff('Getting Started')" 
href="ctwig-gettingstarted.html"><img onLoad="rolloverLoad('Getting Started', 
'graphics/Getting Started-label_over.jpg', 'graphics/Getting 
Started-label.jpg');" vspace="0" hspace="0" name="Getting Started" width="120" 
height="12" border="0" src="graphics/Getting Started-label.jpg" alt="Getting 
Started"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Installing')" 
onMouseOut="rolloverOff('Installing')" href="ctwig-installing.html"><img 
onLoad="rolloverLoad('Installing', 'graphics/Installing-label_over.jpg', 
'graphics/Installing-label.jpg');" vspace="0" hspace="0" name="Installing" 
width="120" height="12" border="0" src="graphics/Installing-label.jpg" 
alt="Installing"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Transformations')" 
onMouseOut="rolloverOff('Transformations')" 
href="ctwig-transformations.html"><img onLoad="rolloverLoad('Transformations', 
'graphics/Transformations-label_over.jpg', 
'graphics/Transformations-label.jpg');" vspace="0" hspace="0" 
name="Transformations" width="120" height="12" border="0" 
src="graphics/Transformations-label.jpg" alt="Transformations"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Resources')" 
onMouseOut="rolloverOff('Resources')" href="ctwig-resources.html"><img 
onLoad="rolloverLoad('Resources', 'graphics/Resources-label_over.jpg', 
'graphics/Resources-label.jpg');" vspace="0" hspace="0" name="Resources" 
width="120" height="12" border="0" src="graphics/Resources-label.jpg" 
alt="Resources"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Contributing')" 
onMouseOut="rolloverOff('Contributing')" href="ctwig-contributing.html"><img 
onLoad="rolloverLoad('Contributing', 'graphics/Contributing-label_over.jpg', 
'graphics/Contributing-label.jpg');" vspace="0" hspace="0" name="Contributing" 
width="120" height="12" border="0" src="graphics/Contributing-label.jpg" 
alt="Contributing"></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="0" cellpadding="0" border="0">
  <tr>
  <td height="10" width="100%"></td>
  </tr>
  <tr>
  <td>
        
  
        
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="+1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" 
src="images/void.gif"><b>Transformations</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                        
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Serving it up</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                                
  <p align="justify">Once C2 is installed you want to be able to serve pages.  
It's all too easy to jump into doing complex XML/XSL/Logicsheet stuff without 
understanding the basics of how it works.  When I failed in this I changed my 
approach to trying to do the simplest things then build up.  This way has 
enforced some concepts and most importantly started me on the way to becoming 
familiar with the sitemap.</p>
                        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
                        
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>The Sitemap</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                                
  <p align="justify">The bighgest change I have seen in C2 over C1.8 is the 
Sitemap.  This file ({TOMCAT_HOME}\webapps\cocoon\sitemap.xmap) contains a load 
of XML that tells Cocoon what code handles what type of requests and what 
actions should take place when a file is requested.  It looks to be really 
powerful and as I understand it more I will seek to open it up to more 
understanding.  For the time being it is sufficent to know that you have to do 
stuff with this file before anything will work!</p>
                        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
                        
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>The Building 
Blocks</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                                
  <p align="justify">The links below will take you to examples of using C2 to 
serve XML that increase in complexity and demonstrate some of the techniques 
that I am using.  If you know better ways of doing these things or can add 
something new please <a href="ctwig-contributing.html">contribute</a> and I 
will make the examples better.  One final point - these pages are being served 
from simple free web space.  C2 is not running behind this so I cannot provide 
working results of my examples on this site.  You will have to create the files 
and get them to work yourself for the time being.</p>
                                
  <p align="justify">
  <i>Please note that, unless otherwise indicated, all my examples assume that 
the files are in a folder called</i> <b><code><font face="courier, 
monospaced">ctwig</font></code></b> <i>underneath</i> <code><font 
face="courier, monospaced">{TOMCAT_HOME}/webapps/cocoon/</font></code>
  </p>
                                
  <blockquote>
  <ul>
                                        
  <li>
  <a href="ctwig-basic01.html">Basic XML/XSL Transformation (Ref: BASIC01)</a>
  </li>
                                        
  <li>
  <a href="ctwig-basic02.html">Basic XSP Processing (Ref: BASIC02)</a>
  </li>
                                        
  <li>
  <a href="ctwig-basic03.html">Basic XSP/Logicsheet Processing (Ref: 
BASIC03)</a>
  </li>
                                
  </ul>
  </blockquote>
                                
  <p align="justify">You can find links to more information in the <a 
href="ctwig-resources.html">resources</a> section.</p>
                        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
                
  </font></td>
  </tr>
  </table>
  </div>
  <br>
        
  
  </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-2001 The Apache Software Foundation. 
All Rights Reserved.</i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  xml-site/targets/cocoon/ctwig/ctwig-why.html
  
  Index: ctwig-why.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>cTwIG - Cocoon Two Idiots Guide - Why?</title>
  <script type="text/javascript" src="resources/script.js" 
language="JavaScript"></script>
  </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" colspan="2" align="left" 
valign="top" height="5" width="100%"><img align="left" border="0" vspace="0" 
hspace="0" src="images/line.gif" height="5" width="1"></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%"><img align="right" alt="cTwIG - Cocoon Two Idiots Guide - Why?" 
border="0" vspace="0" hspace="0" src="graphics/ctwig-why-header.jpg_label=cTwIG 
- Cocoon Two Idiots Guide - Why.jpg"></td>
  </tr>
  <tr>
  <td background="images/bottom.gif" bgcolor="#0086b2" align="left" 
valign="top" height="20" width="100%"><img align="left" border="0" vspace="0" 
hspace="0" src="images/bottom.gif" height="20" width="3"></td><td 
background="images/bottom.gif" width="288" 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 
onMouseOver="rolloverOn('xml');" onMouseOut="rolloverOff('xml');" target="new" 
href="http://xml.apache.org/";><img onLoad="rolloverLoad('xml', 
'images/button-xml-hi.gif', 'images/button-xml-lo.gif');" 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 onMouseOver="rolloverOn('asf');" onMouseOut="rolloverOff('asf');" 
target="new" href="http://www.apache.org/";><img onLoad="rolloverLoad('asf', 
'images/button-asf-hi.gif', 'images/button-asf-lo.gif');" 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 onMouseOver="rolloverOn('w3c');" onMouseOut="rolloverOff('w3c');" 
target="new" href="http://www.w3.org/";><img onLoad="rolloverLoad('w3c', 
'images/button-w3c-hi.gif', 'images/button-w3c-lo.gif');" 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 valign="top" width="120">
  <table width="120" cellspacing="0" cellpadding="0" border="0">
  <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>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Main')" 
onMouseOut="rolloverOff('Main')" href="../index.html"><img 
onLoad="rolloverLoad('Main', 'graphics/Main-label_over.jpg', 
'graphics/Main-label.jpg');" vspace="0" hspace="0" name="Main" width="120" 
height="12" border="0" src="graphics/Main-label.jpg" alt="Main"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><img alt="cTwIG" width="120" vspace="0" 
src="graphics/cTwIG-separator.jpg" hspace="0" height="20" border="0"><br>
  </td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Home')" 
onMouseOut="rolloverOff('Home')" href="index.html"><img 
onLoad="rolloverLoad('Home', 'graphics/Home-label_over.jpg', 
'graphics/Home-label.jpg');" vspace="0" hspace="0" name="Home" width="120" 
height="12" border="0" src="graphics/Home-label.jpg" alt="Home"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Why')" 
onMouseOut="rolloverOff('Why')" href="ctwig-why.html"><img 
onLoad="rolloverLoad('Why', 'graphics/Why-label_over.jpg', 
'graphics/Why-label.jpg');" vspace="0" hspace="0" name="Why" width="120" 
height="12" border="0" src="graphics/Why-label.jpg" alt="Why"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Getting Started')" 
onMouseOut="rolloverOff('Getting Started')" 
href="ctwig-gettingstarted.html"><img onLoad="rolloverLoad('Getting Started', 
'graphics/Getting Started-label_over.jpg', 'graphics/Getting 
Started-label.jpg');" vspace="0" hspace="0" name="Getting Started" width="120" 
height="12" border="0" src="graphics/Getting Started-label.jpg" alt="Getting 
Started"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Installing')" 
onMouseOut="rolloverOff('Installing')" href="ctwig-installing.html"><img 
onLoad="rolloverLoad('Installing', 'graphics/Installing-label_over.jpg', 
'graphics/Installing-label.jpg');" vspace="0" hspace="0" name="Installing" 
width="120" height="12" border="0" src="graphics/Installing-label.jpg" 
alt="Installing"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Transformations')" 
onMouseOut="rolloverOff('Transformations')" 
href="ctwig-transformations.html"><img onLoad="rolloverLoad('Transformations', 
'graphics/Transformations-label_over.jpg', 
'graphics/Transformations-label.jpg');" vspace="0" hspace="0" 
name="Transformations" width="120" height="12" border="0" 
src="graphics/Transformations-label.jpg" alt="Transformations"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Resources')" 
onMouseOut="rolloverOff('Resources')" href="ctwig-resources.html"><img 
onLoad="rolloverLoad('Resources', 'graphics/Resources-label_over.jpg', 
'graphics/Resources-label.jpg');" vspace="0" hspace="0" name="Resources" 
width="120" height="12" border="0" src="graphics/Resources-label.jpg" 
alt="Resources"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Contributing')" 
onMouseOut="rolloverOff('Contributing')" href="ctwig-contributing.html"><img 
onLoad="rolloverLoad('Contributing', 'graphics/Contributing-label_over.jpg', 
'graphics/Contributing-label.jpg');" vspace="0" hspace="0" name="Contributing" 
width="120" height="12" border="0" src="graphics/Contributing-label.jpg" 
alt="Contributing"></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="0" cellpadding="0" border="0">
  <tr>
  <td height="10" width="100%"></td>
  </tr>
  <tr>
  <td>
        
  
        
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="+1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Why?</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                        
  <p align="justify">If nothing else these pages form my own personal 
documentation of how to use C2 from the ground up.  I run a team of developers 
and as much as I encourage them to jump into technology and problem solve 
themselves, I also want them to know when to ask for help and to do it before 
they have wasted hours of time banging their heads against brick walls.  With a 
technology that is new to them, which C2 is, these pages can help them get more 
productive more quickly.  I am learning C2 too so I don't want to fall into the 
same trap.</p>
                        
  <p align="justify">When I installed C2 for the first time I wanted to write 
down what I did so my team could benefit.  In the course of asking questions on 
the xml-cocoon-users mail list I realised that others were having the same 
problems and, more importantly, the answers were all there via the generous 
nature of more experienced list users.  To support my team, the wider 
development community and pay back in kind the support of others I wanted to 
make my notes available.</p>
                        
  <p align="justify">Given that I am still getting some basic stuff running 
these pages are going to be like a diary of my work for the first few weeks but 
I hope that something good comes out of it.  If you find ways of doing things 
better, have your own notes, want to put me right on something or just want to 
stop it being a one man ego trip then please <a 
href="ctwig-contributing.html">contribute</a>.</p>
                        
  <p align="justify">As a bit of technical background...  I have been working 
for almost the past five years developing web based e-learning solutions, 
firstly a learning mangement system (Solstra - <a target="_blank" 
href="http://www.solstra.com";>www.solstra.com</a>), then an e-learning portal 
(easycando.com - <a target="_blank" 
href="http://www.easycando.com";>easycando.com</a>) and more recently content 
for <a target="_blank" href="http://www.knowledgepool.com";>KnowledgePool</a>.  
Right from day one, after trying and discarding ASP and Cold Fusion, we saw the 
need to use templates that could seperate logic from layout.  We built our own 
Java based architecture then moved it from templates to servlets as that 
technology progressed.  By using a property file based system along with 
classes that abstracted the HTML coding side, we built configurable, 
multi-lingual solutions.  The basic method still contains weaknesses and I was 
keen to see how XML/XSL could help.</p>
                        
  <p align="justify">About a year ago we developed some prototype code that 
used JSP, beans, XML and XSL.  It worked quite well but then things changed, I 
moved jobs and did not do anything more other than mull things over in my head. 
 More recently I have had to start architecting tools to help my company 
develop learning content and I revisited my earlier thoughts.  I was reading a 
"Java and XML" by Brett McLaughlin (published by O'Reilly) and it talked about 
Cocoon.  When I saw the taglib (logicsheet) idea I realised here was a platform 
I could work with.  I tried 1.8 as it was production code and then moved to 2 
because I saw the internationalisation capabilities and thought it is probably 
close to becoming a fully released product.</p>
                        
  <p align="justify">I am now building more and more code and realising that 
sharing my experiences might help others.  At worst it'll be how not to do 
it!</p>
                
  </font></td>
  </tr>
  </table>
  </div>
  <br>
        
  
  </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-2001 The Apache Software Foundation. 
All Rights Reserved.</i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  xml-site/targets/cocoon/ctwig/index.html
  
  Index: index.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>cTwIG - Cocoon Two Idiots Guide</title>
  <script type="text/javascript" src="resources/script.js" 
language="JavaScript"></script>
  </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" colspan="2" align="left" 
valign="top" height="5" width="100%"><img align="left" border="0" vspace="0" 
hspace="0" src="images/line.gif" height="5" width="1"></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%"><img align="right" alt="cTwIG - Cocoon Two Idiots Guide" 
border="0" vspace="0" hspace="0" src="graphics/index-header.jpg_label=cTwIG - 
Cocoon Two Idiots Guide.jpg"></td>
  </tr>
  <tr>
  <td background="images/bottom.gif" bgcolor="#0086b2" align="left" 
valign="top" height="20" width="100%"><img align="left" border="0" vspace="0" 
hspace="0" src="images/bottom.gif" height="20" width="3"></td><td 
background="images/bottom.gif" width="288" 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 
onMouseOver="rolloverOn('xml');" onMouseOut="rolloverOff('xml');" target="new" 
href="http://xml.apache.org/";><img onLoad="rolloverLoad('xml', 
'images/button-xml-hi.gif', 'images/button-xml-lo.gif');" 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 onMouseOver="rolloverOn('asf');" onMouseOut="rolloverOff('asf');" 
target="new" href="http://www.apache.org/";><img onLoad="rolloverLoad('asf', 
'images/button-asf-hi.gif', 'images/button-asf-lo.gif');" 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 onMouseOver="rolloverOn('w3c');" onMouseOut="rolloverOff('w3c');" 
target="new" href="http://www.w3.org/";><img onLoad="rolloverLoad('w3c', 
'images/button-w3c-hi.gif', 'images/button-w3c-lo.gif');" 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 valign="top" width="120">
  <table width="120" cellspacing="0" cellpadding="0" border="0">
  <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>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Main')" 
onMouseOut="rolloverOff('Main')" href="../index.html"><img 
onLoad="rolloverLoad('Main', 'graphics/Main-label_over.jpg', 
'graphics/Main-label.jpg');" vspace="0" hspace="0" name="Main" width="120" 
height="12" border="0" src="graphics/Main-label.jpg" alt="Main"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><img alt="cTwIG" width="120" vspace="0" 
src="graphics/cTwIG-separator.jpg" hspace="0" height="20" border="0"><br>
  </td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Home')" 
onMouseOut="rolloverOff('Home')" href="index.html"><img 
onLoad="rolloverLoad('Home', 'graphics/Home-label_over.jpg', 
'graphics/Home-label.jpg');" vspace="0" hspace="0" name="Home" width="120" 
height="12" border="0" src="graphics/Home-label.jpg" alt="Home"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Why')" 
onMouseOut="rolloverOff('Why')" href="ctwig-why.html"><img 
onLoad="rolloverLoad('Why', 'graphics/Why-label_over.jpg', 
'graphics/Why-label.jpg');" vspace="0" hspace="0" name="Why" width="120" 
height="12" border="0" src="graphics/Why-label.jpg" alt="Why"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Getting Started')" 
onMouseOut="rolloverOff('Getting Started')" 
href="ctwig-gettingstarted.html"><img onLoad="rolloverLoad('Getting Started', 
'graphics/Getting Started-label_over.jpg', 'graphics/Getting 
Started-label.jpg');" vspace="0" hspace="0" name="Getting Started" width="120" 
height="12" border="0" src="graphics/Getting Started-label.jpg" alt="Getting 
Started"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Installing')" 
onMouseOut="rolloverOff('Installing')" href="ctwig-installing.html"><img 
onLoad="rolloverLoad('Installing', 'graphics/Installing-label_over.jpg', 
'graphics/Installing-label.jpg');" vspace="0" hspace="0" name="Installing" 
width="120" height="12" border="0" src="graphics/Installing-label.jpg" 
alt="Installing"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Transformations')" 
onMouseOut="rolloverOff('Transformations')" 
href="ctwig-transformations.html"><img onLoad="rolloverLoad('Transformations', 
'graphics/Transformations-label_over.jpg', 
'graphics/Transformations-label.jpg');" vspace="0" hspace="0" 
name="Transformations" width="120" height="12" border="0" 
src="graphics/Transformations-label.jpg" alt="Transformations"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Resources')" 
onMouseOut="rolloverOff('Resources')" href="ctwig-resources.html"><img 
onLoad="rolloverLoad('Resources', 'graphics/Resources-label_over.jpg', 
'graphics/Resources-label.jpg');" vspace="0" hspace="0" name="Resources" 
width="120" height="12" border="0" src="graphics/Resources-label.jpg" 
alt="Resources"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Contributing')" 
onMouseOut="rolloverOff('Contributing')" href="ctwig-contributing.html"><img 
onLoad="rolloverLoad('Contributing', 'graphics/Contributing-label_over.jpg', 
'graphics/Contributing-label.jpg');" vspace="0" hspace="0" name="Contributing" 
width="120" height="12" border="0" src="graphics/Contributing-label.jpg" 
alt="Contributing"></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="0" cellpadding="0" border="0">
  <tr>
  <td height="10" width="100%"></td>
  </tr>
  <tr>
  <td>
        
  
        
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="+1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Welcome!</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                        
  <p align="justify">Welcome to cTwIG - the Cocoon Two Idiots Guide.  These 
pages are the result of organically pulling together my experiences of 
installing, using and developing for Apache Cocoon 2 (C2).  It is intended to 
provide a quick guide for other new users of C2 so that they can get up and 
running without needing to trouble the more experienced users out there.  More 
than that, I want to support and repay in a practical way the spirit of the 
user community that indulges my sometimes very dim questions.  For any further 
background please see the <a href="ctwig-why.html">why?</a> page</p>
                        
  <p align="justify">Hopefully you will note that these pages are highly 
dynamic in the sense that I am still learning much of the basics myself, thus 
new and better ways of doing the things I have done are bound to appear in 
addition to explanations of the new features that I make use of.</p>
                        
  <p align="justify">Please look around and feel free to <a 
href="ctwig-contributing.html">contribute</a> in any way you like. I am not 
precious about this resource - I just want to make our collective C2 lives more 
easy, so all comments are welcome!</p>
                        
  <p align="justify">One final point...  All the work I am doing is on Windows 
2000 boxes thus I cannot vouch for validity of my rantings on any Unix or other 
Windows (95, 98, NT4, ME etc) box.  Hopefully this will change over time but 
for the time being this will have to do.</p>
                        
  <p align="justify">I hope these pages can be of use!</p>
                        
  <p align="justify">
  <a href="mailto:[EMAIL PROTECTED]">Jeremy Aston</a>
  </p>
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Disclaimer</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                        
  <p align="justify">Disclaimer type thang...  I will always sincerely aim that 
all the information here is as accurate.  If I make an errors I promise to put 
them right as soon as I know about them, please help by <a 
href="ctwig-contributing.html">contributing</a> if and when you see anything 
that is wrong or misleading.  Please always check the official documentation 
and take that as the most accurate.  Please always ensure you have backups of 
critical files.  I cannot guarantee that none of the instructions on my pages 
could harm your system but all the information is there in good faith and will 
be changed if it is found to be wrong.  Please take your share of the 
responsibility and act professionally and with care.  Ta ever so!  Jez.</p>
                
  </font></td>
  </tr>
  </table>
  </div>
  <br>
                
  </font></td>
  </tr>
  </table>
  </div>
  <br>
        
  
  </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-2001 The Apache Software Foundation. 
All Rights Reserved.</i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  
xml-site/targets/cocoon/ctwig/graphics/Contributing-label.jpg
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/ctwig/graphics/Contributing-label_over.jpg
  
        <<Binary file>>
  
  
  No                   revision
  
  
  No                   revision
  
        <<Binary file>>
  
  
  No                   revision
  
  
  No                   revision
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/ctwig/graphics/Home-label.jpg
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/ctwig/graphics/Home-label_over.jpg
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/ctwig/graphics/Installing-label.jpg
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/ctwig/graphics/Installing-label_over.jpg
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/ctwig/graphics/Main-label.jpg
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/ctwig/graphics/Main-label_over.jpg
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/ctwig/graphics/Resources-label.jpg
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/ctwig/graphics/Resources-label_over.jpg
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/ctwig/graphics/Transformations-label.jpg
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/ctwig/graphics/Transformations-label_over.jpg
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/ctwig/graphics/Why-label.jpg
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/ctwig/graphics/Why-label_over.jpg
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/ctwig/graphics/cTwIG-separator.jpg
  
        <<Binary file>>
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
        <<Binary file>>
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
        <<Binary file>>
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
        <<Binary file>>
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
        <<Binary file>>
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
        <<Binary file>>
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
        <<Binary file>>
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
        <<Binary file>>
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
        <<Binary file>>
  
  
  No                   revision
  
  
  No                   revision
  
        <<Binary file>>
  
  
  No                   revision
  
  
  No                   revision
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/ctwig/images/bar-border-bottom.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/ctwig/images/bar-border-left.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/ctwig/images/bar-border-right.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/ctwig/images/bar-border-top.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/ctwig/images/bar-bottom-left.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/ctwig/images/bar-bottom-right.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/ctwig/images/bar-top-left.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/ctwig/images/bar-top-right.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/ctwig/images/bottom.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/ctwig/images/button-asf-hi.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/ctwig/images/button-asf-lo.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/ctwig/images/button-w3c-hi.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/ctwig/images/button-w3c-lo.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/ctwig/images/button-xml-hi.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/ctwig/images/button-xml-lo.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/ctwig/images/close.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/ctwig/images/dot.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/ctwig/images/join.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/ctwig/images/line.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/ctwig/images/logo.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/ctwig/images/note.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/ctwig/images/right.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/ctwig/images/void.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/ctwig/resources/script.js
  
  Index: script.js
  ===================================================================
  rolloverImagesOn=new Array();
  rolloverImagesOff=new Array();
  
  function rolloverOn(name) {
    if(document.images[name] && rolloverImagesOn[name]) 
document.images[name].src=rolloverImagesOn[name].src;
  }
  
  function rolloverOff(name) {
   if(document.images[name] && rolloverImagesOff[name]) 
document.images[name].src=rolloverImagesOff[name].src;
  }
  
  
  function rolloverLoad(name,on,off) {
    rolloverImagesOn[name]=new Image();
    rolloverImagesOn[name].src=mangle(on);
    rolloverImagesOff[name]=new Image();
    rolloverImagesOff[name].src=mangle(off);
  }
  
  function mangle(name) {
  
    name = name.replace(/:/g, "_");
    name = name.replace(/\?/g, "_");
    name = name.replace(/\"/g, "\'");
  
    return name;
  }
  
  
  
  1.1                  
xml-site/targets/cocoon/ctwig/sample/transformations/basic01/basic01-01.xml.txt
  
  Index: basic01-01.xml.txt
  ===================================================================
  <?xml version="1.0"?>
  <page>
        <title>Basic XML/XSL Transformation Example - BASIC01-01.XML</title>
        <greeting>Hello World</greeting>
  </page>
  
  
  
  1.1                  
xml-site/targets/cocoon/ctwig/sample/transformations/basic01/basic01-01.xsl.txt
  
  Index: basic01-01.xsl.txt
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
version="1.0">
  
  <xsl:template match="page">
    <html>
                <head>
                        <title><xsl:value-of select="title"/></title>
                </head>
      <body>
        <h1><xsl:value-of select="title"/></h1>
                        <p><xsl:value-of select="greeting"/></p>
      </body>
    </html>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  
xml-site/targets/cocoon/ctwig/sample/transformations/basic02/basic02-01.xml.txt
  
  Index: basic02-01.xml.txt
  ===================================================================
  <?xml version="1.0"?>
  <xsp:page 
        xmlns:xsp="http://apache.org/xsp";
  >
  
  <page>
    <xsp:logic>
      String msg = "Hello World";
    </xsp:logic>
  
        <title>
      Basic XSP Processing Example - BASIC02-01.XML
        </title>
  
    <greeting>
      <xsp:expr>msg</xsp:expr>
    </greeting>
  </page>
  </xsp:page>
  
  
  
  1.1                  
xml-site/targets/cocoon/ctwig/sample/transformations/basic03/basic03-01.xml.txt
  
  Index: basic03-01.xml.txt
  ===================================================================
  <?xml version="1.0"?>
  <xsp:page 
        xmlns:xsp="http://apache.org/xsp";
    xmlns:ctwig="http://www.pigbite.com/xsl";
  >
  
  <page>
        <title>
      Basic XSP/Logicsheet Processing Example - BASIC03-01.XML
        </title>
    <greeting>
      <ctwig:greeting/>
    </greeting>
  </page>
  </xsp:page>
  
  
  
  1.1                  
xml-site/targets/cocoon/ctwig/sample/transformations/logicsheet/ctwig.xsl.txt
  
  Index: ctwig.xsl.txt
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
    xmlns:xsp="http://apache.org/xsp";
    xmlns:ctwig="http://www.pigbite.com/xsl";
    version="1.0">
  
  <xsl:template match="ctwig:greeting">
   
    <xsp:logic>
      String msg = "Hello World";
    </xsp:logic>
  
    <xsp:expr>msg</xsp:expr>
  </xsl:template>
  
  <xsl:template match="@*|node()" priority="-1">
   <xsl:copy>
    <xsl:apply-templates select="@*|node()"/>
   </xsl:copy>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-site/targets/cocoon/developing/avalon.html
  
  Index: avalon.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Avalon for Apache Cocoon</title>
  <script type="text/javascript" src="resources/script.js" 
language="JavaScript"></script>
  </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" colspan="2" align="left" 
valign="top" height="5" width="100%"><img align="left" border="0" vspace="0" 
hspace="0" src="images/line.gif" height="5" width="1"></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%"><img align="right" alt="Avalon for Apache Cocoon" border="0" 
vspace="0" hspace="0" src="graphics/avalon-header.jpg_label=Avalon for Apache 
Cocoon.jpg"></td>
  </tr>
  <tr>
  <td background="images/bottom.gif" bgcolor="#0086b2" align="left" 
valign="top" height="20" width="100%"><img align="left" border="0" vspace="0" 
hspace="0" src="images/bottom.gif" height="20" width="3"></td><td 
background="images/bottom.gif" width="288" 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 
onMouseOver="rolloverOn('xml');" onMouseOut="rolloverOff('xml');" target="new" 
href="http://xml.apache.org/";><img onLoad="rolloverLoad('xml', 
'images/button-xml-hi.gif', 'images/button-xml-lo.gif');" 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 onMouseOver="rolloverOn('asf');" onMouseOut="rolloverOff('asf');" 
target="new" href="http://www.apache.org/";><img onLoad="rolloverLoad('asf', 
'images/button-asf-hi.gif', 'images/button-asf-lo.gif');" 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 onMouseOver="rolloverOn('w3c');" onMouseOut="rolloverOff('w3c');" 
target="new" href="http://www.w3.org/";><img onLoad="rolloverLoad('w3c', 
'images/button-w3c-hi.gif', 'images/button-w3c-lo.gif');" 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 valign="top" width="120">
  <table width="120" cellspacing="0" cellpadding="0" border="0">
  <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>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Main')" 
onMouseOut="rolloverOff('Main')" href="../index.html"><img 
onLoad="rolloverLoad('Main', 'graphics/Main-label_over.jpg', 
'graphics/Main-label.jpg');" vspace="0" hspace="0" name="Main" width="120" 
height="12" border="0" src="graphics/Main-label.jpg" alt="Main"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><img alt="Concepts" width="120" vspace="0" 
src="graphics/Concepts-separator.jpg" hspace="0" height="20" border="0"><br>
  </td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Flow')" 
onMouseOut="rolloverOff('Flow')" href="httprequest.html"><img 
onLoad="rolloverLoad('Flow', 'graphics/Flow-label_over.jpg', 
'graphics/Flow-label.jpg');" vspace="0" hspace="0" name="Flow" width="120" 
height="12" border="0" src="graphics/Flow-label.jpg" alt="Flow"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Extending C2')" 
onMouseOut="rolloverOff('Extending C2')" href="extending.html"><img 
onLoad="rolloverLoad('Extending C2', 'graphics/Extending C2-label_over.jpg', 
'graphics/Extending C2-label.jpg');" vspace="0" hspace="0" name="Extending C2" 
width="120" height="12" border="0" src="graphics/Extending C2-label.jpg" 
alt="Extending C2"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Avalon')" 
onMouseOut="rolloverOff('Avalon')" href="avalon.html"><img 
onLoad="rolloverLoad('Avalon', 'graphics/Avalon-label_over.jpg', 
'graphics/Avalon-label.jpg');" vspace="0" hspace="0" name="Avalon" width="120" 
height="12" border="0" src="graphics/Avalon-label.jpg" alt="Avalon"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Using Databases')" 
onMouseOut="rolloverOff('Using Databases')" href="datasources.html"><img 
onLoad="rolloverLoad('Using Databases', 'graphics/Using 
Databases-label_over.jpg', 'graphics/Using Databases-label.jpg');" vspace="0" 
hspace="0" name="Using Databases" width="120" height="12" border="0" 
src="graphics/Using Databases-label.jpg" alt="Using Databases"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Parent CM')" 
onMouseOut="rolloverOff('Parent CM')" href="parent-component-manager.html"><img 
onLoad="rolloverLoad('Parent CM', 'graphics/Parent CM-label_over.jpg', 
'graphics/Parent CM-label.jpg');" vspace="0" hspace="0" name="Parent CM" 
width="120" height="12" border="0" src="graphics/Parent CM-label.jpg" 
alt="Parent CM"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><img alt="Java" width="120" vspace="0" 
src="graphics/Java-separator.jpg" hspace="0" height="20" border="0"><br>
  </td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('API (Javadoc)')" 
onMouseOut="rolloverOff('API (Javadoc)')" target="new" 
href="../apidocs/index.html"><img onLoad="rolloverLoad('API (Javadoc)', 
'graphics/API (Javadoc)-label_over.jpg', 'graphics/API (Javadoc)-label.jpg');" 
width="120" vspace="0" name="API (Javadoc)" hspace="0" height="12" border="0" 
src="graphics/API (Javadoc)-label.jpg" alt="API (Javadoc)"></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="0" cellpadding="0" border="0">
  <tr>
  <td height="10" width="100%"></td>
  </tr>
  <tr>
  <td>
    
    
         
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="+1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Goal</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                
  <p align="justify">This document tries to give the basic knowledge of Avalon 
that is
                  necessary to understand Cocoon.</p>
                
  <p align="justify">People that are trying to understand Avalon in depth, will 
probably
                  not be much helped by this document. But if you want to 
understand Cocoon,
                  you have to have a basic grasp of Avalon. </p>
                
  <p align="justify">The document also contains the basic configuration steps 
for
                 configuring Avalon components within Cocoon.</p>
                
  <p align="justify">Much of this document is copied and pasted from original 
Avalon
                  documentation. However, I hope that the fact that all things 
relevant for
                  Cocoon are put together in one place, will help you to 
understand Cocoon
                  faster.</p>
                
  <p align="justify">For people wishing to learn Avalon in-depth,
                  <a 
href="http://jakarta.apache.org/avalon/developing/index.html";>this is your 
starting
                point</a>.</p>
         
  </font></td>
  </tr>
  </table>
  </div>
  <br>
         
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="+1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Overview</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                
  <p align="justify">For a mission statement of Apache Avalon, please read
                  <a href="http://jakarta.apache.org/avalon/index.html";>the 
Avalon
                homepage</a>.</p>
                
  <p align="justify">In short, Avalon tries to take design efforts away from 
server-side
                  programmers by providing a framework that </p>
                
  <blockquote>
  <ul>
                  
  <li>provides basic working classes;</li>
                  
  <li>provides interfaces to allow different efforts to be integrated
                         more easily.</li>
                
  </ul>
  </blockquote>
         
  </font></td>
  </tr>
  </table>
  </div>
  <br>
         
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="+1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>The classes and 
interfaces</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif"> 
                
  <p align="justify">These classes and interfaces are extensively used by 
Cocoon:</p>
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" 
src="images/void.gif"><b>ComponentManager</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                  
  <p align="justify">
  <code><font face="courier, 
monospaced">org.apache.avalon.framework.component.ComponentManager</font></code>
  </p>
                  
  <p align="justify">A <code><font face="courier, 
monospaced">ComponentManager</font></code> selects <code><font face="courier, 
monospaced">Component</font></code>s
                         based on a role. The contract is that all the 
<code><font face="courier, monospaced">Component</font></code>s implement
                         the differing roles and there is one <code><font 
face="courier, monospaced">Component</font></code> per role. If you
                         need to select on of many <code><font face="courier, 
monospaced">Component</font></code>s that implement the same role,
                         then you need to use a <code><font face="courier, 
monospaced">ComponentSelector</font></code>. Roles are the full
                         interface name.</p>
                  
  <p align="justify">A role is better understood by the analogy of a play. 
There are many
                         different roles in a script. Any actor or actress can 
play any given part and
                         you get the same results (phrases said, movements 
made, etc.), but the exact
                         nuances of the performance is different.</p>
                  
  <p align="justify">The <code><font face="courier, 
monospaced">Cocoon</font></code> class implements e.g. the
                         <code><font face="courier, 
monospaced">ComponentManager</font></code> interface.</p>
                
  </font></td>
  </tr>
  </table>
  </div>
  <br>
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Composable</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                  
  <p align="justify">
  <code><font face="courier, 
monospaced">org.apache.avalon.framework.component.Composable</font></code>
  </p>
                  
  <p align="justify">A <code><font face="courier, 
monospaced">Composer</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. </p>
                
  </font></td>
  </tr>
  </table>
  </div>
  <br>
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Component</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                  
  <p align="justify">
  <code><font face="courier, 
monospaced">org.apache.avalon.framework.component.Component</font></code>
  </p>
                  
  <p align="justify">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>. </p>
                  
  <p align="justify">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">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. </p>
                  
  <p align="justify">
  <code><font face="courier, monospaced">Component</font></code>s in Cocoon are 
e.g. those defined in
                         <code><font face="courier, 
monospaced">cocoon.xconf</font></code>.</p>
                
  </font></td>
  </tr>
  </table>
  </div>
  <br>
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Configuration</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                  
  <p align="justify">
  <code><font face="courier, 
monospaced">org.apache.avalon.framework.configuration.Configuration</font></code>
  </p>
                  
  <p align="justify">
  <code><font face="courier, monospaced">Configuration</font></code> is a 
interface encapsulating a
                         configuration node used to retrieve configuration 
values. This is a "read only"
                         interface preventing applications from modifying their 
own configurations. The
                         contract surrounding the <code><font face="courier, 
monospaced">Configuration</font></code> is that once it is created,
                         information never changes. The <code><font 
face="courier, monospaced">Configuration</font></code> is built by the
                         <code><font face="courier, 
monospaced">ConfigurationBuilder</font></code>.</p>
                
  </font></td>
  </tr>
  </table>
  </div>
  <br>
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Configurable</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                  
  <p align="justify">
  <code><font face="courier, 
monospaced">org.apache.avalon.framework.configuration.Configurable</font></code>
  </p>
                  
  <p align="justify">
  <code><font face="courier, monospaced">Configurable</font></code> is a 
interface describing a component which
                    can be configured. This component gets a <code><font 
face="courier, monospaced">Configuration</font></code>
                    object as input.</p>
                
  </font></td>
  </tr>
  </table>
  </div>
  <br>
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" 
src="images/void.gif"><b>ConfigurationBuilder</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                  
  <p align="justify">
  <code><font face="courier, 
monospaced">org.apache.avalon.ConfigurationBuilder</font></code>
  </p>
                  
  <p align="justify">A <code><font face="courier, 
monospaced">ConfigurationBuilder</font></code> builds
                         <code><font face="courier, 
monospaced">Configuration</font></code>s.</p>
                
  </font></td>
  </tr>
  </table>
  </div>
  <br>
         
  </font></td>
  </tr>
  </table>
  </div>
  <br>
        
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="+1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Configuration</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                
  <p align="justify">Most available Avalon components are configured in the 
cocoon.xconf.</p>
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Pooling 
configuration</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                        
  <p align="justify">Avalon now incorporates a couple of modifiers for a 
Component
                        definition that allows you to control the number of 
Components
                        in a pool, and how quickly it grows.  This is 
especially helpful
                        in Cocoon where the defaults don't always work well.</p>
                        
  <p align="justify">The magic attributes are "pool-min", "pool-max", and 
"pool-grow".
                        The defaults are:</p>
                        
  <blockquote>
  <ol>
                                
  <li>pool-max: 8</li>
                                
  <li>pool-min: 2</li>
                                
  <li>pool-grow: pool-min  (2)</li>
                        
  </ol>
  </blockquote>
                        
  <p align="justify">What this means is that the pool for the default component 
initially
                        contains 2 instances, and if demand exceeds that the 
pool will increase
                        by two components at a time up to 8 instances.  Beyond 
that the pool
                        turns into a factory in that new Component instances 
are created, but
                        destroyed when they are returned.  This is a 
performance issue--but
                        it does manage the number of instances available at one 
time.</p>
                        
  <p align="justify">Please note that if
                        not specified, "pool-grow" always matches "pool-min".  
If not specified
                        "pool-min" always equals "2".  If you specify the 
minimum being higher
                        than the maximum, then the maximum will match the 
minimum, and the pool
                        will be fully filled on initialization.</p>
                
  </font></td>
  </tr>
  </table>
  </div>
  <br>
        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
    
  
  </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-2001 The Apache Software Foundation. 
All Rights Reserved.</i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  xml-site/targets/cocoon/developing/datasources.html
  
  Index: datasources.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Using Databases in Apache Cocoon</title>
  <script type="text/javascript" src="resources/script.js" 
language="JavaScript"></script>
  </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" colspan="2" align="left" 
valign="top" height="5" width="100%"><img align="left" border="0" vspace="0" 
hspace="0" src="images/line.gif" height="5" width="1"></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%"><img align="right" alt="Using Databases in Apache Cocoon" 
border="0" vspace="0" hspace="0" 
src="graphics/datasources-header.jpg_label=Using Databases in Apache 
Cocoon.jpg"></td>
  </tr>
  <tr>
  <td background="images/bottom.gif" bgcolor="#0086b2" align="left" 
valign="top" height="20" width="100%"><img align="left" border="0" vspace="0" 
hspace="0" src="images/bottom.gif" height="20" width="3"></td><td 
background="images/bottom.gif" width="288" 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 
onMouseOver="rolloverOn('xml');" onMouseOut="rolloverOff('xml');" target="new" 
href="http://xml.apache.org/";><img onLoad="rolloverLoad('xml', 
'images/button-xml-hi.gif', 'images/button-xml-lo.gif');" 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 onMouseOver="rolloverOn('asf');" onMouseOut="rolloverOff('asf');" 
target="new" href="http://www.apache.org/";><img onLoad="rolloverLoad('asf', 
'images/button-asf-hi.gif', 'images/button-asf-lo.gif');" 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 onMouseOver="rolloverOn('w3c');" onMouseOut="rolloverOff('w3c');" 
target="new" href="http://www.w3.org/";><img onLoad="rolloverLoad('w3c', 
'images/button-w3c-hi.gif', 'images/button-w3c-lo.gif');" 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 valign="top" width="120">
  <table width="120" cellspacing="0" cellpadding="0" border="0">
  <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>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Main')" 
onMouseOut="rolloverOff('Main')" href="../index.html"><img 
onLoad="rolloverLoad('Main', 'graphics/Main-label_over.jpg', 
'graphics/Main-label.jpg');" vspace="0" hspace="0" name="Main" width="120" 
height="12" border="0" src="graphics/Main-label.jpg" alt="Main"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><img alt="Concepts" width="120" vspace="0" 
src="graphics/Concepts-separator.jpg" hspace="0" height="20" border="0"><br>
  </td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Flow')" 
onMouseOut="rolloverOff('Flow')" href="httprequest.html"><img 
onLoad="rolloverLoad('Flow', 'graphics/Flow-label_over.jpg', 
'graphics/Flow-label.jpg');" vspace="0" hspace="0" name="Flow" width="120" 
height="12" border="0" src="graphics/Flow-label.jpg" alt="Flow"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Extending C2')" 
onMouseOut="rolloverOff('Extending C2')" href="extending.html"><img 
onLoad="rolloverLoad('Extending C2', 'graphics/Extending C2-label_over.jpg', 
'graphics/Extending C2-label.jpg');" vspace="0" hspace="0" name="Extending C2" 
width="120" height="12" border="0" src="graphics/Extending C2-label.jpg" 
alt="Extending C2"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Avalon')" 
onMouseOut="rolloverOff('Avalon')" href="avalon.html"><img 
onLoad="rolloverLoad('Avalon', 'graphics/Avalon-label_over.jpg', 
'graphics/Avalon-label.jpg');" vspace="0" hspace="0" name="Avalon" width="120" 
height="12" border="0" src="graphics/Avalon-label.jpg" alt="Avalon"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Using Databases')" 
onMouseOut="rolloverOff('Using Databases')" href="datasources.html"><img 
onLoad="rolloverLoad('Using Databases', 'graphics/Using 
Databases-label_over.jpg', 'graphics/Using Databases-label.jpg');" vspace="0" 
hspace="0" name="Using Databases" width="120" height="12" border="0" 
src="graphics/Using Databases-label.jpg" alt="Using Databases"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Parent CM')" 
onMouseOut="rolloverOff('Parent CM')" href="parent-component-manager.html"><img 
onLoad="rolloverLoad('Parent CM', 'graphics/Parent CM-label_over.jpg', 
'graphics/Parent CM-label.jpg');" vspace="0" hspace="0" name="Parent CM" 
width="120" height="12" border="0" src="graphics/Parent CM-label.jpg" 
alt="Parent CM"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><img alt="Java" width="120" vspace="0" 
src="graphics/Java-separator.jpg" hspace="0" height="20" border="0"><br>
  </td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('API (Javadoc)')" 
onMouseOut="rolloverOff('API (Javadoc)')" target="new" 
href="../apidocs/index.html"><img onLoad="rolloverLoad('API (Javadoc)', 
'graphics/API (Javadoc)-label_over.jpg', 'graphics/API (Javadoc)-label.jpg');" 
width="120" vspace="0" name="API (Javadoc)" hspace="0" height="12" border="0" 
src="graphics/API (Javadoc)-label.jpg" alt="API (Javadoc)"></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="0" cellpadding="0" border="0">
  <tr>
  <td height="10" width="100%"></td>
  </tr>
  <tr>
  <td> 
     
     
     
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="+1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>How do I choose my 
database?</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif"> 
      
  <p align="justify">
       Apache Cocoon is flexible in the way it allows you to make connections to
       a database.  There are basically two ways: by redefining all the 
connection
       parameters in each page you use a database, or using a pooled connection.
       The first method is slow and doesn't scale well.  The second method is 
more
       scalable, and depending on your database will realize true improvements.
      </p>
      
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Installing the 
Driver</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
       
  <p align="justify">
         Independent of how you choose to get and maintain your JDBC 
connections,
         you have to load the driver so Cocoon can use it (unless you are using
         a J2EE container--more on that later).  This is an init parameter in
         your web.xml file.  The following snippet will show you how:
       </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;init-param&gt;
    &lt;param-name&gt;load-class&lt;/param-name&gt;
    &lt;param-value&gt;
      &lt;!-- For PostgeSQL Database: --&gt;
      postgresql.Driver
  
      &lt;!-- For Oracle Database: --&gt;
      oracle.jdbc.driver.OracleDriver
    &lt;/param-value&gt;
  &lt;/init-param&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 align="justify">
        You can place as many Driver classes in this parameter you want.  They
        are separated by white space or commas.
       </p>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
      
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Defining a Data 
Source</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
       
  <p align="justify">
        Cocoon allows you to specify a pooled data source that you can use
        for throughout the Cocoon system.  There are two different types of
        data sources: JDBC and J2EE.  The difference is in who controls the
        connection.  The JDBC data source lets Cocoon handle all the pooling
        logic.  The J2EE data source tells Cocoon how to pull the DataSource
        object from a J2EE container (thats Java 2 Enterprise Edition)--the
        major caveat is that Cocoon must be installed as part of a Enterprise
        Application.
       </p>
       
  <p align="justify">
        The following snippet of cocoon.xconf shows the section where the
        DataSourceComponent is specified.  You can have more than one in
        this location.  The code will have one connection for the JDBC data
        source, and one connection for the J2EE data source.
       </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;datasources&gt;
      &lt;jdbc name="MyConnectionName"&gt;
  
        &lt;pool-controller min="5" max="10"/&gt;
        &lt;dburl&gt;jdbc:oracle:thin:@localhost:1521:mydatabase&lt;/dburl&gt;
        &lt;user&gt;mylogin&lt;/user&gt;
        &lt;password&gt;myPassword&lt;/password&gt;
      &lt;/jdbc&gt;
      &lt;j2ee name="MyJ2eeConnection"&gt;
        &lt;dbname&gt;cocoonDB&lt;/dbname&gt;
      &lt;/j2ee&gt;
    &lt;/datasources&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>
  
       
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="90%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="-1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>The JDBC Connection 
Properties</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="90%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
        
  <p align="justify">
         The JDBC connection has up to five different properties--but only one
         is absolutely required.
        </p>
        
  <blockquote>
  <ul>
         
  <li>
           dburl: This is absolutely required.  Without it JDBC can't connect
         to the database.
         </li>
         
  <li>
           user: This is only required if the database admin requires you to
         log in to the database.
         </li>
         
  <li>
           password: This is only required if the database admin requires a
         password to connect to the database.
         </li>
         
  <li>
           pool-controller: This has two parameters with defaults.  If it is
         not specified, the defaults are used.
         <blockquote>
  <ul>
           
  <li>
             min: The minimum number of connections the pool will keep
             available at one time.  Defaults to zero (0).
           </li>
           
  <li>
             max: The maximum number of connections the pool will have
             created at the same time.  Defaults to three (3).
           </li>
           
  <li>
             oradb: If you have an Oracle database, you should add the attribute
                    "oradb" and set it to true.
           </li>
         
  </ul>
  </blockquote>
         
  </li>
         
  <li>
          auto-commit: If you need to ensure an autocommit is set to true or
                       false, then create the "auto-commit" element.
         </li>
        
  </ul>
  </blockquote>
       
  </font></td>
  </tr>
  </table>
  </div>
  <br>
       
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="90%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="-1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>The J2EE Connection 
Property</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="90%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
        
  <p align="justify">
          The J2EE connection has only one property and it is absolutely
        required.  Cocoon uses JNDI to look up the DataSource with the
        name you specified in "dbname".
        </p>
       
  </font></td>
  </tr>
  </table>
  </div>
  <br>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
      
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Using the Data Source 
Component</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
        
  <p align="justify">
         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
         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.
        </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.avalon.framework.component.ComponentManager;
  import org.apache.avalon.framework.component.ComponentSelector;
  import org.apache.cocoon.Roles;
  import org.apache.avalon.excalibur.datasource.DataSourceComponent;
  
  import java.sql.Connection;
  
  // .... Skip a lot of lines until we are in the method you use
  //      to initialize the DataSourceComponent ....
  
  private DataSourceComponent datasource;
  
  public void compose(ComponentManager manager) {
      ComponentSelector selector =
          (ComponentSelector) manager.lookup(Roles.DB_CONNECTION);
      this.datasource = (DataSourceComponent) 
selector.select("MyConnectionName");
  }
  
  // .... Skip more lines until we actually need to use the datasource
  
  private void meMethod() {
      Connection myConnection = this.datasource.getConnection();
  
      // .... perform SQL code here
  
      myConnection.close();
  }
         
        </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 align="justify">
         Notice that once you obtained your connection, you did nothing out of 
the
         ordinary to return the connection to the pool?  This is by design, and 
a
         result of the JDBC specification.  Basically the JDBC specification 
states
         that if a driver implements pooled connections, then it should not 
alter
         the way those connections are used.  This maintains the portability of
         your code.
        </p>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
     
  </font></td>
  </tr>
  </table>
  </div>
  <br> 
    
  
  </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-2001 The Apache Software Foundation. 
All Rights Reserved.</i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  xml-site/targets/cocoon/developing/extending.html
  
  Index: extending.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Extending Apache Cocoon</title>
  <script type="text/javascript" src="resources/script.js" 
language="JavaScript"></script>
  </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" colspan="2" align="left" 
valign="top" height="5" width="100%"><img align="left" border="0" vspace="0" 
hspace="0" src="images/line.gif" height="5" width="1"></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%"><img align="right" alt="Extending Apache Cocoon" border="0" 
vspace="0" hspace="0" src="graphics/extending-header.jpg_label=Extending Apache 
Cocoon.jpg"></td>
  </tr>
  <tr>
  <td background="images/bottom.gif" bgcolor="#0086b2" align="left" 
valign="top" height="20" width="100%"><img align="left" border="0" vspace="0" 
hspace="0" src="images/bottom.gif" height="20" width="3"></td><td 
background="images/bottom.gif" width="288" 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 
onMouseOver="rolloverOn('xml');" onMouseOut="rolloverOff('xml');" target="new" 
href="http://xml.apache.org/";><img onLoad="rolloverLoad('xml', 
'images/button-xml-hi.gif', 'images/button-xml-lo.gif');" 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 onMouseOver="rolloverOn('asf');" onMouseOut="rolloverOff('asf');" 
target="new" href="http://www.apache.org/";><img onLoad="rolloverLoad('asf', 
'images/button-asf-hi.gif', 'images/button-asf-lo.gif');" 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 onMouseOver="rolloverOn('w3c');" onMouseOut="rolloverOff('w3c');" 
target="new" href="http://www.w3.org/";><img onLoad="rolloverLoad('w3c', 
'images/button-w3c-hi.gif', 'images/button-w3c-lo.gif');" 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 valign="top" width="120">
  <table width="120" cellspacing="0" cellpadding="0" border="0">
  <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>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Main')" 
onMouseOut="rolloverOff('Main')" href="../index.html"><img 
onLoad="rolloverLoad('Main', 'graphics/Main-label_over.jpg', 
'graphics/Main-label.jpg');" vspace="0" hspace="0" name="Main" width="120" 
height="12" border="0" src="graphics/Main-label.jpg" alt="Main"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><img alt="Concepts" width="120" vspace="0" 
src="graphics/Concepts-separator.jpg" hspace="0" height="20" border="0"><br>
  </td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Flow')" 
onMouseOut="rolloverOff('Flow')" href="httprequest.html"><img 
onLoad="rolloverLoad('Flow', 'graphics/Flow-label_over.jpg', 
'graphics/Flow-label.jpg');" vspace="0" hspace="0" name="Flow" width="120" 
height="12" border="0" src="graphics/Flow-label.jpg" alt="Flow"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Extending C2')" 
onMouseOut="rolloverOff('Extending C2')" href="extending.html"><img 
onLoad="rolloverLoad('Extending C2', 'graphics/Extending C2-label_over.jpg', 
'graphics/Extending C2-label.jpg');" vspace="0" hspace="0" name="Extending C2" 
width="120" height="12" border="0" src="graphics/Extending C2-label.jpg" 
alt="Extending C2"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Avalon')" 
onMouseOut="rolloverOff('Avalon')" href="avalon.html"><img 
onLoad="rolloverLoad('Avalon', 'graphics/Avalon-label_over.jpg', 
'graphics/Avalon-label.jpg');" vspace="0" hspace="0" name="Avalon" width="120" 
height="12" border="0" src="graphics/Avalon-label.jpg" alt="Avalon"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Using Databases')" 
onMouseOut="rolloverOff('Using Databases')" href="datasources.html"><img 
onLoad="rolloverLoad('Using Databases', 'graphics/Using 
Databases-label_over.jpg', 'graphics/Using Databases-label.jpg');" vspace="0" 
hspace="0" name="Using Databases" width="120" height="12" border="0" 
src="graphics/Using Databases-label.jpg" alt="Using Databases"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Parent CM')" 
onMouseOut="rolloverOff('Parent CM')" href="parent-component-manager.html"><img 
onLoad="rolloverLoad('Parent CM', 'graphics/Parent CM-label_over.jpg', 
'graphics/Parent CM-label.jpg');" vspace="0" hspace="0" name="Parent CM" 
width="120" height="12" border="0" src="graphics/Parent CM-label.jpg" 
alt="Parent CM"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><img alt="Java" width="120" vspace="0" 
src="graphics/Java-separator.jpg" hspace="0" height="20" border="0"><br>
  </td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('API (Javadoc)')" 
onMouseOut="rolloverOff('API (Javadoc)')" target="new" 
href="../apidocs/index.html"><img onLoad="rolloverLoad('API (Javadoc)', 
'graphics/API (Javadoc)-label_over.jpg', 'graphics/API (Javadoc)-label.jpg');" 
width="120" vspace="0" name="API (Javadoc)" hspace="0" height="12" border="0" 
src="graphics/API (Javadoc)-label.jpg" alt="API (Javadoc)"></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="0" cellpadding="0" border="0">
  <tr>
  <td height="10" width="100%"></td>
  </tr>
  <tr>
  <td>
        
        
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="+1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Introduction</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                        
  <p align="justify">If you want to extend the functionality of Apache Cocoon, 
it may be unclear
                  how to achieve your goal. This page tries to indicate when to 
write what, and
                  to give an overview of what already exists (so you don't 
duplicate other's
                  efforts).</p>
                
  </font></td>
  </tr>
  </table>
  </div>
  <br>
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="+1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>When to write a 
Generator</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                        
  <p align="justify">From the sitemap documentation: "A <code><font 
face="courier, monospaced">Generator</font></code> generates
                  XML content as SAX events and initializes the pipeline 
processing. "</p>
                        
  <p align="justify">Thus a <code><font face="courier, 
monospaced">Generator</font></code> is the starting point of a pipeline: it
                  produces the first SAX events on which all other components 
of the pipeline are
                  triggered.</p>
                        
  <p align="justify">You may want to write a <code><font face="courier, 
monospaced">Generator</font></code> if you want some other
                  basis for your SAX events (maybe you want a SAX event every 
time the
                  temperature of your CPU changes?) However, before writing a
                  <code><font face="courier, 
monospaced">Generator</font></code> from scratch, it may be worthwhile to have 
a look at
                  <a href="#xsp">XSP</a>, which can create a <code><font 
face="courier, monospaced">Generator</font></code> for
                you.</p>
                        
  <p align="justify">Existing <code><font face="courier, 
monospaced">Generator</font></code>s are: </p>
                        
  <blockquote>
  <ul>
                                
  <li>
                                        
  <code><font face="courier, monospaced">DirectoryGenerator</font></code> - 
Generates an XML directory
                         listing.</li>
                                
  <li>
                                        
  <code><font face="courier, monospaced">FileGenerator</font></code> - Does the 
job of an XML parser: read an
                         XML file and outputs SAX events.</li>
                                
  <li>
                                        
  <code><font face="courier, monospaced">HTMLGenerator</font></code> - Takes an 
HTML URL, makes an XHTML of
                         it, and outputs the SAX events caused by this 
XHTML.</li>
                                
  <li>
                                        
  <code><font face="courier, monospaced">ImageDirectoryGenerator</font></code> 
- An extension of
                         DirectoryGenerators that adds extra attributes for 
image files. </li>
                                
  <li>
                                        
  <code><font face="courier, monospaced">PhpGenerator</font></code> - Allows 
PHP to be used as a generator.
                         Builds upon the PHP servlet functionality. Overrides 
the output method in
                         order to pipe the results into SAX events.</li>
                                
  <li>
                                        
  <code><font face="courier, monospaced">RequestGenerator</font></code> - 
[FIXME: This looks like just
                         outputing the request headers, the request parameters 
and the configuration
                         parameters. But I don't see any use of it (besides 
debugging and
                         demonstration). Are there other situations in which 
you might want to use
                         this?]</li>
                                
  <li>
                                        
  <code><font face="courier, monospaced">ServerPagesGenerator</font></code> - 
Makes a <code><font face="courier, monospaced">Generator</font></code>
                         at compile time, based on the <code><font 
face="courier, monospaced">src</font></code> file you define in the sitemap.
                         This one is responsible for making your XSP pages 
work.</li>
                                
  <li>
                                        
  <code><font face="courier, monospaced">StatusGenerator</font></code> - 
Generates an XML representation of
                         the current status of Cocoon. This can be considered 
"for administration use",
                         i.e. your application probably won't deal with this 
one.</li>
                        
  </ul>
  </blockquote>
                        
  <p align="justify">All these classes are in the <code><font face="courier, 
monospaced">org.apache.cocoon.generation</font></code>
                  package. In the same package, you find following helper 
classes and
                  interfaces:</p>
                        
  <blockquote>
  <ul>
                                
  <li>
                                        
  <code><font face="courier, monospaced">Generator</font></code> - The 
interface you have to implement if you
                         want to write a <code><font face="courier, 
monospaced">Generator</font></code>.</li>
                                
  <li>
                                        
  <code><font face="courier, monospaced">AbstractGenerator</font></code> - 
Extend this one for easier
                         building of your own <code><font face="courier, 
monospaced">Generator</font></code>.</li>
                                
  <li>
                                        
  <code><font face="courier, monospaced">AbstractServerPage</font></code> - 
[FIXME: This seems to be intended
                         as basis for the <code><font face="courier, 
monospaced">ServerPagesGenerator</font></code>, but it seems to be obsolete
                         now?]</li>
                                
  <li>
                                        
  <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>.</li>
                                
  <li>
                                        
  <code><font face="courier, monospaced">ServletGenerator</font></code> - If 
you want to generate servlets.
                  This is the base class for the <code><font face="courier, 
monospaced">ServerPagesGenerator</font></code>.</li>
                        
  </ul>
  </blockquote>
                
  </font></td>
  </tr>
  </table>
  </div>
  <br>
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="+1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>When to write a 
Transformer</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                        
  <p align="justify">Let's start again from the sitemap documentation: "A
                  <code><font face="courier, 
monospaced">Transformer</font></code> transforms SAX events in SAX events." In 
other words,
                  a <code><font face="courier, 
monospaced">Transformer</font></code> outputs SAX events based on SAX events it
                  receives.</p>
                        
  <p align="justify">You can imagine a <code><font face="courier, 
monospaced">Transformer</font></code> doing many things, from
                  XSLT processing over database querying to sending mail (and 
much further, of
                  course).</p>
                        
  <p align="justify">These <code><font face="courier, 
monospaced">Transformer</font></code>s are standard available:</p>
                        
  <blockquote>
  <ul>
                                
  <li>
                                        
  <code><font face="courier, monospaced">LogTransformer</font></code> - This is 
a class that can be plugged
                         into a pipeline to print the SAX events which passes 
through this
                         <code><font face="courier, 
monospaced">Transformer</font></code> in a readable form to a file. This
                         <code><font face="courier, 
monospaced">Transformer</font></code>'s main purpose is debugging.</li>
                                
  <li>
                                        
  <code><font face="courier, monospaced">SQLTransformer</font></code> - Can be 
used for querying a SQL
                         database.</li>
                                
  <li>
                                        
  <code><font face="courier, monospaced">XalanTransformer</font></code> - 
Probably the most intuitive
                         <code><font face="courier, 
monospaced">Transformer</font></code>: it applies an XSL sheet to the SAX 
events it
                         receives. It uses Xalan in the process.</li>
                                
  <li>
                                        
  <code><font face="courier, monospaced">XIncludeTransformer</font></code> - To 
include other XML documents
                         in your "XML document" (which at transformation time 
exists in SAX
                         events).</li>
                                
  <li>
                                        
  <code><font face="courier, monospaced">XTTransformer</font></code> - The same 
as
                         <code><font face="courier, 
monospaced">XalanTransformer</font></code>, but this one uses XT.</li>
                        
  </ul>
  </blockquote>
                        
  <p align="justify">All these classes can be found in
                  <code><font face="courier, 
monospaced">org.apache.cocoon.transformation</font></code>, along with these 
helper classes
                  and interfaces:</p>
                        
  <blockquote>
  <ul>
                                
  <li>
                                        
  <code><font face="courier, monospaced">Transformer</font></code> - The 
interface each Transformer has to
                         implement.</li>
                                
  <li>
                                        
  <code><font face="courier, monospaced">AbstractTransformer</font></code> - A 
helper base class for
                         implementing a <code><font face="courier, 
monospaced">Transformer</font></code>.</li>
                                
  <li>
                                        
  <code><font face="courier, monospaced">AbstractDOMTransformer</font></code> - 
An Abstract DOM Transformer
                         (helper base class), for use when a transformer needs 
a DOM-based view of the
                         document.</li>
                        
  </ul>
  </blockquote>
                
  </font></td>
  </tr>
  </table>
  </div>
  <br>
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="+1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>When to write a 
Serializer</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                        
  <p align="justify">No need for re-inventing the wheel, so let's start again 
with the
                  sitemap documentation: "A <code><font face="courier, 
monospaced">Serializer</font></code> transforms SAX events in
                  binary or char streams for final client consumption." A 
<code><font face="courier, monospaced">Serializer</font></code>
                  is always the last step in a pipeline, and gives the client 
its final result:
                  an HTML page, a nice PNG picture, a sound stream, or maybe 
just an XML
                  document.</p>
                        
  <p align="justify">You should write a <code><font face="courier, 
monospaced">Serializer</font></code> if you want to serve a  client with some 
format that hasn't been provided yet.</p>
                        
  <p align="justify">Existing <code><font face="courier, 
monospaced">Serializer</font></code>s:</p>
                        
  <blockquote>
  <ul>
                                
  <li>
                                        
  <code><font face="courier, monospaced">FOPSerializer</font></code>- Make PDF 
files.</li>
                                
  <li>
                                        
  <code><font face="courier, monospaced">HTMLSerializer</font></code> - 
Generate an HTML document.</li>
                                
  <li>
                                        
  <code><font face="courier, monospaced">LinkSerializer</font></code>- Show the 
targets of the links in the document.</li>
                                
  <li>
                                        
  <code><font face="courier, monospaced">SVGSerializer</font></code>- To 
construct an SVG.</li>
                                
  <li>
                                        
  <code><font face="courier, monospaced">TextSerializer</font></code> - 
Generate a text document.</li>
                                
  <li>
                                        
  <code><font face="courier, monospaced">XMLSerializer</font></code> - Generate 
an XML document.</li>
                        
  </ul>
  </blockquote>
                        
  <p align="justify">Again, these can be found in the package <code><font 
face="courier, monospaced">org.apache.cocoon.serialization</font></code>. And 
this package also includes following interfaces and helper classes:</p>
                        
  <blockquote>
  <ul>
                                
  <li>
                                        
  <code><font face="courier, monospaced">Serializer</font></code> - The 
interface every <code><font face="courier, monospaced">Serializer</font></code> 
has to implement.</li>
                                
  <li>
                                        
  <code><font face="courier, monospaced">AbstractTextSerializer</font></code> - 
Use this as base for your <code><font face="courier, 
monospaced">Serializer</font></code> if you want to output a character 
stream.</li>
                                
  <li>
                                        
  <code><font face="courier, monospaced">AbstractSerializer</font></code> - A 
more general base class.</li>
                        
  </ul>
  </blockquote>
                
  </font></td>
  </tr>
  </table>
  </div>
  <br>
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="+1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>About Action</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                        
  <p align="justify">[FIXME: We have to wait until we can see what is going to 
happen here. Also, I wonder if this belongs here or should deserve a separate 
page.]</p>
                        
  <p align="justify">The Action part will be used for making Cocoon able to 
react on form input. This will make Cocoon no longer a simple basis for web 
publishing, but will make it apt for web interaction as well.</p>
                
  </font></td>
  </tr>
  </table>
  </div>
  <br>
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="+1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>About XSP</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                        <a name="xsp">
  <!--anchor--></a>
                        
  <p align="justify">XSP stands for "eXtensible Server Pages". It is the idea 
to program <code><font face="courier, monospaced">Generator</font></code>s by 
means of XML. The basic idea is to put XML tags like <code><font face="courier, 
monospaced">&lt;xsp:logic&gt;</font></code> in your XML file, with in those 
tags Java code.</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="#000000" face="arial,helvetica,sanserif" size="-1"><i>This is not the 
proper way to use XSP's. I just mentioned them here so you wouldn't forget 
their existence. Look to the <a href="../userdocs/xsp/xsp.html">XSP page</a> 
for more information.</i></font></td>
  </tr>
  </table>
  </p>
                
  </font></td>
  </tr>
  </table>
  </div>
  <br>
        
  
  </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-2001 The Apache Software Foundation. 
All Rights Reserved.</i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  xml-site/targets/cocoon/developing/httprequest.html
  
  Index: httprequest.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Request Processing</title>
  <script type="text/javascript" src="resources/script.js" 
language="JavaScript"></script>
  </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" colspan="2" align="left" 
valign="top" height="5" width="100%"><img align="left" border="0" vspace="0" 
hspace="0" src="images/line.gif" height="5" width="1"></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%"><img align="right" alt="Request Processing" border="0" vspace="0" 
hspace="0" src="graphics/httprequest-header.jpg_label=Request 
Processing.jpg"></td>
  </tr>
  <tr>
  <td background="images/bottom.gif" bgcolor="#0086b2" align="left" 
valign="top" height="20" width="100%"><img align="left" border="0" vspace="0" 
hspace="0" src="images/bottom.gif" height="20" width="3"></td><td 
background="images/bottom.gif" width="288" 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 
onMouseOver="rolloverOn('xml');" onMouseOut="rolloverOff('xml');" target="new" 
href="http://xml.apache.org/";><img onLoad="rolloverLoad('xml', 
'images/button-xml-hi.gif', 'images/button-xml-lo.gif');" 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 onMouseOver="rolloverOn('asf');" onMouseOut="rolloverOff('asf');" 
target="new" href="http://www.apache.org/";><img onLoad="rolloverLoad('asf', 
'images/button-asf-hi.gif', 'images/button-asf-lo.gif');" 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 onMouseOver="rolloverOn('w3c');" onMouseOut="rolloverOff('w3c');" 
target="new" href="http://www.w3.org/";><img onLoad="rolloverLoad('w3c', 
'images/button-w3c-hi.gif', 'images/button-w3c-lo.gif');" 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 valign="top" width="120">
  <table width="120" cellspacing="0" cellpadding="0" border="0">
  <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>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Main')" 
onMouseOut="rolloverOff('Main')" href="../index.html"><img 
onLoad="rolloverLoad('Main', 'graphics/Main-label_over.jpg', 
'graphics/Main-label.jpg');" vspace="0" hspace="0" name="Main" width="120" 
height="12" border="0" src="graphics/Main-label.jpg" alt="Main"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><img alt="Concepts" width="120" vspace="0" 
src="graphics/Concepts-separator.jpg" hspace="0" height="20" border="0"><br>
  </td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Flow')" 
onMouseOut="rolloverOff('Flow')" href="httprequest.html"><img 
onLoad="rolloverLoad('Flow', 'graphics/Flow-label_over.jpg', 
'graphics/Flow-label.jpg');" vspace="0" hspace="0" name="Flow" width="120" 
height="12" border="0" src="graphics/Flow-label.jpg" alt="Flow"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Extending C2')" 
onMouseOut="rolloverOff('Extending C2')" href="extending.html"><img 
onLoad="rolloverLoad('Extending C2', 'graphics/Extending C2-label_over.jpg', 
'graphics/Extending C2-label.jpg');" vspace="0" hspace="0" name="Extending C2" 
width="120" height="12" border="0" src="graphics/Extending C2-label.jpg" 
alt="Extending C2"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Avalon')" 
onMouseOut="rolloverOff('Avalon')" href="avalon.html"><img 
onLoad="rolloverLoad('Avalon', 'graphics/Avalon-label_over.jpg', 
'graphics/Avalon-label.jpg');" vspace="0" hspace="0" name="Avalon" width="120" 
height="12" border="0" src="graphics/Avalon-label.jpg" alt="Avalon"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Using Databases')" 
onMouseOut="rolloverOff('Using Databases')" href="datasources.html"><img 
onLoad="rolloverLoad('Using Databases', 'graphics/Using 
Databases-label_over.jpg', 'graphics/Using Databases-label.jpg');" vspace="0" 
hspace="0" name="Using Databases" width="120" height="12" border="0" 
src="graphics/Using Databases-label.jpg" alt="Using Databases"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Parent CM')" 
onMouseOut="rolloverOff('Parent CM')" href="parent-component-manager.html"><img 
onLoad="rolloverLoad('Parent CM', 'graphics/Parent CM-label_over.jpg', 
'graphics/Parent CM-label.jpg');" vspace="0" hspace="0" name="Parent CM" 
width="120" height="12" border="0" src="graphics/Parent CM-label.jpg" 
alt="Parent CM"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><img alt="Java" width="120" vspace="0" 
src="graphics/Java-separator.jpg" hspace="0" height="20" border="0"><br>
  </td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('API (Javadoc)')" 
onMouseOut="rolloverOff('API (Javadoc)')" target="new" 
href="../apidocs/index.html"><img onLoad="rolloverLoad('API (Javadoc)', 
'graphics/API (Javadoc)-label_over.jpg', 'graphics/API (Javadoc)-label.jpg');" 
width="120" vspace="0" name="API (Javadoc)" hspace="0" height="12" border="0" 
src="graphics/API (Javadoc)-label.jpg" alt="API (Javadoc)"></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="0" cellpadding="0" border="0">
  <tr>
  <td height="10" width="100%"></td>
  </tr>
  <tr>
  <td> 
    
    
         
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="+1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Introduction</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Goal</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                  
  <p align="justify">This document tries to explain Apache Cocoon (based on the 
version 2.0)
                         technically. We do this by describing what happens if 
somebody types in the URL
                         of a simple Cocoon page.</p> 
                
  </font></td>
  </tr>
  </table>
  </div>
  <br> 
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Intended 
public</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif"> 
                  
  <p align="justify">The reader should have a knowledge of:</p> 
                  
  <blockquote>
  <ul> 
                         
  <li>the Java 2 platform</li>
                         
  <li>the javax.servlet extensions</li> 
                         
  <li>XML</li> 
                         
  <li>HTTP</li> 
                  
  </ul>
  </blockquote> 
                
  </font></td>
  </tr>
  </table>
  </div>
  <br> 
         
  </font></td>
  </tr>
  </table>
  </div>
  <br> 
         
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="+1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>The configuration 
assumptions</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif"> 
                
  <p align="justify">The sequence of events described in this document, depends 
on some
                  assumptions with regard to the configuration of Cocoon. 
That's what's described
                  here.</p>
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>sitemap.xmap</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                  
  <p align="justify">The task of the sitemap is to define the pipelines that 
Cocoon will
                         apply to URI's called in one's browser.</p>
                  
  <p align="justify">This is the minimal sitemap that is necessary. The lines 
here are
                         included in the standard sitemap.xmap that comes with 
the distribution of
                         Cocoon 2.0.</p>
                  
  <p align="justify">The sitemap is defined in <code><font face="courier, 
monospaced">${cocoon}/sitemap.xmap</font></code>.</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;?xml version="1.0"?&gt;
            
  &lt;map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0"&gt; 
            
    
&lt;!--===========================Components================================--&gt;
    &lt;map:components&gt;
            
      &lt;map:generators default="file"&gt;
      &lt;map:generator name="file" label="content" 
                     src="org.apache.cocoon.generation.FileGenerator"/&gt; 
      &lt;/map:generators&gt; 
  
      &lt;map:transformers default="xslt"&gt;
        &lt;map:transformer name="xslt"
                         
src="org.apache.cocoon.transformation.XalanTransformer"&gt;
          &lt;compile-stylesheets map:value="true"/&gt; 
        &lt;/map:transformer&gt; 
      &lt;/map:transformers&gt;
  
      &lt;map:serializers default="html"&gt;
        &lt;map:serializer name="html" mime-type="text/html" 
                        
src="org.apache.cocoon.serialization.HTMLSerializer"/&gt; 
      &lt;/map:serializers&gt;
  
      &lt;map:selectors default="browser"&gt;
        &lt;map:selector name="browser" 
                      
factory="org.apache.cocoon.selection.BrowserSelectorFactory"&gt;
          &lt;browser name="explorer" useragent="MSIE"/&gt;
          &lt;browser name="netscape" useragent="Mozilla"/&gt; 
        &lt;/map:selector&gt; 
      &lt;/map:selectors&gt;
  
      &lt;map:matchers default="uri"&gt;
        &lt;map:matcher name="uri" 
                     
factory="org.apache.cocoon.matching.WildcardURIMatcherFactory"/&gt;
      &lt;/map:matchers&gt; 
  
    &lt;/map:components&gt; 
            
    
&lt;!--===========================Pipelines=================================--&gt;
    &lt;map:pipelines&gt; 
      &lt;map:pipeline&gt; 
        &lt;map:match pattern="hello.html"&gt;
          &lt;map:generate src="docs/samples/hello-page.xml"/&gt;
          &lt;map:transform src="stylesheets/page/simple-page2html.xsl"/&gt;
          &lt;map:serialize type="html"/&gt; 
        &lt;/map:match&gt; 
      &lt;/map:pipeline&gt; 
    &lt;/map:pipelines&gt;
            
  &lt;/map:sitemap&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></td>
  </tr>
  </table>
  </div>
  <br> 
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>cocoon.xconf</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif"> 
                  
  <p align="justify">
  <code><font face="courier, monospaced">cocoon.xconf</font></code> is the file 
that defines the
                         <a href="avalon.html">Avalon</a> Components.</p>
                  
  <p align="justify">For our study, we need the standard <code><font 
face="courier, monospaced">cocoon.xconf</font></code> file
                         of Cocoon 2.0.</p>
                  
  <p align="justify">It can be found in <code><font face="courier, 
monospaced">${cocoon}/cocoon.xconf</font></code>.</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;?xml version="1.0"?&gt;
  
  &lt;cocoon version="2.0"&gt;
  
  &lt;!-- ===================== General Components =========================== 
--&gt;
  
    &lt;component role="org.apache.cocoon.components.parser.Parser" 
               class="org.apache.cocoon.components.parser.JaxpParser"/&gt;
    &lt;component role="org.apache.cocoon.components.store.Store"  
               class="org.apache.cocoon.components.store.MemoryStore"/&gt;
  
    &lt;component
        
role="org.apache.cocoon.components.language.programming.ProgrammingLanguageSelector"
        class="org.apache.cocoon.CocoonComponentSelector"&gt;
      &lt;component-instance name="java" 
        
class="org.apache.cocoon.components.language.programming.java.JavaLanguage"&gt;
        &lt;parameter name="compiler" 
        
value="org.apache.cocoon.components.language.programming.java.Javac"/&gt;
        &lt;parameter name="code-formatter" 
        
value="org.apache.cocoon.components.language.programming.java.JstyleFormatter"/&gt;
        &lt;parameter name="class-loader" 
        
value="org.apache.cocoon.components.classloader.ClassLoaderManagerImpl"/&gt;
      &lt;/component-instance&gt;
    &lt;/component&gt;
  
    &lt;component 
role="org.apache.cocoon.components.classloader.ClassLoaderManager" 
        
class="org.apache.cocoon.components.classloader.ClassLoaderManagerImpl"/&gt;
  
    &lt;component
        
role="org.apache.cocoon.components.language.markup.MarkupLanguageSelector"
        class="org.apache.cocoon.CocoonComponentSelector"&gt;
      &lt;component-instance name="xsp" 
          
class="org.apache.cocoon.components.language.markup.xsp.XSPMarkupLanguage"&gt;
        &lt;parameter name="prefix" value="xsp"/&gt;
        &lt;parameter name="uri" value="http://apache.org/xsp"/&gt;
  
        &lt;target-language name="java"&gt;
          &lt;parameter name="core-logicsheet" 
  
value="resource://org/apache/cocoon/components/language/markup/xsp/java/xsp.xsl"/&gt;
  
          &lt;builtin-logicsheet&gt;
            &lt;parameter name="prefix" value="xsp-request"/&gt;
            &lt;parameter name="uri" 
value="http://apache.org/xsp/request/2.0"/&gt;
            &lt;parameter name="href" 
  
value="resource://org/apache/cocoon/components/language/markup/xsp/java/request.xsl"/&gt;
          &lt;/builtin-logicsheet&gt;
  
          &lt;builtin-logicsheet&gt;
            &lt;parameter name="prefix" value="xsp-response"/&gt;
            &lt;parameter name="uri" 
value="http://apache.org/xsp/response/2.0"/&gt;
            &lt;parameter name="href" 
  
value="resource://org/apache/cocoon/components/language/markup/xsp/java/response.xsl"/&gt;
          &lt;/builtin-logicsheet&gt;
        &lt;/target-language&gt;
      &lt;/component-instance&gt;
  
      &lt;component-instance name="sitemap" 
         
class="org.apache.cocoon.components.language.markup.sitemap.SitemapMarkupLanguage"&gt;
        &lt;parameter name="prefix" value="map"/&gt;
        &lt;parameter name="uri" 
value="http://apache.org/cocoon/sitemap/1.0"/&gt;
  
        &lt;target-language name="java"&gt;
          &lt;parameter name="core-logicsheet" 
  
value="resource://org/apache/cocoon/components/language/markup/sitemap/java/sitemap.xsl"/&gt;
        &lt;/target-language&gt;
      &lt;/component-instance&gt;
    &lt;/component&gt;
  
    &lt;component 
role="org.apache.cocoon.components.language.generator.ProgramGenerator" 
               
class="org.apache.cocoon.components.language.generator.ProgramGeneratorImpl"&gt;
      &lt;parameter name="auto-reload" value="true"/&gt;
    &lt;/component&gt;
  
    &lt;!-- these components is used as a PoolController for the sitemap 
component pools  --&gt;
    &lt;component role="org.apache.avalon.util.pool.PoolController" 
               class="org.apache.cocoon.util.ComponentPoolController"/&gt;
  
    &lt;sitemap file="sitemap.xmap"/&gt; 
  &lt;/cocoon&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></td>
  </tr>
  </table>
  </div>
  <br> 
         
  </font></td>
  </tr>
  </table>
  </div>
  <br> 
         
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="+1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>The sequence of 
things</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif"> 
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Role of Tomcat</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif"> 
                  
  <p align="justify">The role of Tomcat is to initialize the CocoonServlet, and 
to
                         receive the HttpRequest and pass it on to the 
CocoonServlet.</p> 
                  
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="90%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="-1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Initialize 
CocoonServlet</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="90%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif"> 
                         
  <p align="justify">This is done by calling
                                <code><font face="courier, 
monospaced">CocoonServlet.init(ServletConfig)</font></code>. This is the 
standard servlet
                                way to initialize a servlet.</p> 
                  
  </font></td>
  </tr>
  </table>
  </div>
  <br> 
                  
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="90%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="-1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Pass 
HttpRequest</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="90%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif"> 
                         
  <p align="justify">On reception of a HttpRequest, Tomcat calls
                                <code><font face="courier, 
monospaced">CocoonServlet.service(HttpRequest, HttpResponse)</font></code>. 
This is also
                                standard.</p> 
                  
  </font></td>
  </tr>
  </table>
  </div>
  <br> 
                
  </font></td>
  </tr>
  </table>
  </div>
  <br> 
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Initialization</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif"> 
                  
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="90%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="-1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Overview</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="90%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif"> 
                         
  <p align="justify">The steps that happen on initialization, are:</p> 
                         
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="85%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="-2"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Find the 
classpath</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="85%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif"> 
                                
  <p align="justify">Cocoon needs to know the classpath for compilation of the 
files
                                  it generates itself. This is where the 
classpath is stored.</p> 
                         
  </font></td>
  </tr>
  </table>
  </div>
  <br> 
                         
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="85%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="-2"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Find the init 
file</b></font></td><td background="images/bar-border-right.gif" width="9"><img 
border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="85%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif"> 
                                
  <p align="justify">The init file (normally <code><font face="courier, 
monospaced">cocoon.xconf</font></code>, as defined in
                                  <code><font face="courier, 
monospaced">${cocoon}/WEB-INF/web.xml</font></code>) contains the necessary 
information for
                                  Cocoon to decide which classes to use for 
which roles (refer to
                                  <a href="avalon.html">Avalon</a>).</p>
                                
  <p align="justify">This is a feature that is added for increased 
configurability.
                                  If you were developing a one time solution, 
the information in this file would
                                  normally be hard coded, but the use of this 
file increases potential
                                  reusability.</p> 
                         
  </font></td>
  </tr>
  </table>
  </div>
  <br> 
                         
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="85%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="-2"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Read the init 
file</b></font></td><td background="images/bar-border-right.gif" width="9"><img 
border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="85%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif"> 
                                
  <p align="justify">The init file is an xml file (normally
                                  <code><font face="courier, 
monospaced">cocoon.xconf</font></code>) which describes the classes to use for 
which
                                  roles.</p> 
                                
  <p align="justify">"Roles" are a concept of <a 
href="avalon.html">Avalon</a>.</p> 
                                
  <p align="justify">The handling of <code><font face="courier, 
monospaced">cocoon.xconf</font></code> goes as follows:</p> 
                                
  <blockquote>
  <ol> 
                                  
  <li>Get the parser: This is something necessary for
                                         bootstrapping: cocoon.xconf contains 
the parser to be used by Cocoon, but
                                         cocoon.xconf is an xml file that has 
to be parsed itself. That's why Cocoon
                                         gets a default parser out of the 
System properties (this refers to the
                                         environment variable <code><font 
face="courier, 
monospaced">$org.apache.cocoon.components.parser.Parser</font></code>
                                         of the OS). If no parser is defined in 
the environment, Cocoon will use
                                         <code><font face="courier, 
monospaced">org.apache.cocoon.components.parser.JaxpParser</font></code> (a 
hard-coded
                                         default).</li> 
                                  
  <li>Get the components: Cocoon uses roles (refer to
                                         <a href="avalon.html">Avalon</a>) as 
its working classes. Each role is
                                implemented by one or more real classes 
(components, again an
                                <a href="avalon.html">Avalon</a> concept). This 
is where they are
                                retrieved.</li> 
                                
  <li>Get the sitemap: Here the location of the sitemap is retrieved.
                                  The actual compilation of the sitemap occurs 
in the HttpRequest handling.</li> 
                                
  </ol>
  </blockquote> 
                         
  </font></td>
  </tr>
  </table>
  </div>
  <br> 
                  
  </font></td>
  </tr>
  </table>
  </div>
  <br> 
                  
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="90%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="-1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>UML sequence 
diagram</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="90%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                         
  <p align="justify">You can find it <a 
href="images/initialize_Cocoon.png">here</a>.</p> 
                  
  </font></td>
  </tr>
  </table>
  </div>
  <br> 
                
  </font></td>
  </tr>
  </table>
  </div>
  <br> 
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>HttpRequest 
handling</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif"> 
                  
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="90%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="-1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Overview</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="90%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif"> 
                         
  <p align="justify">When the <code><font face="courier, 
monospaced">CocoonServlet</font></code> gets a HttpRequest from the
                                servlet engine, it sets up an <code><font 
face="courier, monospaced">Environment</font></code> (a
                                <code><font face="courier, 
monospaced">HttpEnvironment</font></code> in this case) and passes that to
                                <code><font face="courier, 
monospaced">Cocoon</font></code>. The <code><font face="courier, 
monospaced">Environment</font></code> exists of Request, Response,
                                and some servlet info (such as requested URI 
and the servlet's path).</p> 
                         
  <p align="justify">This <code><font face="courier, 
monospaced">Cocoon</font></code> object lets the <code><font face="courier, 
monospaced">Environment</font></code>
                                decide which sitemap to use, and passes the 
sitemap filename along with the
                                <code><font face="courier, 
monospaced">Environment</font></code> to a <code><font face="courier, 
monospaced">Manager</font></code>. </p> 
                         
  <p align="justify">This one puts a <code><font face="courier, 
monospaced">Handler</font></code> to work: it checks whether
                                there already exists a <code><font 
face="courier, monospaced">Handler</font></code> with a compiled version of the
                                sitemap. If not, it creates one. This is what 
happens then:</p> 
                         
  <blockquote>
  <ol> 
                                
  <li>The <code><font face="courier, monospaced">Handler</font></code> creates 
a <code><font face="courier, monospaced">File</font></code> object
                                  with the asked URL.</li> 
                                
  <li>The <code><font face="courier, monospaced">Manager</font></code> sets the 
<code><font face="courier, monospaced">Composer</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).</li> 
                         
  <li>If necessary, the <code><font face="courier, 
monospaced">Manager</font></code> asks the
                                <code><font face="courier, 
monospaced">Handler</font></code> to regenerate its sitemap class. (FIXME: As 
of today,
                                2000-11-08, I'm not sure if the "if necessary" 
check is working). Regeneration
                                exists in: 
                                <blockquote>
  <ol> 
                                  
  <li>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>.</li> 
                                  
  <li>The <code><font face="courier, monospaced">load()</font></code> method of 
this
                                         <code><font face="courier, 
monospaced">ProgramGeneratorImpl</font></code> is called. </li> 
                                  
  <li>The <code><font face="courier, 
monospaced">ProgramGeneratorImpl</font></code> gets the
                                         <code><font face="courier, 
monospaced">"markup-language"</font></code> (in this case it will get a
                                         <code><font face="courier, 
monospaced">SitemapMarkupLanguage</font></code>) and <code><font face="courier, 
monospaced">"programming-language"</font></code>
                                         (being <code><font face="courier, 
monospaced">JavaLanguage</font></code>) <code><font face="courier, 
monospaced">Component</font></code>s. </li> 
                                  
  <li>The <code><font face="courier, 
monospaced">ProgramGeneratorImpl</font></code> asks the
                                         <code><font face="courier, 
monospaced">SitemapMarkupLanguage</font></code> to generate code.</li> 
                                  
  <li>Then it asks the <code><font face="courier, 
monospaced">JavaLanguage</font></code> to load the code.
                                         The <code><font face="courier, 
monospaced">JavaLanguage</font></code> does this by creating a <code><font 
face="courier, monospaced">Javac</font></code>
                                         object, setting its variables, and 
asking it to compile. Then it loads the
                                         class.</li> 
                                  
  <li>Then its back to the <code><font face="courier, 
monospaced">ProgramGeneratorImpl</font></code> who
                                         tells the <code><font face="courier, 
monospaced">JavaLanguage</font></code> to instantiate the just loaded 
class.</li> 
                                
  </ol>
  </blockquote>
  </li> 
                         
  <li>At last, the sitemapManager asks the <code><font face="courier, 
monospaced">Handler</font></code> to
                                process the <code><font face="courier, 
monospaced">Environment</font></code>, and the <code><font face="courier, 
monospaced">Handler</font></code> just
                                forwards this request to the generated sitemap 
class.</li> 
                         
  </ol>
  </blockquote> 
                  
  </font></td>
  </tr>
  </table>
  </div>
  <br> 
                  
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="90%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="-1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>UML sequence 
diagram</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="90%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                         
  <p align="justify">You can find it <a 
href="images/get_hello_html.png">here</a>.</p> 
                  
  </font></td>
  </tr>
  </table>
  </div>
  <br> 
                
  </font></td>
  </tr>
  </table>
  </div>
  <br> 
         
  </font></td>
  </tr>
  </table>
  </div>
  <br> 
         
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="+1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Description of 
classes</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif"> 
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>CocoonServlet</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif"> 
                  
  <p align="justify">
  <code><font face="courier, 
monospaced">org.apache.cocoon.servlet.CocoonServlet</font></code>
  </p> 
                  
  <p align="justify">This is the contact point for the servlet engine. It sets 
up the
                         environment and passes all the work to a Cocoon 
object.</p> 
                
  </font></td>
  </tr>
  </table>
  </div>
  <br> 
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Cocoon</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif"> 
                  
  <p align="justify">
  <code><font face="courier, monospaced">org.apache.cocoon.Cocoon</font></code>
  </p> 
                  
  <p align="justify">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
                         administrative work and gets other classes to 
work.</p> 
                
  </font></td>
  </tr>
  </table>
  </div>
  <br> 
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" 
src="images/void.gif"><b>ConfigurationBuilder</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif"> 
                  
  <p align="justify">
  <code><font face="courier, 
monospaced">org.apache.avalon.ConfigurationBuilder</font></code>
  </p> 
                  
  <p align="justify">This one generates a Configuration out of a xml file.</p> 
                
  </font></td>
  </tr>
  </table>
  </div>
  <br> 
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Parser</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif"> 
                  
  <p align="justify">
  <code><font face="courier, 
monospaced">org.apache.cocoon.components.parser.Parser</font></code>
  </p> 
                  
  <p align="justify">An interface that takes an xml file and throws SAX events 
to the
                         outside.</p> 
                
  </font></td>
  </tr>
  </table>
  </div>
  <br> 
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Configuration</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif"> 
                  
  <p align="justify">
  <code><font face="courier, 
monospaced">org.apache.avalon.Configuration</font></code>
  </p> 
                  
  <p align="justify">This is an <a href="avalon.html">Avalon</a> interface. It
                  assigns classes to roles. If an object needs a class for a 
specific role, it
                  can ask a Configuration which class it has to use.</p> 
                
  </font></td>
  </tr>
  </table>
  </div>
  <br> 
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" 
src="images/void.gif"><b>DefaultComponentManager</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif"> 
                  
  <p align="justify">
  <code><font face="courier, 
monospaced">org.apache.avalon.DefaultComponentManager</font></code>
  </p> 
                  
  <p align="justify">Something that manages <a href="avalon.html">Avalon</a>
                  Components.</p> 
                
  </font></td>
  </tr>
  </table>
  </div>
  <br> 
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Manager</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif"> 
                  
  <p align="justify">
  <code><font face="courier, 
monospaced">org.apache.cocoon.sitemap.Manager</font></code>
  </p> 
                  
  <p align="justify">This one manages the sitemap: it finds out if there exists 
a Handler
                         for a sitemap, and if not, makes sure that one gets 
created.</p> 
                
  </font></td>
  </tr>
  </table>
  </div>
  <br> 
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Handler</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif"> 
                  
  <p align="justify">
  <code><font face="courier, 
monospaced">org.apache.cocoon.sitemap.Handler</font></code>
  </p> 
                  
  <p align="justify">A class that is responsible for dealing with sitemaps. It 
holds the
                         sourcefile of the sitemap, and the compiled code for 
it. It checks whether the
                         sitemap class that it contains is still valid, and if 
not, regenerates it.</p> 
                
  </font></td>
  </tr>
  </table>
  </div>
  <br> 
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" 
src="images/void.gif"><b>ProgramGenerator</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif"> 
                  
  <p align="justify">
  <code><font face="courier, 
monospaced">org.apache.cocoon.components.language.programming.ProgrammingLanguage</font></code>
  </p>
                  
                  
  <p align="justify">Generates programs.</p> 
                
  </font></td>
  </tr>
  </table>
  </div>
  <br> 
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" 
src="images/void.gif"><b>SitemapMarkupLanguage</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif"> 
                  
  <p align="justify">
  <code><font face="courier, 
monospaced">org.apache.cocoon.components.language.markup.sitemap.SitemapMarkupLanguage</font></code>
  </p>
                  
                  
  <p align="justify">This one knows the markup of the sitemap, and helps 
writing the
                         source file of the sitemap class.</p> 
                
  </font></td>
  </tr>
  </table>
  </div>
  <br> 
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>JavaLanguage</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif"> 
                  
  <p align="justify">
  <code><font face="courier, 
monospaced">org.apache.cocoon.components.language.programming.java.JavaLanguage</font></code>
  </p>
                  
                  
  <p align="justify">This takes care for outputing Java code as source of the 
sitemap
                         class.</p> 
                
  </font></td>
  </tr>
  </table>
  </div>
  <br> 
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" 
src="images/void.gif"><b>ResourcePipeline</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif"> 
                  
  <p align="justify">
  <code><font face="courier, 
monospaced">org.apache.cocoon.sitemap.ResourcePipeline</font></code>
  </p> 
                  
  <p align="justify">Holds the various steps that have to be taken when 
executing a
                         pipeline.</p> 
                
  </font></td>
  </tr>
  </table>
  </div>
  <br> 
         
  </font></td>
  </tr>
  </table>
  </div>
  <br> 
    
  
  </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-2001 The Apache Software Foundation. 
All Rights Reserved.</i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  xml-site/targets/cocoon/developing/index.html
  
  Index: index.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Developer Documentation</title>
  <script type="text/javascript" src="resources/script.js" 
language="JavaScript"></script>
  </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" colspan="2" align="left" 
valign="top" height="5" width="100%"><img align="left" border="0" vspace="0" 
hspace="0" src="images/line.gif" height="5" width="1"></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%"><img align="right" alt="Developer Documentation" border="0" 
vspace="0" hspace="0" src="graphics/index-header.jpg_label=Developer 
Documentation.jpg"></td>
  </tr>
  <tr>
  <td background="images/bottom.gif" bgcolor="#0086b2" align="left" 
valign="top" height="20" width="100%"><img align="left" border="0" vspace="0" 
hspace="0" src="images/bottom.gif" height="20" width="3"></td><td 
background="images/bottom.gif" width="288" 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 
onMouseOver="rolloverOn('xml');" onMouseOut="rolloverOff('xml');" target="new" 
href="http://xml.apache.org/";><img onLoad="rolloverLoad('xml', 
'images/button-xml-hi.gif', 'images/button-xml-lo.gif');" 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 onMouseOver="rolloverOn('asf');" onMouseOut="rolloverOff('asf');" 
target="new" href="http://www.apache.org/";><img onLoad="rolloverLoad('asf', 
'images/button-asf-hi.gif', 'images/button-asf-lo.gif');" 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 onMouseOver="rolloverOn('w3c');" onMouseOut="rolloverOff('w3c');" 
target="new" href="http://www.w3.org/";><img onLoad="rolloverLoad('w3c', 
'images/button-w3c-hi.gif', 'images/button-w3c-lo.gif');" 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 valign="top" width="120">
  <table width="120" cellspacing="0" cellpadding="0" border="0">
  <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>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Main')" 
onMouseOut="rolloverOff('Main')" href="../index.html"><img 
onLoad="rolloverLoad('Main', 'graphics/Main-label_over.jpg', 
'graphics/Main-label.jpg');" vspace="0" hspace="0" name="Main" width="120" 
height="12" border="0" src="graphics/Main-label.jpg" alt="Main"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><img alt="Concepts" width="120" vspace="0" 
src="graphics/Concepts-separator.jpg" hspace="0" height="20" border="0"><br>
  </td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Flow')" 
onMouseOut="rolloverOff('Flow')" href="httprequest.html"><img 
onLoad="rolloverLoad('Flow', 'graphics/Flow-label_over.jpg', 
'graphics/Flow-label.jpg');" vspace="0" hspace="0" name="Flow" width="120" 
height="12" border="0" src="graphics/Flow-label.jpg" alt="Flow"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Extending C2')" 
onMouseOut="rolloverOff('Extending C2')" href="extending.html"><img 
onLoad="rolloverLoad('Extending C2', 'graphics/Extending C2-label_over.jpg', 
'graphics/Extending C2-label.jpg');" vspace="0" hspace="0" name="Extending C2" 
width="120" height="12" border="0" src="graphics/Extending C2-label.jpg" 
alt="Extending C2"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Avalon')" 
onMouseOut="rolloverOff('Avalon')" href="avalon.html"><img 
onLoad="rolloverLoad('Avalon', 'graphics/Avalon-label_over.jpg', 
'graphics/Avalon-label.jpg');" vspace="0" hspace="0" name="Avalon" width="120" 
height="12" border="0" src="graphics/Avalon-label.jpg" alt="Avalon"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Using Databases')" 
onMouseOut="rolloverOff('Using Databases')" href="datasources.html"><img 
onLoad="rolloverLoad('Using Databases', 'graphics/Using 
Databases-label_over.jpg', 'graphics/Using Databases-label.jpg');" vspace="0" 
hspace="0" name="Using Databases" width="120" height="12" border="0" 
src="graphics/Using Databases-label.jpg" alt="Using Databases"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Parent CM')" 
onMouseOut="rolloverOff('Parent CM')" href="parent-component-manager.html"><img 
onLoad="rolloverLoad('Parent CM', 'graphics/Parent CM-label_over.jpg', 
'graphics/Parent CM-label.jpg');" vspace="0" hspace="0" name="Parent CM" 
width="120" height="12" border="0" src="graphics/Parent CM-label.jpg" 
alt="Parent CM"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><img alt="Java" width="120" vspace="0" 
src="graphics/Java-separator.jpg" hspace="0" height="20" border="0"><br>
  </td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('API (Javadoc)')" 
onMouseOut="rolloverOff('API (Javadoc)')" target="new" 
href="../apidocs/index.html"><img onLoad="rolloverLoad('API (Javadoc)', 
'graphics/API (Javadoc)-label_over.jpg', 'graphics/API (Javadoc)-label.jpg');" 
width="120" vspace="0" name="API (Javadoc)" hspace="0" height="12" border="0" 
src="graphics/API (Javadoc)-label.jpg" alt="API (Javadoc)"></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="0" cellpadding="0" border="0">
  <tr>
  <td height="10" width="100%"></td>
  </tr>
  <tr>
  <td>
   
  
   
   
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="+1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Overview</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
  
    
  <p align="justify">Here will soon appear an overview of the developer 
perspective.
    </p>
  
    
  <p align="justify">The actual developer documentation is available from the 
side-panel.
    </p>
  
   
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  
   
  
  </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-2001 The Apache Software Foundation. 
All Rights Reserved.</i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  
xml-site/targets/cocoon/developing/parent-component-manager.html
  
  Index: parent-component-manager.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Parent Component Manager</title>
  <script type="text/javascript" src="resources/script.js" 
language="JavaScript"></script>
  </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" colspan="2" align="left" 
valign="top" height="5" width="100%"><img align="left" border="0" vspace="0" 
hspace="0" src="images/line.gif" height="5" width="1"></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%"><img align="right" alt="Parent Component Manager" border="0" 
vspace="0" hspace="0" 
src="graphics/parent-component-manager-header.jpg_label=Parent Component 
Manager.jpg"></td>
  </tr>
  <tr>
  <td background="images/bottom.gif" bgcolor="#0086b2" align="left" 
valign="top" height="20" width="100%"><img align="left" border="0" vspace="0" 
hspace="0" src="images/bottom.gif" height="20" width="3"></td><td 
background="images/bottom.gif" width="288" 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 
onMouseOver="rolloverOn('xml');" onMouseOut="rolloverOff('xml');" target="new" 
href="http://xml.apache.org/";><img onLoad="rolloverLoad('xml', 
'images/button-xml-hi.gif', 'images/button-xml-lo.gif');" 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 onMouseOver="rolloverOn('asf');" onMouseOut="rolloverOff('asf');" 
target="new" href="http://www.apache.org/";><img onLoad="rolloverLoad('asf', 
'images/button-asf-hi.gif', 'images/button-asf-lo.gif');" 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 onMouseOver="rolloverOn('w3c');" onMouseOut="rolloverOff('w3c');" 
target="new" href="http://www.w3.org/";><img onLoad="rolloverLoad('w3c', 
'images/button-w3c-hi.gif', 'images/button-w3c-lo.gif');" 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 valign="top" width="120">
  <table width="120" cellspacing="0" cellpadding="0" border="0">
  <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>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Main')" 
onMouseOut="rolloverOff('Main')" href="../index.html"><img 
onLoad="rolloverLoad('Main', 'graphics/Main-label_over.jpg', 
'graphics/Main-label.jpg');" vspace="0" hspace="0" name="Main" width="120" 
height="12" border="0" src="graphics/Main-label.jpg" alt="Main"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><img alt="Concepts" width="120" vspace="0" 
src="graphics/Concepts-separator.jpg" hspace="0" height="20" border="0"><br>
  </td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Flow')" 
onMouseOut="rolloverOff('Flow')" href="httprequest.html"><img 
onLoad="rolloverLoad('Flow', 'graphics/Flow-label_over.jpg', 
'graphics/Flow-label.jpg');" vspace="0" hspace="0" name="Flow" width="120" 
height="12" border="0" src="graphics/Flow-label.jpg" alt="Flow"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Extending C2')" 
onMouseOut="rolloverOff('Extending C2')" href="extending.html"><img 
onLoad="rolloverLoad('Extending C2', 'graphics/Extending C2-label_over.jpg', 
'graphics/Extending C2-label.jpg');" vspace="0" hspace="0" name="Extending C2" 
width="120" height="12" border="0" src="graphics/Extending C2-label.jpg" 
alt="Extending C2"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Avalon')" 
onMouseOut="rolloverOff('Avalon')" href="avalon.html"><img 
onLoad="rolloverLoad('Avalon', 'graphics/Avalon-label_over.jpg', 
'graphics/Avalon-label.jpg');" vspace="0" hspace="0" name="Avalon" width="120" 
height="12" border="0" src="graphics/Avalon-label.jpg" alt="Avalon"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Using Databases')" 
onMouseOut="rolloverOff('Using Databases')" href="datasources.html"><img 
onLoad="rolloverLoad('Using Databases', 'graphics/Using 
Databases-label_over.jpg', 'graphics/Using Databases-label.jpg');" vspace="0" 
hspace="0" name="Using Databases" width="120" height="12" border="0" 
src="graphics/Using Databases-label.jpg" alt="Using Databases"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Parent CM')" 
onMouseOut="rolloverOff('Parent CM')" href="parent-component-manager.html"><img 
onLoad="rolloverLoad('Parent CM', 'graphics/Parent CM-label_over.jpg', 
'graphics/Parent CM-label.jpg');" vspace="0" hspace="0" name="Parent CM" 
width="120" height="12" border="0" src="graphics/Parent CM-label.jpg" 
alt="Parent CM"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><img alt="Java" width="120" vspace="0" 
src="graphics/Java-separator.jpg" hspace="0" height="20" border="0"><br>
  </td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('API (Javadoc)')" 
onMouseOut="rolloverOff('API (Javadoc)')" target="new" 
href="../apidocs/index.html"><img onLoad="rolloverLoad('API (Javadoc)', 
'graphics/API (Javadoc)-label_over.jpg', 'graphics/API (Javadoc)-label.jpg');" 
width="120" vspace="0" name="API (Javadoc)" hspace="0" height="12" border="0" 
src="graphics/API (Javadoc)-label.jpg" alt="API (Javadoc)"></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="0" cellpadding="0" border="0">
  <tr>
  <td height="10" width="100%"></td>
  </tr>
  <tr>
  <td>
          
          
              
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="+1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Parent Component 
Manager</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                  
  <p align="justify">When using Apache Cocoon it is sometimes neccessary to 
obtain
                      components from other sources than the <code><font 
face="courier, monospaced">user.roles</font></code> file,
                      or preferable to have a common component manager for 
several web applications.</p>
                  
                  
  <p align="justify">The pattern chosen for Cocoon is the dynamic loading of a 
component manager class.
                      The initialization parameter parent-component-manager in 
web.xml specifies a class
                      that will be loaded, instantiated and used as a parent 
component manager for 
                      Cocoon's component manager.</p>
                  
                  
  <p align="justify">The recommended procedure is for the class, when it is 
initialized, to create a 
                      delegate in the form of an <code><font face="courier, 
monospaced">ExcaliburComponentManager</font></code>, configure it
                      by looking up a <code><font face="courier, 
monospaced">Configuration</font></code> object via JNDI, and delegate any 
requests to it.</p>
                  
                  
  <p align="justify">In order to provide a way to pass parameters to the parent 
component manager class 
                      (the class specified in parent-component-manager), Cocoon 
will instantiate the class
                      via the constructor that takes a single <code><font 
face="courier, monospaced">String</font></code> argument, passing
                      anything to the right of the first <code><font 
face="courier, monospaced">'/'</font></code> in the parameter value to the
                      constructor. Subsequently Cocoon examines whether the 
class implements 
                      <code><font face="courier, 
monospaced">org.apache.avalon.framework.logger.Loggable</font></code> and/or 
                      <code><font face="courier, 
monospaced">org.apache.avalon.framework.activity.Initializable</font></code> 
and calls
                      <code><font face="courier, 
monospaced">setLogger</font></code> and/or <code><font face="courier, 
monospaced">initialize</font></code>, as appropriate.
                      The instance is then used as a parent component manager.
                  </p>
                                  
                  
  <p align="justify">Since that didn't make much sense in itself, let's look at 
the sample.</p>
                  
                  
  <p align="justify">The goal is to define a component that can give us the 
time of day and
                      let it be managed by a parent component manager.</p>
                  
                  
  <p align="justify">So, first we need to put a Configuration object into JNDI, 
and then 
                      grab that object, use it to configure an 
ExcaliburComponentManager,
                      and pass on any requests to that manager.</p>
                  
                  
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Step 1: Creating a configuration 
object</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                  
                      
  <p align="justify">We'll do this the quick and dirty way. The static 
initializer of a class
                          will create a Configuration instance with a single 
role and bind it
                          to <code><font face="courier, 
monospaced">org/apache/cocoon/samples/parentcm/ParentCMConfigration</font></code>.
                      </p>
                  
                      
  <p align="justify">The following code was taken from 
org/apache/cocoon/samples/parentcm/Configurator.java</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>
  public class Configurator  {
  
      static {
          try {
              //
              // Create a new role.
              //
              DefaultConfiguration config = new DefaultConfiguration("roles", 
"");
              DefaultConfiguration timeComponent = new 
DefaultConfiguration("role", "roles");
              timeComponent.addAttribute("name", Time.ROLE);
              timeComponent.addAttribute("default-class", 
TimeComponent.class.getName());
              timeComponent.addAttribute("shorthand", "samples-parentcm-time");
              config.addChild(timeComponent);
              
              //
              // Bind it - get an initial context.
              //
              Hashtable environment = new Hashtable();
              environment.put(Context.INITIAL_CONTEXT_FACTORY, 
                              MemoryInitialContextFactory.class.getName());
              initialContext = new InitialContext(environment);
              
              //
              // Create subcontexts and bind the configuration.
              //
              Context ctx = initialContext.createSubcontext("org");
              ctx = ctx.createSubcontext("apache");
              ctx = ctx.createSubcontext("cocoon");
              ctx = ctx.createSubcontext("samples");
              ctx = ctx.createSubcontext("parentcm");
              ctx.rebind("ParentCMConfiguration", config);
          } catch (Exception e) {
              e.printStackTrace(System.err);
          }
      }    
  }</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 align="justify">To make sure the static initializer runs we make Cocoon 
force-load the class
                      by making a change to the web.xml file:</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;init-param&gt;
    &lt;param-name&gt;load-class&lt;/param-name&gt;
    &lt;param-value&gt;
      &lt;!-- For IBM WebSphere: 
      com.ibm.servlet.classloader.Handler --&gt;
  
      &lt;!-- For Database Driver: --&gt;
      org.hsqldb.jdbcDriver
          
      &lt;!-- For parent ComponentManager sample:
              This will cause the static initializer to run,
              and thus the Configuration object to be created
              and bound. --&gt;
      org.apache.cocoon.samples.parentcm.Configurator 
    &lt;/param-value&gt;
  &lt;/init-param&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></td>
  </tr>
  </table>
  </div>
  <br>
                  
                  
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Step 2: Write the component 
manager</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                  
                      
  <p align="justify">Now that the configuration object is sitting there waiting 
for us, let's craft
                          the component manager. Please see the file 
org/apache/cocoon/samples/parentcm/ParentComponentManager.java
                          for an example. It is too much to paste in here.</p>
                  
                  
  </font></td>
  </tr>
  </table>
  </div>
  <br>
                      
                  
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Step 3: Tell Cocoon to use the 
component manager</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                      
  <p align="justify">Change the web.xml file to:</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;init-param&gt;
    &lt;param-name&gt;parent-component-manager&lt;/param-name&gt;
    
&lt;param-value&gt;org.apache.cocoon.samples.parentcm.ParentComponentManager/(remove
 this line break)
  org/apache/cocoon/samples/parentcm/ParentCMConfiguration&lt;/param-value&gt;
  &lt;/init-param&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 align="justify">Cocoon will now do the following: First, it will split the 
parameter value at the first slash,
                          in this case ending up with the strings <code><font 
face="courier, 
monospaced">"org.apache.cocoon.samples.parentcm.ParentComponentManager"</font></code>
                          and <code><font face="courier, 
monospaced">"org/apache/cocoon/samples/parentcm/ParentCMConfiguration"</font></code>.
 The first string is the 
                          class to instantiate. The second is the parameter 
that will be passed to the constructor.</p>
                      
                      
  <p align="justify">Next, Cocoon loads the component manager class and uses 
reflection to find a constructor that
                          will accept a single <code><font face="courier, 
monospaced">String</font></code> argument. Upon finding one, it instantiates the
                          class in a manner similar to:</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>
  ComponentManager cm = new 
      org.apache.cocoon.samples.parentcm.ParentComponentManager(
          "org/apache/cocoon/samples/parentcm/ParentCMConfiguration");</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 align="justify">
                          After this Cocoon checks whether the parent component 
manager class implements <code><font face="courier, 
monospaced">Initializable</font></code> and/or
                          <code><font face="courier, 
monospaced">Loggable</font></code>. Since the <code><font face="courier, 
monospaced">ParentComponentManager</font></code> class implements both, Cocoon
                          does the following (with simplification):
                      </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>
  ((Loggable) cm).setLogger(logger);
  ((Initializable) cm).initialize();</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 align="justify">Finally, the instance is used as parent component manager 
of Cocoon's own component manager.</p>
                  
  </font></td>
  </tr>
  </table>
  </div>
  <br>
                  
                  
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Step 4: Use the 
component</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                  
                      
  <p align="justify">Cocoon components can now use the ComponentManager given 
to them by Cocoon to look up the
                          component managed by the parent component manager:</p>
                  
                      
  <p align="justify">The following code was taken from 
org/apache/cocoon/samples/parentcm/Generator.java</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>
  public void setup(SourceResolver resolver, Map objectModel, String src, 
Parameters par)
      throws ProcessingException, SAXException, IOException {
              
      Time timeGiver = null;
      try {
          timeGiver = (Time) manager.lookup(Time.ROLE);
          this.time = timeGiver.getTime ();
      } catch (ComponentException ce) {
          throw new ProcessingException ("Could not obtain current time.", ce);
      } finally {
          manager.release(timeGiver);
      }
  }</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></td>
  </tr>
  </table>
  </div>
  <br>
                  
                  
  <p align="justify">And that concludes the tour. A parent component manager 
was initialized with a configuration
                      obtained via JNDI and its components used by a Cocoon 
generator.</p>
              
  </font></td>
  </tr>
  </table>
  </div>
  <br>
          
      
  </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-2001 The Apache Software Foundation. 
All Rights Reserved.</i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  No                   revision
  
  
  No                   revision
  
        <<Binary file>>
  
  
  No                   revision
  
  
  No                   revision
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/developing/graphics/Avalon-label.jpg
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/developing/graphics/Avalon-label_over.jpg
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/developing/graphics/Concepts-separator.jpg
  
        <<Binary file>>
  
  
  No                   revision
  
  
  No                   revision
  
        <<Binary file>>
  
  
  No                   revision
  
  
  No                   revision
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/developing/graphics/Flow-label.jpg
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/developing/graphics/Flow-label_over.jpg
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/developing/graphics/Java-separator.jpg
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/developing/graphics/Main-label.jpg
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/developing/graphics/Main-label_over.jpg
  
        <<Binary file>>
  
  
  No                   revision
  
  
  No                   revision
  
        <<Binary file>>
  
  
  No                   revision
  
  
  No                   revision
  
        <<Binary file>>
  
  
  No                   revision
  
  
  No                   revision
  
        <<Binary file>>
  
  
  No                   revision
  
  
  No                   revision
  
        <<Binary file>>
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
        <<Binary file>>
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
        <<Binary file>>
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
        <<Binary file>>
  
  
  No                   revision
  
  
  No                   revision
  
        <<Binary file>>
  
  
  No                   revision
  
  
  No                   revision
  
        <<Binary file>>
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/developing/images/bar-border-bottom.gif
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/developing/images/bar-border-left.gif
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/developing/images/bar-border-right.gif
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/developing/images/bar-border-top.gif
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/developing/images/bar-bottom-left.gif
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/developing/images/bar-bottom-right.gif
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/developing/images/bar-top-left.gif
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/developing/images/bar-top-right.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/developing/images/bottom.gif
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/developing/images/button-asf-hi.gif
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/developing/images/button-asf-lo.gif
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/developing/images/button-w3c-hi.gif
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/developing/images/button-w3c-lo.gif
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/developing/images/button-xml-hi.gif
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/developing/images/button-xml-lo.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/developing/images/close.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/developing/images/dot.gif
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/developing/images/get_hello_html.png
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/developing/images/initialize_Cocoon.png
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/developing/images/join.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/developing/images/line.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/developing/images/logo.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/developing/images/note.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/developing/images/right.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/developing/images/void.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/developing/resources/script.js
  
  Index: script.js
  ===================================================================
  rolloverImagesOn=new Array();
  rolloverImagesOff=new Array();
  
  function rolloverOn(name) {
    if(document.images[name] && rolloverImagesOn[name]) 
document.images[name].src=rolloverImagesOn[name].src;
  }
  
  function rolloverOff(name) {
   if(document.images[name] && rolloverImagesOff[name]) 
document.images[name].src=rolloverImagesOff[name].src;
  }
  
  
  function rolloverLoad(name,on,off) {
    rolloverImagesOn[name]=new Image();
    rolloverImagesOn[name].src=mangle(on);
    rolloverImagesOff[name]=new Image();
    rolloverImagesOff[name].src=mangle(off);
  }
  
  function mangle(name) {
  
    name = name.replace(/:/g, "_");
    name = name.replace(/\?/g, "_");
    name = name.replace(/\"/g, "\'");
  
    return name;
  }
  
  
  
  1.1                  xml-site/targets/cocoon/installing/index.html
  
  Index: index.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Installing Apache Cocoon</title>
  <script type="text/javascript" src="resources/script.js" 
language="JavaScript"></script>
  </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" colspan="2" align="left" 
valign="top" height="5" width="100%"><img align="left" border="0" vspace="0" 
hspace="0" src="images/line.gif" height="5" width="1"></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%"><img align="right" alt="Installing Apache Cocoon" border="0" 
vspace="0" hspace="0" src="graphics/index-header.jpg_label=Installing Apache 
Cocoon.jpg"></td>
  </tr>
  <tr>
  <td background="images/bottom.gif" bgcolor="#0086b2" align="left" 
valign="top" height="20" width="100%"><img align="left" border="0" vspace="0" 
hspace="0" src="images/bottom.gif" height="20" width="3"></td><td 
background="images/bottom.gif" width="288" 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 
onMouseOver="rolloverOn('xml');" onMouseOut="rolloverOff('xml');" target="new" 
href="http://xml.apache.org/";><img onLoad="rolloverLoad('xml', 
'images/button-xml-hi.gif', 'images/button-xml-lo.gif');" 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 onMouseOver="rolloverOn('asf');" onMouseOut="rolloverOff('asf');" 
target="new" href="http://www.apache.org/";><img onLoad="rolloverLoad('asf', 
'images/button-asf-hi.gif', 'images/button-asf-lo.gif');" 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 onMouseOver="rolloverOn('w3c');" onMouseOut="rolloverOff('w3c');" 
target="new" href="http://www.w3.org/";><img onLoad="rolloverLoad('w3c', 
'images/button-w3c-hi.gif', 'images/button-w3c-lo.gif');" 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 valign="top" width="120">
  <table width="120" cellspacing="0" cellpadding="0" border="0">
  <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>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Main')" 
onMouseOut="rolloverOff('Main')" href="../index.html"><img 
onLoad="rolloverLoad('Main', 'graphics/Main-label_over.jpg', 
'graphics/Main-label.jpg');" vspace="0" hspace="0" name="Main" width="120" 
height="12" border="0" src="graphics/Main-label.jpg" alt="Main"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><img alt="Installation" width="120" vspace="0" 
src="graphics/Installation-separator.jpg" hspace="0" height="20" border="0"><br>
  </td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Download')" 
onMouseOut="rolloverOff('Download')" target="new" 
href="http://xml.apache.org/cocoon/dist";><img onLoad="rolloverLoad('Download', 
'graphics/Download-label_over.jpg', 'graphics/Download-label.jpg');" 
width="120" vspace="0" name="Download" hspace="0" height="12" border="0" 
src="graphics/Download-label.jpg" alt="Download"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Installing')" 
onMouseOut="rolloverOff('Installing')" href="index.html"><img 
onLoad="rolloverLoad('Installing', 'graphics/Installing-label_over.jpg', 
'graphics/Installing-label.jpg');" vspace="0" hspace="0" name="Installing" 
width="120" height="12" border="0" src="graphics/Installing-label.jpg" 
alt="Installing"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Jars')" 
onMouseOut="rolloverOff('Jars')" href="jars.html"><img 
onLoad="rolloverLoad('Jars', 'graphics/Jars-label_over.jpg', 
'graphics/Jars-label.jpg');" vspace="0" hspace="0" name="Jars" width="120" 
height="12" border="0" src="graphics/Jars-label.jpg" alt="Jars"></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="0" cellpadding="0" border="0">
  <tr>
  <td height="10" width="100%"></td>
  </tr>
  <tr>
  <td>
   
  
   
  
   
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="+1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>System 
Requirements</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
    
  <p align="justify">
     Apache Cocoon requires the following systems to be already installed in 
your system:
    </p>
  
    
  <p align="justify">
  <b>Java Virtual Machine</b>
      A Java 1.2 or later compatible virtual machine must be present for both
      command line and servlet type usage of Apache Cocoon. Note that all 
servlet engines
      require a JVM to run so if you are already using servlets you already have
      one installed.
     </p>
  
     
  <p align="justify">
  <b>Servlet Engine</b>
      A Servlet 2.2 compliant servlet engine must be present in order to support
      servlet operation and dynamic request handling. Note that this requirement
      is optional for command line operation.
     </p>
  
    
  <p align="justify">If you don't have a servlet engine installed, well, stop 
right here and
    go to the Apache Tomcat project
    <a 
href="http://jakarta.apache.org/tomcat/";>http://jakarta.apache.org/tomcat/</a>
    then come back when you are done.</p>
  
   
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  
  
      
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="+1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Getting Apache 
Cocoon</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
        
  <p align="justify">
         You have two choices for getting Cocoon: you can either download
         a stable relese or you can get the latest in development version
         directly from the cvs repository.
        </p>      
        
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Download a 
distribution</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
         
  <p align="justify">
          You can simply download the latest official release from the
          <a href="http://xml.apache.org/dist/cocoon";>Cocoon distribution</a>
          directory.
         </p>
        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
        
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Step-by-step cvs instructions for 
Windows</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
          
  <blockquote>
  <ol>
            
  <li>Download
              <a 
href="ftp://cvsgui.sourceforge.net/pub/cvsgui/WinCvs120.zip";>WinCVS
                (v1.2)</a> (homepage is <a 
href="http://www.wincvs.org/";>http://www.wincvs.org/</a>);
            </li>
            
  <li>Install it;</li>
            
  <li>Start it;</li>
            
  <li>Click on admin-&gt;preferences;</li>
            
  <li> In "Enter the CVSROOT:" enter
              ":pserver:[EMAIL PROTECTED]:/home/cvspublic" (without 
quotes);</li>
            
  <li>In "Authentication:" choose ""passwd" file on the cvs server";</li>
            
  <li>Click "Ok";</li>
            
  <li>Click admin-&gt;login;</li>
            
  <li> When asked for the password: answer "anoncvs" (without quotes);</li>
            
  <li> Click "create-&gt;checkout module";</li>
            
  <li>Module name and path on the server is "xml-cocoon2" (no quotes);</li>
            
  <li>Choose a dir to put the source code in;</li>
            
  <li>Go to the "Checkout-options" tab and select "By revision/tag/branch"
                and enter "cocoon_20_branch";</li>
            
  <li>Click "Ok";</li>
            
  <li>If everything goes well, messages will start to appear in the log
              window;</li>
            
  <li>Wait until you see "*****CVS exited normally with code 0*****" in the
              log window;</li>
            
  <li>The Cocoon source is now on your harddrive.</li>
          
  </ol>
  </blockquote>
        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
        
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Step-by-step cvs instructions for 
Unix</b></font></td><td background="images/bar-border-right.gif" width="9"><img 
border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
          
  <blockquote>
  <ol>
            
  <li>Start the shell of your choice.</li>
            
  <li>Enter "cvs -d :pserver:[EMAIL PROTECTED]:/home/cvspublic login".</li>
            
  <li>When asked for the password: answer "anoncvs".</li>
            
  <li>Enter "cvs -d :pserver:[EMAIL PROTECTED]:/home/cvspublic -z3 checkout -r 
cocoon_20_branch xml-cocoon2". This will create a directory called 
"xml-cocoon2" where the Cocoon2 source will be stored.</li>
            
  <li>Wait until cvs has finished.</li>
            
  <li>The Cocoon source is now on your harddrive.</li>
          
  </ol>
  </blockquote>
          
  <p align="justify">In case you want to update your Cocoon source tree to the
            current version, change to the "xml-cocoon2" directory and
            call "cvs -z3 update -d -P".</p>
        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  
   
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="+1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Building 
Cocoon</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
  
      
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Set JAVA_HOME environment 
variable</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
  
        
  <p align="justify">Set the JAVA_HOME environment variable to point to the 
root directory of
        the Java Development Kit installed on your machine. To do this simply 
type:</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>
  [unix]  JAVA_HOME=/path/to/java/
  [win32] SET JAVA_HOME=c:\path\to\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 align="justify">Your mileage may vary, but you know how to setup 
environments, right?</p>
  
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  
      
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Create the Cocoon WAR 
package</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
  
        
  <p align="justify">To do this you simply have to type:</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>
  [unix]  ./build.sh  -Dinclude.webapp.libs=yes webapp
  [win32] .\build.bat -Dinclude.webapp.libs=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>
  <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 align="justify">this will create the "cocoon.war" file in the
        './build/cocoon' directory.</p>
  
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  
      
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Making the sql examples work out 
of the box</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
       
  <p align="justify">
        The sample web application delivered with Cocoon contains some
        examples which require a sql database. To make them work out of
        the box, the hsqldb is included. However, this database needs
        the installation path to work correctly. Using tomcat (see notes
        below) you could use the following instruction to directly
        build a web application which is alreary configured for the sql
        examples. The build script will copy it directly to your webapps
        directory.
       </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>
  [unix]
  ./build.sh  -Dinclude.webapp.libs=yes -Dinstall.war={path-to-webapps-dir} 
install
  [win32]
  .\build.bat -Dinclude.webapp.libs=yes -Dinstall.war={path-to-webapps-dir} 
install
        </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 align="justify">
         Please note that this might not work with all servlet engines
         and that you must follow the steps below, too.
        </p>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
      
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Adding additional 
components</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
       
  <p align="justify">
        Some of the components delivered with Cocoon required additional 
libraries,
        e.g. the Php generator or the FOP serializer (for more information about
        these components, refer to their documentation).
       </p>
       
  <p align="justify">
        Most of these libraries are already included in the distribution, but 
some
        have to be downloaded manually. The build task checks whether you have
        the required libraries or not and includes the optional components only
        if you have the libraries available when you build Cocoon.
       </p>
       
  <p align="justify">
        A library/package is available to the build process when it is located
        in the <code><font face="courier, monospaced">./lib</font></code> 
directory.
       </p>
       
  <p align="justify">
        The following table contains a list of the optional components,
        their needed libraries and if they are already included or not.
       </p>
    
  <table cellpadding="2" cellspacing="2" border="0" width="100%">
  <caption></caption>
     
  <tr>
       
  <td align="center" valign="center" rowspan="1" colspan="1" 
bgcolor="#039acc"><font face="arial,helvetica,sanserif" size="-1" 
color="#ffffff"><b>Component</b>&nbsp;
        </font></td>
       <td align="center" valign="center" rowspan="1" colspan="1" 
bgcolor="#039acc"><font face="arial,helvetica,sanserif" size="-1" 
color="#ffffff"><b>Required Library</b>&nbsp;
        </font></td>
       <td align="center" valign="center" rowspan="1" colspan="1" 
bgcolor="#039acc"><font face="arial,helvetica,sanserif" size="-1" 
color="#ffffff"><b>Library Included</b>&nbsp;
        </font></td>
     
  </tr>
     
  <tr>
       
  <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font 
face="arial,helvetica,sanserif" size="-1" color="#000000">HTML Generator&nbsp;
        </font></td>
       <td align="left" valign="top" rowspan="1" colspan="1" 
bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" size="-1" 
color="#000000"><a href="http://sourceforge.net/projects/jtidy";>JTidy</a>&nbsp;
        </font></td>
       <td align="left" valign="top" rowspan="1" colspan="1" 
bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" size="-1" 
color="#000000">Yes&nbsp;
        </font></td>
     
  </tr>
     
  <tr>
       
  <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font 
face="arial,helvetica,sanserif" size="-1" color="#000000">Php Generator&nbsp;
        </font></td>
       <td align="left" valign="top" rowspan="1" colspan="1" 
bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" size="-1" 
color="#000000"><a href="http://www.php.net";>Php Servlet</a>&nbsp;
        </font></td>
       <td align="left" valign="top" rowspan="1" colspan="1" 
bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" size="-1" 
color="#000000">No&nbsp;
        </font></td>
     
  </tr>
     
  <tr>
       
  <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font 
face="arial,helvetica,sanserif" size="-1" color="#000000">XT Transformer&nbsp;
        </font></td>
       <td align="left" valign="top" rowspan="1" colspan="1" 
bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" size="-1" 
color="#000000"><a href="http://www.jclark.com/xml/xt.html";>XT 
Processor</a>&nbsp;
        </font></td>
       <td align="left" valign="top" rowspan="1" colspan="1" 
bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" size="-1" 
color="#000000">Yes&nbsp;
        </font></td>
     
  </tr>
     
  <tr>
       
  <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font 
face="arial,helvetica,sanserif" size="-1" color="#000000">LDAP Transformer&nbsp;
        </font></td>
       <td align="left" valign="top" rowspan="1" colspan="1" 
bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" size="-1" 
color="#000000"><a href="http://java.sun.com/products/jndi";>JNDI</a>&nbsp;
        </font></td>
       <td align="left" valign="top" rowspan="1" colspan="1" 
bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" size="-1" 
color="#000000">No&nbsp;
        </font></td>
     
  </tr>
     
  <tr>
       
  <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font 
face="arial,helvetica,sanserif" size="-1" color="#000000">PDF Serializer&nbsp;
        </font></td>
       <td align="left" valign="top" rowspan="1" colspan="1" 
bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" size="-1" 
color="#000000"><a href="http://xml.apache.org/fop/index.html";>FOP</a>&nbsp;
        </font></td>
       <td align="left" valign="top" rowspan="1" colspan="1" 
bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" size="-1" 
color="#000000">Yes&nbsp;
        </font></td>
     
  </tr>
    
  </table>
       
  <p align="justify">
  <b>Note:</b> If you added a library/package, you
        need to rebuild Cocoon as described in 'Create the Cocoon WAR package'.
       </p>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
   
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  
   
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="+1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Installing 
Cocoon</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
  
      
  <p align="justify">In most servlet engines, this is just a matter of copying
      the war file in a specific directory and the engine will take
      care of installing it when restarted.</p>
  
      
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Installing on Tomcat 
3.X</b></font></td><td background="images/bar-border-right.gif" width="9"><img 
border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
  
        
  <p align="justify">Tomcat currently uses a different version of the XML parser
        than Cocoon. To get Cocoon to work, you need to perform the
        following steps:</p>
  
        
  <blockquote>
  <ol>
  
          
  <li>
            
  <b>Stop Tomcat</b>
            Go to the tomcat/bin directory, and run the shutdown script.
          </li>
  
          
  <li>
            
  <b>Delete tomcat/lib/jaxp.jar</b>
            Tomcat's jaxp.jar is 'sealed', and since xerces contains its
            own implementation of the JAXP standard extension, Java
            will fail to load xerces and report a 'Package Sealing Violation'
            if both are in the classpath.
          </li>
  
          
  <li>
            
  <b>Rename tomcat/lib/parser.jar to tomcat/lib/zparser.jar</b>
            Tomcat's parser.jar contains older versions of some the same
            XML APIS that Xerces uses, and these will prevent Xerces from
            functioning properly if they appear before Xerces in the classpath.
            Since Tomcat's startup scripts automatically load all the jar files
            in tomcat/lib in name order, changing the name of the file causes it
            to be loaded last in the classpath.
          </li>
  
          
  <li>
            
  <b>Copy cocoon/lib/xerces-XXX.jar file to tomcat\lib</b>
            Cocoon will now be able to see and use the correct XML libraries.
          </li>
  
          
  <li>
            
  <b>Copy cocoon/build/cocoon/cocoon.war into tomcat/webapps</b>
          
  </li>
  
          
  <li>
            
  <b>Start Tomcat</b>
            Go to the tomcat/bin directory, and run the startup script.
          </li>
  
          
  <li>
            
  <b>Start using Cocoon</b>
            Access the URI
            <a 
href="http://localhost:8080/cocoon/";>http://localhost:8080/cocoon/</a>
            with your favorite browser and start to enjoy the world of Cocoon.
            Note that the first time you access Cocoon, it will take a few
            seconds to start, since Cocoon needs to compile parts of itself.
          </li>
  
        
  </ol>
  </blockquote>
  
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  
      
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Installing on Tomcat 
4.X</b></font></td><td background="images/bar-border-right.gif" width="9"><img 
border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                
  <p align="justify">Tomcat 4 is a really straight-forward installation.</p>
                
  <blockquote>
  <ol>
          
  <li>
            
  <b>Build the Cocoon webapp</b>
            Build the webapp as described above.
          </li>
  
          
  <li>
            
  <b>Copy cocoon/build/cocoon/cocoon.war into tomcat/webapps</b>
          
  </li>
  
          
  <li>
            
  <b>Start Tomcat</b>
            Go to the tomcat/bin directory, and run the startup script.
          </li>
  
          
  <li>
            
  <b>Start using Cocoon</b>
            Access the URI
            <a 
href="http://localhost:8080/cocoon/";>http://localhost:8080/cocoon/</a>
            with your favorite browser and start to enjoy the world of Cocoon.
            Note that the first time you access Cocoon, it will take a few
            seconds to start, since Cocoon needs to compile parts of itself.
          </li>
  
        
  </ol>
  </blockquote>
        
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="90%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="-1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" 
src="images/void.gif"><b>Linux/Headless/Batik</b></font></td><td 
background="images/bar-border-right.gif" width="9"><img border="0" hspace="0" 
vspace="0" height="1" width="9" src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="90%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
          
  <p align="justify">If you are using unix with the sun jdk, it's awt 
implementation requires you to use X
          even if you aren't actually displaying anything.  One simple solution 
is to use a different 
          implementation of the awt.</p> 
  
          
  <blockquote>
  <ol>
          
  <li>From www.eteks.com you can get an awt replacement that doesn't need X: 
          <a 
href="http://www.eteks.com/pja/en/";>http://www.eteks.com/pja/en</a>.</li>
          
          
  <li>Unpack the jars into a place where your jdk will be able to use them--
          $JAVAHOME/jre/classes works for j2sdk1.3</li>
  
          
  <li>Then add to your tomcat startup script:
            <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>
  export CATALINA_OPTS='-Dawt.toolkit=com.eteks.awt.PJAToolkit \
    -Djava.awt.graphicsenv=com.eteks.java2d.PJAGraphicsEnvironment \
    -Djava.awt.fonts=/usr/local/jdk/jre/lib/fonts/'
            </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 align="justify">(CATALINA_OPTS if it's 4, TOMCAT_OPTS if it's 3)</p>
          
  </li>
          
  <li>
  <b>(Re)start Tomcat and enjoy!</b>
  </li>
          
  </ol>
  </blockquote>
        
  </font></td>
  </tr>
  </table>
  </div>
  <br>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  
      
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Installing on BEA Weblogic 
6.0</b></font></td><td background="images/bar-border-right.gif" width="9"><img 
border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
  
        
  <p align="justify">This installs Cocoon using the cocoon.war file.  
           This was successfully installed under Windows 2000.
           Unix users will need to adjust appropriately. If you haven't done so 
already, 
           build a domain and a server. In this discussion, the name of the 
domain 
           is 'mydomain' and the name of the server is 'myserver'. 
           These are the BEA default names.
        </p>
  
        
  <blockquote>
  <ol>
          
  <li>Copy <code><font face="courier, monospaced">cocoon.war</font></code> into 
<code><font face="courier, 
monospaced">c:\bea\wlserver6.0sp1\config\mydomain\applications</font></code>
  </li>
          
  <li>Create a new directory named <code><font face="courier, 
monospaced">ext</font></code> under <code><font face="courier, 
monospaced">c:\bea\jdk130\jre\lib</font></code>
  </li>
          
  <li>Copy the <code><font face="courier, 
monospaced">xerces-XXX.jar</font></code> JAR file from <code><font 
face="courier, monospaced">xml-cocoon2/lib</font></code> to 
              <code><font face="courier, 
monospaced">c:\bea\jdk130\jre\lib</font></code> directory
          </li>
          
  <li>
              Run weblogic using <code><font face="courier, 
monospaced">startWebLogic.cmd</font></code> file in <code><font face="courier, 
monospaced">c:\bea\wlserver6.0sp1\config\mydomain</font></code> directory
          </li>
          
  <li>
              Using a browser, link to your web site's cocoon page:
              <br>
                    http://&lt;your machine name&gt;:&lt;port number&gt;/cocoon/
              <br>
              (Don't forget the final / in the link.)
          </li>
  
          
  <li>
              Congratulations! (hopefully) you should see the Cocoon welcome 
page.
          </li>
        
  </ol>
  </blockquote>
        
  <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="#000000" face="arial,helvetica,sanserif" size="-1"><i>If you have 
problems with starting up Cocoon, you can modify the CLASSPATH in the .cmd 
files and
              ensure that xerces-XXX.jar is picked up before any other jars.
              <br>
              
  <code><font face="courier, monospaced">set 
CLASSPATH=.;c:\bea\jdk130\jre\lib\xerces-XXX.jar;.\lib\weblogic_sp.jar;.\lib\weblogic.jar</font></code>
              
  <br>
        
  </i></font></td>
  </tr>
  </table>
  </p>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  
      
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Installing on ServletExec 3.1 (In 
Process with IIS)</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
  
        
  <p align="justify">This installs Cocoon in a "war" configuration.  This was 
successfully
           installed under Windows NT 4.0 and IIS 4.  I don't believe that SE is
           available for unix.</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="#000000" face="arial,helvetica,sanserif" size="-1"><i>Please note that 
<i>JDK 1.3</i> is required.</i></font></td>
  </tr>
  </table>
  </p>
  
        
  <blockquote>
  <ol>
          
  <li>Install IIS as usual</li>
          
  <li>Install ServletExec (default paths will be used throughout), but
              don't start it.</li>
          
  <li>Build Cocoon's war file (include lib's)</li>
          
  <li>Copy <i>cocoon.war</i> into 
              <i>C:\Program Files\New Atlanta\ServletExec 
ISAPI\webapps\default</i>,
              creating the directory default if required.</li>
          
  <li>Start IIS.</li>
          
  <li>Open the Cocoon welcome page (http://localhost/cocoon/)</li>
          
  <li>
              Congratulations! (hopefully) you should see the Cocoon welcome 
page.
          </li>
        
  </ol>
  </blockquote>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
      
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Installing on JBoss 2.2.2 with 
Tomcat 3.2.2</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
       
  <p align="justify">This section describes the deployment of the Cocoon sample 
WAR with
       the JBoss 2.2.2/Tomcat-3.2.2 package. It assumes that you built Cocoon 
as described above. All steps have been tested with a fresh JBoss 2.2.2 
installation on Linux and Windows ME(sic).</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="#000000" face="arial,helvetica,sanserif" size="-1"><i>The JBoss/Tomcat 
bundle is available from the <a 
href="http://sourceforge.net/projects/jboss/";>JBoss project 
page</a></i></font></td>
  </tr>
  </table>
  </p>
       
  <p align="justify">The JBoss/Tomcat package has the following directory
       structure</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>
  [path]/JBoss-2.2.2_Tomcat-3.2.2/jboss
  [path]/JBoss-2.2.2_Tomcat-3.2.2/tomcat
       </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 align="justify">Subsequently, </p>
           
  <blockquote>
  <ul>
  <li>
  <code><font face="courier, monospaced">jboss</font></code> denotes the 
<code><font face="courier, 
monospaced">JBoss-2.2.2_Tomcat-3.2.2/jboss</font></code> directory</li>
         
  <li>
  <code><font face="courier, monospaced">tomcat</font></code> is short for 
<code><font face="courier, 
monospaced">JBoss-2.2.2_Tomcat-3.2.2/tomcat</font></code>
  </li>
  <li>and <code><font face="courier, monospaced">cocoon</font></code> is the 
base directory of your Cocoon distribution or CVS checkout.</li>
  </ul>
  </blockquote>
       
  <p align="justify">In order to get Cocoon running you have to install Xerces 
as default XML parser for JBoss.</p>
       
  <blockquote>
  <ul>
         
  <li>Stop the server if it is running.</li>
         
  <li>Remove the following files from the <code><font face="courier, 
monospaced">jboss/lib</font></code> directory
           <blockquote>
  <ul>
           
  <li>crimson.jar</li>
           
  <li>jaxp.jar</li>
           
  <li>xml.jar</li>
         
  </ul>
  </blockquote>
         
  </li>
         
  <li>Remove the following files from the <code><font face="courier, 
monospaced">tomcat/lib</font></code> 
             directory
           <blockquote>
  <ul>
           
  <li>jaxp.jar</li>
           
  <li>parser.jar</li>
         
  </ul>
  </blockquote>
         
  </li>
         
  <li>Copy <code><font face="courier, monospaced">xerces-XXX.jar</font></code> 
from <code><font face="courier, monospaced">cocoon/lib</font></code> to 
<code><font face="courier, monospaced">jboss/lib</font></code>
  </li>
         
  <li>Change <code><font face="courier, 
monospaced">jboss/bin/run.sh</font></code>
  </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>
  [...]
  # Add the XML parser jars and set the JAXP factory names
  # Crimson parser JAXP setup(default)
  <b># Change it to Xerces for C2</b>
  JBOSS_CLASSPATH=$JBOSS_CLASSPATH:<b>../lib/xerces-XXX.jar</b>
  <b># Remove the following two lines</b>
  
JAXP=-Djavax.xml.parsers.DocumentBuilderFactory=org.apache.crimson.jaxp.DocumentBuilderFactoryImpl
  JAXP="$JAXP 
-Djavax.xml.parsers.SAXParserFactory=org.apache.crimson.jaxp.SAXParserFactoryImpl"
  [...]
       </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>
  <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="#000000" face="arial,helvetica,sanserif" size="-1"><i>Windows users have 
to change <code><font face="courier, monospaced">run.bat</font></code> 
accordingly.
       </i></font></td>
  </tr>
  </table>
  </p>
       
  <blockquote>
  <ul>
         
  <li>Start JBoss with <code><font face="courier, 
monospaced">run_with_tomcat.sh</font></code> or <code><font face="courier, 
monospaced">run_with_tomcat.bat</font></code>
  </li>
         
  <li>Copy <code><font face="courier, 
monospaced">cocoon/build/cocoon/cocoon.war</font></code> to <code><font 
face="courier, monospaced">jboss/deploy</font></code>
  </li>
         
  <li>Check the server log to make sure that <code><font face="courier, 
monospaced">J2EE application: [...]/cocoon.war is deployed.</font></code>
  </li>
         
  <li>Open the Cocoon welcome page (http://localhost:8080/cocoon/)</li>
         
  <li>
             Congratulations! (hopefully) you should see the Cocoon welcome 
page.
         </li>
       
  </ul>
  </blockquote>
       
  <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="#000000" face="arial,helvetica,sanserif" size="-1"><i>As both JBoss and 
Cocoon ship with a Hypersonic database installed, these two conflict and you 
won't be able to use Cocoon database (SQL) samples. Then again, you probably 
use JBoss for EJB persistence anyway, so this shouldn't bother you too much ;-)
       </i></font></td>
  </tr>
  </table>
  </p>
      
  </font></td>
  </tr>
  </table>
  </div>
  <br>
      
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>Installing on Resin 
2.0.x</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" width="1" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="95%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
       
  <p align="justify">
          This section describes the deployment of the Cocoon sample WAR with 
Resin 2.0.x. 
          It assumes that you built Cocoon as described above. All steps have 
been tested 
          with a fresh Resin 2.0.0 and 2.0.1 installations (the package is 
available from 
          <a href="http://www.caucho.com/download/";>Resin's download page</a>)
       </p>
       
  <p align="justify">After unpacking the Resin package you get the following 
directory structure</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>
  [path]...
  [path]/resin-2.0.x/lib
  [path]/resin-2.0.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>
  <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 align="justify">In order to get Cocoon running you have to install Xerces 
as default XML parser for Resin.</p>
       
  <blockquote>
  <ul>
         
  <li>Stop the server if it is running.</li>
  <li>Remove the following files from the <code><font face="courier, 
monospaced">resin-2.0.x/lib</font></code> directory:
           <blockquote>
  <ul>
             
  <li>jaxp.jar</li>
             
  <li>dom.jar</li>
             
  <li>sax.jar</li>
           
  </ul>
  </blockquote>
         
  </li>
         
  <li>Copy the <code><font face="courier, 
monospaced">xerces-XXX.jar</font></code> JAR file from <code><font 
face="courier, monospaced">xml-cocoon2/lib</font></code> to <code><font 
face="courier, monospaced">resin-2.0.x/lib</font></code> directory
         </li>
         
  <li>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
         </li>
         
  <li>Start Resin as usual</li>
         
  <li>Open the Cocoon welcome page (http://localhost:8080/cocoon/)</li>
         
  <li>Congratulations! (hopefully) you should see the Cocoon welcome page.</li>
       
  </ul>
  </blockquote>
       
  <p align="justify">
  <b>Note:</b> 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
         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>
         
  </p>
       
  </font></td>
  </tr>
  </table>
  </div>
  <br>
   
  </font></td>
  </tr>
  </table>
  </div>
  <br>
  
  
  
  </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-2001 The Apache Software Foundation. 
All Rights Reserved.</i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  xml-site/targets/cocoon/installing/jars.html
  
  Index: jars.html
  ===================================================================
  <html>
  <head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Cocoon JARs</title>
  <script type="text/javascript" src="resources/script.js" 
language="JavaScript"></script>
  </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" colspan="2" align="left" 
valign="top" height="5" width="100%"><img align="left" border="0" vspace="0" 
hspace="0" src="images/line.gif" height="5" width="1"></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%"><img align="right" alt="Cocoon JARs" border="0" vspace="0" 
hspace="0" src="graphics/jars-header.jpg_label=Cocoon JARs.jpg"></td>
  </tr>
  <tr>
  <td background="images/bottom.gif" bgcolor="#0086b2" align="left" 
valign="top" height="20" width="100%"><img align="left" border="0" vspace="0" 
hspace="0" src="images/bottom.gif" height="20" width="3"></td><td 
background="images/bottom.gif" width="288" 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 
onMouseOver="rolloverOn('xml');" onMouseOut="rolloverOff('xml');" target="new" 
href="http://xml.apache.org/";><img onLoad="rolloverLoad('xml', 
'images/button-xml-hi.gif', 'images/button-xml-lo.gif');" 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 onMouseOver="rolloverOn('asf');" onMouseOut="rolloverOff('asf');" 
target="new" href="http://www.apache.org/";><img onLoad="rolloverLoad('asf', 
'images/button-asf-hi.gif', 'images/button-asf-lo.gif');" 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 onMouseOver="rolloverOn('w3c');" onMouseOut="rolloverOff('w3c');" 
target="new" href="http://www.w3.org/";><img onLoad="rolloverLoad('w3c', 
'images/button-w3c-hi.gif', 'images/button-w3c-lo.gif');" 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 valign="top" width="120">
  <table width="120" cellspacing="0" cellpadding="0" border="0">
  <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>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Main')" 
onMouseOut="rolloverOff('Main')" href="../index.html"><img 
onLoad="rolloverLoad('Main', 'graphics/Main-label_over.jpg', 
'graphics/Main-label.jpg');" vspace="0" hspace="0" name="Main" width="120" 
height="12" border="0" src="graphics/Main-label.jpg" alt="Main"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><img alt="Installation" width="120" vspace="0" 
src="graphics/Installation-separator.jpg" hspace="0" height="20" border="0"><br>
  </td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Download')" 
onMouseOut="rolloverOff('Download')" target="new" 
href="http://xml.apache.org/cocoon/dist";><img onLoad="rolloverLoad('Download', 
'graphics/Download-label_over.jpg', 'graphics/Download-label.jpg');" 
width="120" vspace="0" name="Download" hspace="0" height="12" border="0" 
src="graphics/Download-label.jpg" alt="Download"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Installing')" 
onMouseOut="rolloverOff('Installing')" href="index.html"><img 
onLoad="rolloverLoad('Installing', 'graphics/Installing-label_over.jpg', 
'graphics/Installing-label.jpg');" vspace="0" hspace="0" name="Installing" 
width="120" height="12" border="0" src="graphics/Installing-label.jpg" 
alt="Installing"></a></td>
  </tr>
  <tr>
  <td valign="top" align="left"><a onMouseOver="rolloverOn('Jars')" 
onMouseOut="rolloverOff('Jars')" href="jars.html"><img 
onLoad="rolloverLoad('Jars', 'graphics/Jars-label_over.jpg', 
'graphics/Jars-label.jpg');" vspace="0" hspace="0" name="Jars" width="120" 
height="12" border="0" src="graphics/Jars-label.jpg" alt="Jars"></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="0" cellpadding="0" border="0">
  <tr>
  <td height="10" width="100%"></td>
  </tr>
  <tr>
  <td>
        
        
                
  <div align="right">
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td align="right" valign="bottom" height="7" width="9"><img border="0" 
hspace="0" vspace="0" height="7" width="9" 
src="images/bar-top-left.gif"></td><td 
background="images/bar-border-top.gif"><img border="0" hspace="0" vspace="0" 
height="5" width="1" src="images/void.gif"></td><td align="left" 
valign="bottom" height="7" width="9"><img border="0" hspace="0" vspace="0" 
height="7" width="9" src="images/bar-top-right.gif"></td>
  </tr>
  <tr>
  <td background="images/bar-border-left.gif" width="9"><img border="0" 
hspace="0" vspace="0" height="1" width="9" src="images/void.gif"></td><td 
bgcolor="#0086b2" width="100%"><font color="#ffffff" 
face="arial,helvetica,sanserif" size="+1"><img border="0" hspace="0" vspace="0" 
height="5" width="5" src="images/void.gif"><b>What, why and 
when...</b></font></td><td background="images/bar-border-right.gif" 
width="9"><img border="0" hspace="0" vspace="0" height="1" width="9" 
src="images/void.gif"></td>
  </tr>
  <tr>
  <td align="right" valign="top" height="12" width="9"><img border="0" 
hspace="0" vspace="0" height="12" width="9" 
src="images/bar-bottom-left.gif"></td><td 
background="images/bar-border-bottom.gif"><img border="0" hspace="0" vspace="0" 
height="12" src="images/void.gif"></td><td align="left" valign="top" 
height="12" width="9"><img border="0" hspace="0" vspace="0" height="12" 
width="9" src="images/bar-bottom-right.gif"></td>
  </tr>
  </table>
  <table cellpadding="0" cellspacing="0" width="98%" border="0">
  <tr>
  <td><font color="#000000" face="arial,helvetica,sanserif">
                        
  <p align="justify">This is a list of the available jars, what they are, where 
they come from,
     and what they do.</p>
                        
  <table cellpadding="2" cellspacing="2" border="0" width="100%">
  <caption></caption>
                                
  <tr>
                                        
  <td align="center" valign="center" rowspan="1" colspan="1" 
bgcolor="#039acc"><font face="arial,helvetica,sanserif" size="-1" 
color="#ffffff"><b>Jar name</b>&nbsp;
        </font></td>
                                        <td align="center" valign="center" 
rowspan="1" colspan="1" bgcolor="#039acc"><font face="arial,helvetica,sanserif" 
size="-1" color="#ffffff"><b>Description</b>&nbsp;
        </font></td>
                                        <td align="center" valign="center" 
rowspan="1" colspan="1" bgcolor="#039acc"><font face="arial,helvetica,sanserif" 
size="-1" color="#ffffff"><b>Required by Core Cocoon</b>&nbsp;
        </font></td>
                                        <td align="center" valign="center" 
rowspan="1" colspan="1" bgcolor="#039acc"><font face="arial,helvetica,sanserif" 
size="-1" color="#ffffff"><b>Required by Cocoon Component</b>&nbsp;
        </font></td>
                                        <td align="center" valign="center" 
rowspan="1" colspan="1" bgcolor="#039acc"><font face="arial,helvetica,sanserif" 
size="-1" color="#ffffff"><b>Required by Cocoon Sample</b>&nbsp;
        </font></td>
                                        <td align="center" valign="center" 
rowspan="1" colspan="1" bgcolor="#039acc"><font face="arial,helvetica,sanserif" 
size="-1" color="#ffffff"><b>Comment</b>&nbsp;
        </font></td>
                                
  </tr>
                                
  <tr>
                                        
  <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font 
face="arial,helvetica,sanserif" size="-1" color="#000000">
                                                <a 
href="http://jakarta.apache.org/avalon/excalibur/";>avalon-excalibur</a>
                                        &nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">Part of jakarta-avalon, it is a set of classes and 
patterns that
         support high level server development.&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">Yes&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">&nbsp;
        </font></td>
                                
  </tr>
                                
  <tr>
                                        
  <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font 
face="arial,helvetica,sanserif" size="-1" color="#000000">
                                                <a 
href="http://jakarta.apache.org/avalon/framework/";>avalon-framework</a>
                                        &nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">Part of jakarta-avalon, it is a set of classes and 
patterns that
         support high level server development.&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">Yes&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">&nbsp;
        </font></td>
                                
  </tr>
                                
  <tr>
                                        
  <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font 
face="arial,helvetica,sanserif" size="-1" color="#000000">
                                                <a 
href="http://xml.apache.org/batik/";>batik-libs</a>
                                        &nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">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.&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">No&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">SVGSerializer serializer ("svg2jpeg", "svg2png")&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">Hello World - SVG, SVG Welcome page, etc&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">&nbsp;
        </font></td>
                                
  </tr>
                                
  <tr>
                                        
  <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font 
face="arial,helvetica,sanserif" size="-1" color="#000000">
                                                <a 
href="http://oss.software.ibm.com/developerworks/projects/bsf";>bsf</a>
                                        &nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">The Bean Scripting Framework (BSF) is an architecture 
for
         incorporating scripting into, and enabling scripting against, Java
         applications and applets. Using BSF, an application can use scripting,
         and become scriptable, against any BSF-supported language. When BSF
         supports additional languages, the application will automatically
         support the additional languages.&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">No&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">ScriptGenerator Generator ("script"), 
ScriptAction&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">Dynamic Content - Javascript Generator and Python 
Generator&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">I <i>believe</i> that this project is in talks with 
Apache to be
         'adopted'.&nbsp;
        </font></td>
                                
  </tr>
                                
  <tr>
                                        
  <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font 
face="arial,helvetica,sanserif" size="-1" color="#000000">
                                                <a 
href="http://xml.apache.org/cocoon/";>Cocoon</a>
                                        &nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">Cocoon is a 100% pure Java publishing framework that 
relies on
         new W3C technologies (such as XML, XSL, SVG, etc..) to provide web
         content.&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">Yes!&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">All&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">All&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">Delete this == no webapp!&nbsp;
        </font></td>
                                
  </tr>
                                
  <tr>
                                        
  <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font 
face="arial,helvetica,sanserif" size="-1" color="#000000">
                                                <a 
href="http://xml.apache.org/fop/";>fop</a>
                                        &nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">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.&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">No&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">FOPSerializer serializer ("fo2pdf")&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">Hello World - PDF, Static content - formatting 
objects&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">&nbsp;
        </font></td>
                                
  </tr>
                                
  <tr>
                                        
  <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font 
face="arial,helvetica,sanserif" size="-1" color="#000000">
                                                <a 
href="http://hsqldb.sourceforge.net/";>hsqldb</a>
                                        &nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">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.&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">No&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">Dynamic Content database demos, Sample Forms, Web 
Applications&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">Used in the demos to provide a database.&nbsp;
        </font></td>
                                
  </tr>
                                
  <tr>
                                        
  <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font 
face="arial,helvetica,sanserif" size="-1" color="#000000">
                                                <a 
href="http://jakarta.apache.org/regexp/";>jakarta-regexp</a>
                                        &nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">Regexp is a Java Regular Expression package that      
  was graciously
         donated to the Apache Software Foundation by Jonathan Locke.&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">No&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">
         DirectoryGenerator ("directory") generator,
         RegexpURIMatcherFactory ("regexp") matcher,
         RegexpTargetHostMatcherFactory matcher,
         AbstractValidatorAction action,
         LocaleAction action
       &nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">&nbsp;
        </font></td>
                                
  </tr>
                                
  <tr>
                                        
  <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font 
face="arial,helvetica,sanserif" size="-1" color="#000000">javac&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">Java Compiler.&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">Yes&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">Sitemap/xsp compilation.  Can be replaced by another 
Java compiler,
         for example, <a 
href="http://oss.software.ibm.com/developerworks/opensource/jikes/";>Jikes</a>.&nbsp;
        </font></td>
                                
  </tr>
                                
  <tr>
                                        
  <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font 
face="arial,helvetica,sanserif" size="-1" color="#000000">
                                                <a 
href="http://java.sun.com/products/jimi/";>jimi</a>
                                        &nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">Jimi is a class library for managing images. Its 
primary function is
         image I/O.&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">No&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">Used by FOP?&nbsp;
        </font></td>
                                
  </tr>
                                
  <tr>
                                        
  <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font 
face="arial,helvetica,sanserif" size="-1" color="#000000">
                                                <a 
href="http://www.redrival.com/greenrd/java/jstyle/";>jstyle</a>
                                        &nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">This program formats Java code with consistent 
indentation and so
         forth, to make it easier to read and maintain.&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">No&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">JstyleFormatter java code formatter&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">Sitemap and XSP code formatting, configured in 
cocoon.xconf&nbsp;
        </font></td>
                                
  </tr>
                                
  <tr>
                                        
  <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font 
face="arial,helvetica,sanserif" size="-1" color="#000000">
                                                <a 
href="http://www.junit.org/";>junit</a>
                                        &nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">JUnit is a simple framework to write repeatable 
tests.&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">No&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">Not used currently.&nbsp;
        </font></td>
                                
  </tr>
                                
  <tr>
                                        
  <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font 
face="arial,helvetica,sanserif" size="-1" color="#000000">
                                                <a 
href="http://jakarta.apache.org/avalon/logkit/";>logkit</a>
                                        &nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">jakarta-avalon-logkit is a logging toolkit designed 
for secure
         performance orientated logging in applications.&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">Yes&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">Cocoon logging.&nbsp;
        </font></td>
                                
  </tr>
                                
  <tr>
                                        
  <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font 
face="arial,helvetica,sanserif" size="-1" color="#000000">
                                                <a 
href="http://www.weft.co.uk/library/maybeupload/";>maybeupload</a>
                                        &nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">MaybeUpload is a Java language package intended to 
make it much easier
         to write Servlets to handle RFC1867 file upload.&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">No&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">File upload capability - very useful in servlet 
environment.&nbsp;
        </font></td>
                                
  </tr>
                                
  <tr>
                                        
  <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font 
face="arial,helvetica,sanserif" size="-1" color="#000000">
                                                <a 
href="http://www.sun.com/xml/developers/resolver/";>resolver</a>
                                        &nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">Entity resolution catalogs - XML Entity and URI 
Resolvers&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">Yes&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">Resolver&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">Entity Catalogs&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">&nbsp;
        </font></td>
                                
  </tr>
                                
  <tr>
                                        
  <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font 
face="arial,helvetica,sanserif" size="-1" color="#000000">
                                                <a 
href="http://www.mozilla.org/rhino/";>rhino</a>
                                        &nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">Rhino is an implementation of JavaScript in 
Java.&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">No&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">ScriptGenerator generator ("script")&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">Dynamic Content - Javascript Generator&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">&nbsp;
        </font></td>
                                
  </tr>
                                
  <tr>
                                        
  <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font 
face="arial,helvetica,sanserif" size="-1" color="#000000">
                                                <a 
href="http://lempinen.net/sami/jtidy/";>tidy</a>
                                        &nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">Tidy is a HTML syntax checker and pretty 
printer.&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">No&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">HTMLGenerator generator ("html")&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">News Feeds examples&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">Shouldn't this jar be jTidy?&nbsp;
        </font></td>
                                
  </tr>
                                
  <tr>
                                        
  <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font 
face="arial,helvetica,sanserif" size="-1" color="#000000">
                                                <a 
href="http://jakarta.apache.org/velocity/";>velocity</a>
                                        &nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">Velocity is a general purpose template engine written 
in Java.&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">No&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">VelocityGenerator generator ("velocity")&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">Dynamic Content - Velocity Generator&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">Does this jar <b>need</b> to include within it other
         projects, eg oro and logkit?&nbsp;
        </font></td>
                                
  </tr>
                                
  <tr>
                                        
  <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font 
face="arial,helvetica,sanserif" size="-1" color="#000000">
                                                <a 
href="http://xml.apache.org/xalan/";>xalan</a>
                                        &nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">Xalan is an XSLT processor that fully supports the 
W3C specs.&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">Yes&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">XSL transformations - can be replaced by another XSLT 
processor.&nbsp;
        </font></td>
                                
  </tr>
                                
  <tr>
                                        
  <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font 
face="arial,helvetica,sanserif" size="-1" color="#000000">
                                                <a 
href="http://xml.apache.org/xerces-j/";>xerces</a>
                                        &nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">Xerces is an XML parser.&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">Yes&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">XML parsing - can be replaced by another XML 
parser.&nbsp;
        </font></td>
                                
  </tr>
     
  <tr>
       
  <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font 
face="arial,helvetica,sanserif" size="-1" color="#000000">xml-apis&nbsp;
        </font></td>
       <td align="left" valign="top" rowspan="1" colspan="1" 
bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" size="-1" 
color="#000000">JAXP, DOM and SAX interfaces. 
           These are the common interfaces for XML processing.
       &nbsp;
        </font></td>
       <td align="left" valign="top" rowspan="1" colspan="1" 
bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" size="-1" 
color="#000000">Yes&nbsp;
        </font></td>
       <td align="left" valign="top" rowspan="1" colspan="1" 
bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" size="-1" 
color="#000000">All&nbsp;
        </font></td>
       <td align="left" valign="top" rowspan="1" colspan="1" 
bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" size="-1" 
color="#000000">All&nbsp;
        </font></td>
       <td align="left" valign="top" rowspan="1" colspan="1" 
bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" size="-1" 
color="#000000">&nbsp;
        </font></td>
     
  </tr>
                                
  <tr>
                                        
  <td align="left" valign="top" rowspan="1" colspan="1" bgcolor="#a0ddf0"><font 
face="arial,helvetica,sanserif" size="-1" color="#000000">
                                                <a 
href="http://www.jclark.com/xml/xt.html";>xt</a>
                                        &nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">XT is an implementation in Java of XSLT.&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">No&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">XTTransformer transformer&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">&nbsp;
        </font></td>
                                        <td align="left" valign="top" 
rowspan="1" colspan="1" bgcolor="#a0ddf0"><font face="arial,helvetica,sanserif" 
size="-1" color="#000000">? why have xt <b>and</b> xalan. Has this not been
         superseded by the TraxTransformer ?&nbsp;
        </font></td>
                                
  </tr>
                        
  </table>
                
  </font></td>
  </tr>
  </table>
  </div>
  <br>
        
  
  </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-2001 The Apache Software Foundation. 
All Rights Reserved.</i></font></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  
xml-site/targets/cocoon/installing/graphics/Download-label.jpg
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/installing/graphics/Download-label_over.jpg
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/installing/graphics/Installation-separator.jpg
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/installing/graphics/Installing-label.jpg
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/installing/graphics/Installing-label_over.jpg
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/installing/graphics/Jars-label.jpg
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/installing/graphics/Jars-label_over.jpg
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/installing/graphics/Main-label.jpg
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/installing/graphics/Main-label_over.jpg
  
        <<Binary file>>
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
        <<Binary file>>
  
  
  No                   revision
  
  
  No                   revision
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/installing/images/bar-border-bottom.gif
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/installing/images/bar-border-left.gif
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/installing/images/bar-border-right.gif
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/installing/images/bar-border-top.gif
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/installing/images/bar-bottom-left.gif
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/installing/images/bar-bottom-right.gif
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/installing/images/bar-top-left.gif
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/installing/images/bar-top-right.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/installing/images/bottom.gif
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/installing/images/button-asf-hi.gif
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/installing/images/button-asf-lo.gif
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/installing/images/button-w3c-hi.gif
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/installing/images/button-w3c-lo.gif
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/installing/images/button-xml-hi.gif
  
        <<Binary file>>
  
  
  1.1                  
xml-site/targets/cocoon/installing/images/button-xml-lo.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/installing/images/close.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/installing/images/dot.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/installing/images/join.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/installing/images/line.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/installing/images/logo.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/installing/images/note.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/installing/images/right.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/installing/images/void.gif
  
        <<Binary file>>
  
  
  1.1                  xml-site/targets/cocoon/installing/resources/script.js
  
  Index: script.js
  ===================================================================
  rolloverImagesOn=new Array();
  rolloverImagesOff=new Array();
  
  function rolloverOn(name) {
    if(document.images[name] && rolloverImagesOn[name]) 
document.images[name].src=rolloverImagesOn[name].src;
  }
  
  function rolloverOff(name) {
   if(document.images[name] && rolloverImagesOff[name]) 
document.images[name].src=rolloverImagesOff[name].src;
  }
  
  
  function rolloverLoad(name,on,off) {
    rolloverImagesOn[name]=new Image();
    rolloverImagesOn[name].src=mangle(on);
    rolloverImagesOff[name]=new Image();
    rolloverImagesOff[name].src=mangle(off);
  }
  
  function mangle(name) {
  
    name = name.replace(/:/g, "_");
    name = name.replace(/\?/g, "_");
    name = name.replace(/\"/g, "\'");
  
    return name;
  }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to