You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by as...@apache.org on 2007/09/08 22:17:47 UTC
svn commit: r573901 [3/44] - in /cocoon/site: site/ site/2.0/
site/2.0/developing/ site/2.0/faq/ site/2.0/howto/chaperon/
site/2.0/installing/ site/2.0/plan/ site/2.0/snippet/ site/2.0/tutorial/
site/2.0/userdocs/ site/2.0/userdocs/actions/ site/2.0/us...
Modified: cocoon/site/site/2.0/developing/deliquick.html
URL: http://svn.apache.org/viewvc/cocoon/site/site/2.0/developing/deliquick.html?rev=573901&r1=573900&r2=573901&view=diff
==============================================================================
--- cocoon/site/site/2.0/developing/deliquick.html (original)
+++ cocoon/site/site/2.0/developing/deliquick.html Sat Sep 8 13:17:41 2007
@@ -1,179 +1,179 @@
-<html>
-<head>
-<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>DELI Quick Start Guide</title>
-<STYLE type="text/css">
-a.menu {
- color: #FFFFFF;
- text-align:left;
- font-size:12px;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-weight:plain;
- text-decoration:none;
- padding-left: 14px
-}
-
-A.menu:hover {
- color: #FFCC00
-}
-
-
-.menutitle {
- color: #000000;
- text-align:left;
- font-size:10px;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-weight:bold;
- padding-left: 8px
-}
-.menuselected {
- color: #FFCC00;
- text-align:left;
- font-size:12px;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-weight:bold;
- padding-left: 14px
-}
-</STYLE>
-</head>
-<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#cc0000" vlink="#0086b2" link="#039acc" text="#000000">
-<table border="0" cellpadding="0" cellspacing="0" width="100%">
-<tr>
-<td align="left" valign="top" rowspan="3" height="60" width="135"><img border="0" vspace="0" hspace="0" src="images/logo.gif" height="60" width="135"></td><td background="images/line.gif" rowspan="1" colSpan="2" align="left" valign="top" height="0" width="100%"></td><td align="left" valign="top" rowspan="3" height="60" width="29"><img border="0" vspace="0" hspace="0" src="images/right.gif" height="60" width="29"></td>
-</tr>
-<tr>
-<td bgcolor="#0086b2" colspan="2" align="right" valign="top" height="35" width="100%"><font color="#ffffff" face="Verdana, Arial, Helvetica, sans-serif" size="5">DELI Quick Start Guide</font></td>
-</tr>
-<tr>
-<td background="images/bottom.gif" colspan="2" width="100%" valign="top" height="20" bgcolor="#0086b2" align="right">
-<table width="288" cellspacing="0" cellpadding="0" border="0">
-<tr>
-<td align="left" valign="top" height="20" width="96"><a target="new" href="http://xml.apache.org/"><img border="0" vspace="0" hspace="0" name="xml" src="images/button-xml-lo.gif" height="20" width="96" alt="http://xml.apache.org/"></a></td><td align="left" valign="top" height="20" width="96"><a target="new" href="http://www.apache.org/"><img border="0" vspace="0" hspace="0" name="asf" src="images/button-asf-lo.gif" height="20" width="96" alt="http://www.apache.org/"></a></td><td align="left" valign="top" height="20" width="96"><a target="new" href="http://www.w3.org/"><img border="0" vspace="0" hspace="0" name="w3c" src="images/button-w3c-lo.gif" height="20" width="96" alt="http://www.w3.org/"></a></td>
-</tr>
-</table>
-</td>
-</tr>
-</table>
-<table width="100%" cellspacing="0" cellpadding="0" border="0">
-<tr width="100%">
-<td align="left" valign="top" width="120">
-<table width="120" cellspacing="0" cellpadding="0" border="0" bgcolor="#a0a0a0">
-<tr>
-<td valign="top" align="left"><img width="120" vspace="0" src="images/join.gif" hspace="0" height="14" border="0"><br>
-</td>
-</tr>
-<tr>
-<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="../index.html">Main</a></td>
-</tr>
-<tr>
-<td background="images/label-background_b.gif" bgcolor="#959595" valign="top"><img width="120" height="6" src="images/separator.gif"><br>
-<span class="menutitle">Concepts</span></td>
-</tr>
-<tr>
-<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="httprequest.html">Internals</a></td>
-</tr>
-<tr>
-<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="extending.html">Extending</a></td>
-</tr>
-<tr>
-<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="avalon.html">Avalon</a></td>
-</tr>
-<tr>
-<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="datasources.html">Using Databases</a></td>
-</tr>
-<tr>
-<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="parent-component-manager.html">Parent CM</a></td>
-</tr>
-<tr>
-<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><span class="menuselected">DELI Quick Start</span></td>
-</tr>
-<tr>
-<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="deli.html">DELI</a></td>
-</tr>
-<tr>
-<td background="images/label-background_b.gif" bgcolor="#959595" valign="top"><img width="120" height="6" src="images/separator.gif"><br>
-<span class="menutitle">Webapps</span></td>
-</tr>
-<tr>
-<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="webapps/index.html">Developing Webapps</a></td>
-</tr>
-<tr>
-<td background="images/label-background_b.gif" bgcolor="#959595" valign="top"><img width="120" height="6" src="images/separator.gif"><br>
-<span class="menutitle">Java</span></td>
-</tr>
-<tr>
-<td valign="top" background="images/label-background_a.gif" bgcolor="#959595"><a class="menu" target="new" href="../apidocs/index.html">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="15" cellpadding="0" border="0">
-<tr>
-<td>
-
-
- <font face="verdana, helvetica, sans serif" size="+2" color="#0086b2">DELI Quick Start Guide</font>
-<hr style="color: #0086b2" size="1">
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">If you are seeing the 'DELI is switched off' message when you try the test pages then you need to enable DELI. If you do not
-want to rebuild Cocoon, just
-add the following lines to the deployed <code><font face="courier, monospaced">cocoon.xconf</font></code>:</font>
-</p>
-
-<div align="center">
-<table border="0" cellpadding="0" cellspacing="4">
-<tr>
-<td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
-</tr>
-<tr>
-<td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
-<pre>
-<deli class="org.apache.cocoon.components.deli.DeliImpl">
- <parameter name="deli-config-file" value="resources/deli/config/deliCocoonConfig.xml"/>
-</deli>
-</pre>
-</td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
-</tr>
-<tr>
-<td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
-</tr>
-</table>
-</div>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">However if you are developing with Cocoon and need DELI you may prefer to make the same change to the <code><font face="courier, monospaced">deli.xconf</font></code> file in
-<code><font face="courier, monospaced">src\java\components\deli</font></code>. When you build Cocoon, this file is inserted into the <code><font face="courier, monospaced">cocoon.xconf</font></code> file.</font>
-</p>
-
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">By default DELI recognises Internet Explorer, Netscape, Opera, Amaya
-and the Nokia WAP development kit as legacy browsers. If you are
-using a different browser, you may need to edit the
-<code><font face="courier, monospaced">legacyDevices.xml</font></code>, the DELI legacy device support file. For more
-details see the <a href="deli.html">DELI documentation</a>.</font>
-</p>
-
-
-
-
-</td>
-</tr>
-</table>
-</td>
-</tr>
-</table>
-<table width="100%" cellspacing="0" cellpadding="0" border="0">
-<tr>
-<td bgcolor="#0086b2"><img width="1" src="images/dot.gif" height="1"></td>
-</tr>
-<tr>
-<td align="center"><font size="-1" face="arial,helvetica,sanserif" color="#0086b2"><i>Copyright © 1999-2002 The Apache Software Foundation. All Rights Reserved.</i></font></td>
-</tr>
-</table>
-</body>
-</html>
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>DELI Quick Start Guide</title>
+<STYLE type="text/css">
+a.menu {
+ color: #FFFFFF;
+ text-align:left;
+ font-size:12px;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-weight:plain;
+ text-decoration:none;
+ padding-left: 14px
+}
+
+A.menu:hover {
+ color: #FFCC00
+}
+
+
+.menutitle {
+ color: #000000;
+ text-align:left;
+ font-size:10px;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-weight:bold;
+ padding-left: 8px
+}
+.menuselected {
+ color: #FFCC00;
+ text-align:left;
+ font-size:12px;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-weight:bold;
+ padding-left: 14px
+}
+</STYLE>
+</head>
+<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#cc0000" vlink="#0086b2" link="#039acc" text="#000000">
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr>
+<td align="left" valign="top" rowspan="3" height="60" width="135"><img border="0" vspace="0" hspace="0" src="images/logo.gif" height="60" width="135"></td><td background="images/line.gif" rowspan="1" colSpan="2" align="left" valign="top" height="0" width="100%"></td><td align="left" valign="top" rowspan="3" height="60" width="29"><img border="0" vspace="0" hspace="0" src="images/right.gif" height="60" width="29"></td>
+</tr>
+<tr>
+<td bgcolor="#0086b2" colspan="2" align="right" valign="top" height="35" width="100%"><font color="#ffffff" face="Verdana, Arial, Helvetica, sans-serif" size="5">DELI Quick Start Guide</font></td>
+</tr>
+<tr>
+<td background="images/bottom.gif" colspan="2" width="100%" valign="top" height="20" bgcolor="#0086b2" align="right">
+<table width="288" cellspacing="0" cellpadding="0" border="0">
+<tr>
+<td align="left" valign="top" height="20" width="96"><a target="new" href="http://xml.apache.org/"><img border="0" vspace="0" hspace="0" name="xml" src="images/button-xml-lo.gif" height="20" width="96" alt="http://xml.apache.org/"></a></td><td align="left" valign="top" height="20" width="96"><a target="new" href="http://www.apache.org/"><img border="0" vspace="0" hspace="0" name="asf" src="images/button-asf-lo.gif" height="20" width="96" alt="http://www.apache.org/"></a></td><td align="left" valign="top" height="20" width="96"><a target="new" href="http://www.w3.org/"><img border="0" vspace="0" hspace="0" name="w3c" src="images/button-w3c-lo.gif" height="20" width="96" alt="http://www.w3.org/"></a></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="100%" cellspacing="0" cellpadding="0" border="0">
+<tr width="100%">
+<td align="left" valign="top" width="120">
+<table width="120" cellspacing="0" cellpadding="0" border="0" bgcolor="#a0a0a0">
+<tr>
+<td valign="top" align="left"><img width="120" vspace="0" src="images/join.gif" hspace="0" height="14" border="0"><br>
+</td>
+</tr>
+<tr>
+<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="../index.html">Main</a></td>
+</tr>
+<tr>
+<td background="images/label-background_b.gif" bgcolor="#959595" valign="top"><img width="120" height="6" src="images/separator.gif"><br>
+<span class="menutitle">Concepts</span></td>
+</tr>
+<tr>
+<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="httprequest.html">Internals</a></td>
+</tr>
+<tr>
+<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="extending.html">Extending</a></td>
+</tr>
+<tr>
+<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="avalon.html">Avalon</a></td>
+</tr>
+<tr>
+<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="datasources.html">Using Databases</a></td>
+</tr>
+<tr>
+<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="parent-component-manager.html">Parent CM</a></td>
+</tr>
+<tr>
+<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><span class="menuselected">DELI Quick Start</span></td>
+</tr>
+<tr>
+<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="deli.html">DELI</a></td>
+</tr>
+<tr>
+<td background="images/label-background_b.gif" bgcolor="#959595" valign="top"><img width="120" height="6" src="images/separator.gif"><br>
+<span class="menutitle">Webapps</span></td>
+</tr>
+<tr>
+<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="webapps/index.html">Developing Webapps</a></td>
+</tr>
+<tr>
+<td background="images/label-background_b.gif" bgcolor="#959595" valign="top"><img width="120" height="6" src="images/separator.gif"><br>
+<span class="menutitle">Java</span></td>
+</tr>
+<tr>
+<td valign="top" background="images/label-background_a.gif" bgcolor="#959595"><a class="menu" target="new" href="../apidocs/index.html">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="15" cellpadding="0" border="0">
+<tr>
+<td>
+
+
+ <font face="verdana, helvetica, sans serif" size="+2" color="#0086b2">DELI Quick Start Guide</font>
+<hr style="color: #0086b2" size="1">
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">If you are seeing the 'DELI is switched off' message when you try the test pages then you need to enable DELI. If you do not
+want to rebuild Cocoon, just
+add the following lines to the deployed <code><font face="courier, monospaced">cocoon.xconf</font></code>:</font>
+</p>
+
+<div align="center">
+<table border="0" cellpadding="0" cellspacing="4">
+<tr>
+<td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
+</tr>
+<tr>
+<td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
+<pre>
+<deli class="org.apache.cocoon.components.deli.DeliImpl">
+ <parameter name="deli-config-file" value="resources/deli/config/deliCocoonConfig.xml"/>
+</deli>
+</pre>
+</td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
+</tr>
+<tr>
+<td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
+</tr>
+</table>
+</div>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">However if you are developing with Cocoon and need DELI you may prefer to make the same change to the <code><font face="courier, monospaced">deli.xconf</font></code> file in
+<code><font face="courier, monospaced">src\java\components\deli</font></code>. When you build Cocoon, this file is inserted into the <code><font face="courier, monospaced">cocoon.xconf</font></code> file.</font>
+</p>
+
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">By default DELI recognises Internet Explorer, Netscape, Opera, Amaya
+and the Nokia WAP development kit as legacy browsers. If you are
+using a different browser, you may need to edit the
+<code><font face="courier, monospaced">legacyDevices.xml</font></code>, the DELI legacy device support file. For more
+details see the <a href="deli.html">DELI documentation</a>.</font>
+</p>
+
+
+
+
+</td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="100%" cellspacing="0" cellpadding="0" border="0">
+<tr>
+<td bgcolor="#0086b2"><img width="1" src="images/dot.gif" height="1"></td>
+</tr>
+<tr>
+<td align="center"><font size="-1" face="arial,helvetica,sanserif" color="#0086b2"><i>Copyright © 1999-2002 The Apache Software Foundation. All Rights Reserved.</i></font></td>
+</tr>
+</table>
+</body>
+</html>
Modified: cocoon/site/site/2.0/developing/httprequest.html
URL: http://svn.apache.org/viewvc/cocoon/site/site/2.0/developing/httprequest.html?rev=573901&r1=573900&r2=573901&view=diff
==============================================================================
--- cocoon/site/site/2.0/developing/httprequest.html (original)
+++ cocoon/site/site/2.0/developing/httprequest.html Sat Sep 8 13:17:41 2007
@@ -1,758 +1,758 @@
-<html>
-<head>
-<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Request Processing</title>
-<STYLE type="text/css">
-a.menu {
- color: #FFFFFF;
- text-align:left;
- font-size:12px;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-weight:plain;
- text-decoration:none;
- padding-left: 14px
-}
-
-A.menu:hover {
- color: #FFCC00
-}
-
-
-.menutitle {
- color: #000000;
- text-align:left;
- font-size:10px;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-weight:bold;
- padding-left: 8px
-}
-.menuselected {
- color: #FFCC00;
- text-align:left;
- font-size:12px;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-weight:bold;
- padding-left: 14px
-}
-</STYLE>
-</head>
-<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#cc0000" vlink="#0086b2" link="#039acc" text="#000000">
-<table border="0" cellpadding="0" cellspacing="0" width="100%">
-<tr>
-<td align="left" valign="top" rowspan="3" height="60" width="135"><img border="0" vspace="0" hspace="0" src="images/logo.gif" height="60" width="135"></td><td background="images/line.gif" rowspan="1" colSpan="2" align="left" valign="top" height="0" width="100%"></td><td align="left" valign="top" rowspan="3" height="60" width="29"><img border="0" vspace="0" hspace="0" src="images/right.gif" height="60" width="29"></td>
-</tr>
-<tr>
-<td bgcolor="#0086b2" colspan="2" align="right" valign="top" height="35" width="100%"><font color="#ffffff" face="Verdana, Arial, Helvetica, sans-serif" size="5">Request Processing</font></td>
-</tr>
-<tr>
-<td background="images/bottom.gif" colspan="2" width="100%" valign="top" height="20" bgcolor="#0086b2" align="right">
-<table width="288" cellspacing="0" cellpadding="0" border="0">
-<tr>
-<td align="left" valign="top" height="20" width="96"><a target="new" href="http://xml.apache.org/"><img border="0" vspace="0" hspace="0" name="xml" src="images/button-xml-lo.gif" height="20" width="96" alt="http://xml.apache.org/"></a></td><td align="left" valign="top" height="20" width="96"><a target="new" href="http://www.apache.org/"><img border="0" vspace="0" hspace="0" name="asf" src="images/button-asf-lo.gif" height="20" width="96" alt="http://www.apache.org/"></a></td><td align="left" valign="top" height="20" width="96"><a target="new" href="http://www.w3.org/"><img border="0" vspace="0" hspace="0" name="w3c" src="images/button-w3c-lo.gif" height="20" width="96" alt="http://www.w3.org/"></a></td>
-</tr>
-</table>
-</td>
-</tr>
-</table>
-<table width="100%" cellspacing="0" cellpadding="0" border="0">
-<tr width="100%">
-<td align="left" valign="top" width="120">
-<table width="120" cellspacing="0" cellpadding="0" border="0" bgcolor="#a0a0a0">
-<tr>
-<td valign="top" align="left"><img width="120" vspace="0" src="images/join.gif" hspace="0" height="14" border="0"><br>
-</td>
-</tr>
-<tr>
-<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="../index.html">Main</a></td>
-</tr>
-<tr>
-<td background="images/label-background_b.gif" bgcolor="#959595" valign="top"><img width="120" height="6" src="images/separator.gif"><br>
-<span class="menutitle">Concepts</span></td>
-</tr>
-<tr>
-<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><span class="menuselected">Internals</span></td>
-</tr>
-<tr>
-<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="extending.html">Extending</a></td>
-</tr>
-<tr>
-<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="avalon.html">Avalon</a></td>
-</tr>
-<tr>
-<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="datasources.html">Using Databases</a></td>
-</tr>
-<tr>
-<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="parent-component-manager.html">Parent CM</a></td>
-</tr>
-<tr>
-<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="deliquick.html">DELI Quick Start</a></td>
-</tr>
-<tr>
-<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="deli.html">DELI</a></td>
-</tr>
-<tr>
-<td background="images/label-background_b.gif" bgcolor="#959595" valign="top"><img width="120" height="6" src="images/separator.gif"><br>
-<span class="menutitle">Webapps</span></td>
-</tr>
-<tr>
-<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="webapps/index.html">Developing Webapps</a></td>
-</tr>
-<tr>
-<td background="images/label-background_b.gif" bgcolor="#959595" valign="top"><img width="120" height="6" src="images/separator.gif"><br>
-<span class="menutitle">Java</span></td>
-</tr>
-<tr>
-<td valign="top" background="images/label-background_a.gif" bgcolor="#959595"><a class="menu" target="new" href="../apidocs/index.html">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="15" cellpadding="0" border="0">
-<tr>
-<td>
-
-
- <font face="verdana, helvetica, sans serif" size="+2" color="#0086b2">Introduction</font>
-<hr style="color: #0086b2" size="1">
-
-<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>Goal</b></font>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">This document tries to explain Apache Cocoon
- technically. We do this by describing what happens if somebody types in the URL
- of a simple Cocoon page.</font>
-</p>
-
-
-<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>Intended public</b></font>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">The reader should have a knowledge of:</font>
-</p>
-
-<blockquote>
-<ul>
-
-<li>
-<font face="verdana, helvetica, sans serif">the Java 2 platform</font>
-</li>
-
-<li>
-<font face="verdana, helvetica, sans serif">the javax.servlet extensions</font>
-</li>
-
-<li>
-<font face="verdana, helvetica, sans serif">XML</font>
-</li>
-
-<li>
-<font face="verdana, helvetica, sans serif">HTTP</font>
-</li>
-
-</ul>
-</blockquote>
-
-
-
-<font face="verdana, helvetica, sans serif" size="+2" color="#0086b2">The configuration assumptions</font>
-<hr style="color: #0086b2" size="1">
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">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.</font>
-</p>
-
-<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>sitemap.xmap</b></font>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">The task of the sitemap is to define the pipelines that Cocoon will
- apply to URI's called in one's browser.</font>
-</p>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">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.</font>
-</p>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">The sitemap is defined in <code><font face="courier, monospaced">${cocoon}/sitemap.xmap</font></code>.</font>
-</p>
-
-<div align="center">
-<table border="0" cellpadding="0" cellspacing="4">
-<tr>
-<td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
-</tr>
-<tr>
-<td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
-<pre>
-<?xml version="1.0"?>
-
-<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
-
- <!--===========================Components================================-->
- <map:components>
-
- <map:generators default="file">
- <map:generator name="file" label="content"
- src="org.apache.cocoon.generation.FileGenerator"/>
- </map:generators>
-
- <map:transformers default="xslt">
- <map:transformer name="xslt"
- src="org.apache.cocoon.transformation.XalanTransformer">
- <use-request-parameters>false</use-request-parameters>
- </map:transformer>
- </map:transformers>
-
- <map:serializers default="html">
- <map:serializer name="html" mime-type="text/html"
- src="org.apache.cocoon.serialization.HTMLSerializer"/>
- </map:serializers>
-
- <map:selectors default="browser">
- <map:selector name="browser"
- factory="org.apache.cocoon.selection.BrowserSelector">
- <browser name="explorer" useragent="MSIE"/>
- <browser name="netscape" useragent="Mozilla"/>
- </map:selector>
- </map:selectors>
-
- <map:matchers default="uri">
- <map:matcher name="uri"
- factory="org.apache.cocoon.matching.WildcardURIMatcher"/>
- </map:matchers>
-
- </map:components>
-
- <!--===========================Pipelines=================================-->
- <map:pipelines>
- <map:pipeline>
- <map:match pattern="hello.html">
- <map:generate src="docs/samples/hello-page.xml"/>
- <map:transform src="stylesheets/page/simple-page2html.xsl"/>
- <map:serialize type="html"/>
- </map:match>
- </map:pipeline>
- </map:pipelines>
-
-</map:sitemap>
-</pre>
-</td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
-</tr>
-<tr>
-<td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
-</tr>
-</table>
-</div>
-
-
-<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>cocoon.xconf</b></font>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif"><code><font face="courier, monospaced">cocoon.xconf</font></code> is the file that defines the
- <a href="avalon.html">Avalon</a> Components.</font>
-</p>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">For our study, we need the standard <code><font face="courier, monospaced">cocoon.xconf</font></code> file
- of Cocoon.</font>
-</p>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">It can be found in <code><font face="courier, monospaced">${cocoon}/WEB-INF/cocoon.xconf</font></code>.</font>
-</p>
-
-<div align="center">
-<table border="0" cellpadding="0" cellspacing="4">
-<tr>
-<td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
-</tr>
-<tr>
-<td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
-<pre>
-<?xml version="1.0"?>
-
-<cocoon version="2.0">
-
-<!-- ===================== General Components =========================== -->
-
- <component role="org.apache.cocoon.components.parser.Parser"
- class="org.apache.cocoon.components.parser.JaxpParser"/>
- <component role="org.apache.cocoon.components.store.Store"
- class="org.apache.cocoon.components.store.MemoryStore"/>
-
- <component
- role="org.apache.cocoon.components.language.programming.ProgrammingLanguageSelector"
- class="org.apache.cocoon.CocoonComponentSelector">
- <component-instance name="java"
- class="org.apache.cocoon.components.language.programming.java.JavaLanguage">
- <parameter name="compiler"
- value="org.apache.cocoon.components.language.programming.java.Javac"/>
- <parameter name="code-formatter"
- value="org.apache.cocoon.components.language.programming.java.JstyleFormatter"/>
- <parameter name="class-loader"
- value="org.apache.cocoon.components.classloader.ClassLoaderManagerImpl"/>
- </component-instance>
- </component>
-
- <component role="org.apache.cocoon.components.classloader.ClassLoaderManager"
- class="org.apache.cocoon.components.classloader.ClassLoaderManagerImpl"/>
-
- <component
- role="org.apache.cocoon.components.language.markup.MarkupLanguageSelector"
- class="org.apache.cocoon.CocoonComponentSelector">
- <component-instance name="xsp"
- class="org.apache.cocoon.components.language.markup.xsp.XSPMarkupLanguage">
- <parameter name="prefix" value="xsp"/>
- <parameter name="uri" value="http://apache.org/xsp"/>
-
- <target-language name="java">
- <parameter name="core-logicsheet"
-value="resource://org/apache/cocoon/components/language/markup/xsp/java/xsp.xsl"/>
-
- <builtin-logicsheet>
- <parameter name="prefix" value="xsp-request"/>
- <parameter name="uri" value="http://apache.org/xsp/request/2.0"/>
- <parameter name="href"
-value="resource://org/apache/cocoon/components/language/markup/xsp/java/request.xsl"/>
- </builtin-logicsheet>
-
- <builtin-logicsheet>
- <parameter name="prefix" value="xsp-response"/>
- <parameter name="uri" value="http://apache.org/xsp/response/2.0"/>
- <parameter name="href"
-value="resource://org/apache/cocoon/components/language/markup/xsp/java/response.xsl"/>
- </builtin-logicsheet>
- </target-language>
- </component-instance>
-
- <component-instance name="sitemap"
- class="org.apache.cocoon.components.language.markup.sitemap.SitemapMarkupLanguage">
- <parameter name="prefix" value="map"/>
- <parameter name="uri" value="http://apache.org/cocoon/sitemap/1.0"/>
-
- <target-language name="java">
- <parameter name="core-logicsheet"
-value="resource://org/apache/cocoon/components/language/markup/sitemap/java/sitemap.xsl"/>
- </target-language>
- </component-instance>
- </component>
-
- <component role="org.apache.cocoon.components.language.generator.ProgramGenerator"
- class="org.apache.cocoon.components.language.generator.ProgramGeneratorImpl">
- <parameter name="auto-reload" value="true"/>
- </component>
-
- <!-- these components is used as a PoolController for the sitemap component pools -->
- <component role="org.apache.avalon.util.pool.PoolController"
- class="org.apache.cocoon.util.ComponentPoolController"/>
-
- <sitemap file="sitemap.xmap"/>
-</cocoon>
-</pre>
-</td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
-</tr>
-<tr>
-<td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
-</tr>
-</table>
-</div>
-
-
-
-<font face="verdana, helvetica, sans serif" size="+2" color="#0086b2">The sequence of things</font>
-<hr style="color: #0086b2" size="1">
-
-<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>Role of Tomcat</b></font>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">The role of Tomcat is to initialize the CocoonServlet, and to
- receive the HttpRequest and pass it on to the CocoonServlet.</font>
-</p>
-
-<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">Initialize CocoonServlet</font>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">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.</font>
-</p>
-
-
-<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">Pass HttpRequest</font>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">On reception of a HttpRequest, Tomcat calls
- <code><font face="courier, monospaced">CocoonServlet.service(HttpRequest, HttpResponse)</font></code>. This is also
- standard.</font>
-</p>
-
-
-
-<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>Initialization</b></font>
- <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">Overview</font>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">The steps that happen on initialization, are:</font>
-</p>
-
-<font face="verdana, helvetica, sans serif" color="#0086b2"><b>Find the classpath</b></font>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">Cocoon needs to know the classpath for compilation of the files
- it generates itself. This is where the classpath is stored.</font>
-</p>
-
-
-<font face="verdana, helvetica, sans serif" color="#0086b2"><b>Find the init file</b></font>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">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>).</font>
-</p>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">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.</font>
-</p>
-
-
-<font face="verdana, helvetica, sans serif" color="#0086b2"><b>Read the init file</b></font>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">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.</font>
-</p>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">"Roles" are a concept of <a href="avalon.html">Avalon</a>.</font>
-</p>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">The handling of <code><font face="courier, monospaced">cocoon.xconf</font></code> goes as follows:</font>
-</p>
-
-<blockquote>
-<ol>
-
-<li>
-<font face="verdana, helvetica, sans serif">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).</font>
-</li>
-
-<li>
-<font face="verdana, helvetica, sans serif">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.</font>
-</li>
-
-<li>
-<font face="verdana, helvetica, sans serif">Get the sitemap: Here the location of the sitemap is retrieved.
- The actual compilation of the sitemap occurs in the HttpRequest handling.</font>
-</li>
-
-</ol>
-</blockquote>
-
-
-
-<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">UML sequence diagram</font>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">You can find it <a href="images/initialize_Cocoon.png">here</a>.</font>
-</p>
-
-
-
-<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>HttpRequest handling</b></font>
- <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">Overview</font>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">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).</font>
-</p>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">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>. </font>
-</p>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">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:</font>
-</p>
-
-<blockquote>
-<ol>
-
-<li>
-<font face="verdana, helvetica, sans serif">The <code><font face="courier, monospaced">Handler</font></code> creates a <code><font face="courier, monospaced">File</font></code> object
- with the asked URL.</font>
-</li>
-
-<li>
-<font face="verdana, helvetica, sans serif">The <code><font face="courier, monospaced">Manager</font></code> sets the <code><font face="courier, monospaced">Composable</font></code> and the
- <code><font face="courier, monospaced">Configuration</font></code> of the <code><font face="courier, monospaced">Handler</font></code>. (These are
- <a href="avalon.html">Avalon</a> things).</font>
-</li>
-
-<li>
-<font face="verdana, helvetica, sans serif">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>
-<font face="verdana, helvetica, sans serif">The <code><font face="courier, monospaced">Handler</font></code> gets the
- <code><font face="courier, monospaced">"program-generator"</font></code> <code><font face="courier, monospaced">Component</font></code> from its
- <code><font face="courier, monospaced">Composable</font></code>.</font>
-</li>
-
-<li>
-<font face="verdana, helvetica, sans serif">The <code><font face="courier, monospaced">load()</font></code> method of this
- <code><font face="courier, monospaced">ProgramGeneratorImpl</font></code> is called. </font>
-</li>
-
-<li>
-<font face="verdana, helvetica, sans serif">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. </font>
-</li>
-
-<li>
-<font face="verdana, helvetica, sans serif">The <code><font face="courier, monospaced">ProgramGeneratorImpl</font></code> asks the
- <code><font face="courier, monospaced">SitemapMarkupLanguage</font></code> to generate code.</font>
-</li>
-
-<li>
-<font face="verdana, helvetica, sans serif">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.</font>
-</li>
-
-<li>
-<font face="verdana, helvetica, sans serif">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.</font>
-</li>
-
-</ol>
-</blockquote>
-</font>
-</li>
-
-<li>
-<font face="verdana, helvetica, sans serif">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.</font>
-</li>
-
-</ol>
-</blockquote>
-
-
-<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">UML sequence diagram</font>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">You can find it <a href="images/get_hello_html.png">here</a>.</font>
-</p>
-
-
-
-
-<font face="verdana, helvetica, sans serif" size="+2" color="#0086b2">Description of classes</font>
-<hr style="color: #0086b2" size="1">
-
-<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>CocoonServlet</b></font>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif"><code><font face="courier, monospaced">org.apache.cocoon.servlet.CocoonServlet</font></code></font>
-</p>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">This is the contact point for the servlet engine. It sets up the
- environment and passes all the work to a Cocoon object.</font>
-</p>
-
-
-<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>Cocoon</b></font>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif"><code><font face="courier, monospaced">org.apache.cocoon.Cocoon</font></code></font>
-</p>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">While this sounds to be the most important part of the Cocoon
- application, it is not. It is merely a Composable, meaning that it does some
- administrative work and gets other classes to work.</font>
-</p>
-
-
-<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>ConfigurationBuilder</b></font>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif"><code><font face="courier, monospaced">org.apache.avalon.ConfigurationBuilder</font></code></font>
-</p>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">This one generates a Configuration out of a xml file.</font>
-</p>
-
-
-<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>Parser</b></font>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif"><code><font face="courier, monospaced">org.apache.cocoon.components.parser.Parser</font></code></font>
-</p>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">An interface that takes an xml file and throws SAX events to the
- outside.</font>
-</p>
-
-
-<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>Configuration</b></font>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif"><code><font face="courier, monospaced">org.apache.avalon.Configuration</font></code></font>
-</p>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">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.</font>
-</p>
-
-
-<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>DefaultComponentManager</b></font>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif"><code><font face="courier, monospaced">org.apache.avalon.DefaultComponentManager</font></code></font>
-</p>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">Something that manages <a href="avalon.html">Avalon</a>
- Components.</font>
-</p>
-
-
-<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>Manager</b></font>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif"><code><font face="courier, monospaced">org.apache.cocoon.sitemap.Manager</font></code></font>
-</p>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">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.</font>
-</p>
-
-
-<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>Handler</b></font>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif"><code><font face="courier, monospaced">org.apache.cocoon.sitemap.Handler</font></code></font>
-</p>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">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.</font>
-</p>
-
-
-<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>ProgramGenerator</b></font>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif"><code><font face="courier, monospaced">org.apache.cocoon.components.language.programming.ProgrammingLanguage</font></code></font>
-</p>
-
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">Generates programs.</font>
-</p>
-
-
-<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>SitemapMarkupLanguage</b></font>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif"><code><font face="courier, monospaced">org.apache.cocoon.components.language.markup.sitemap.SitemapMarkupLanguage</font></code></font>
-</p>
-
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">This one knows the markup of the sitemap, and helps writing the
- source file of the sitemap class.</font>
-</p>
-
-
-<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>JavaLanguage</b></font>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif"><code><font face="courier, monospaced">org.apache.cocoon.components.language.programming.java.JavaLanguage</font></code></font>
-</p>
-
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">This takes care for outputing Java code as source of the sitemap
- class.</font>
-</p>
-
-
-<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>ResourcePipeline</b></font>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif"><code><font face="courier, monospaced">org.apache.cocoon.sitemap.ResourcePipeline</font></code></font>
-</p>
-
-<p>
-<font color="black" face="verdana,helvetica,sanserif">Holds the various steps that have to be taken when executing a
- pipeline.</font>
-</p>
-
-
-
-
-</td>
-</tr>
-</table>
-</td>
-</tr>
-</table>
-<table width="100%" cellspacing="0" cellpadding="0" border="0">
-<tr>
-<td bgcolor="#0086b2"><img width="1" src="images/dot.gif" height="1"></td>
-</tr>
-<tr>
-<td align="center"><font size="-1" face="arial,helvetica,sanserif" color="#0086b2"><i>Copyright © 1999-2002 The Apache Software Foundation. All Rights Reserved.</i></font></td>
-</tr>
-</table>
-</body>
-</html>
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Request Processing</title>
+<STYLE type="text/css">
+a.menu {
+ color: #FFFFFF;
+ text-align:left;
+ font-size:12px;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-weight:plain;
+ text-decoration:none;
+ padding-left: 14px
+}
+
+A.menu:hover {
+ color: #FFCC00
+}
+
+
+.menutitle {
+ color: #000000;
+ text-align:left;
+ font-size:10px;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-weight:bold;
+ padding-left: 8px
+}
+.menuselected {
+ color: #FFCC00;
+ text-align:left;
+ font-size:12px;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-weight:bold;
+ padding-left: 14px
+}
+</STYLE>
+</head>
+<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#cc0000" vlink="#0086b2" link="#039acc" text="#000000">
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr>
+<td align="left" valign="top" rowspan="3" height="60" width="135"><img border="0" vspace="0" hspace="0" src="images/logo.gif" height="60" width="135"></td><td background="images/line.gif" rowspan="1" colSpan="2" align="left" valign="top" height="0" width="100%"></td><td align="left" valign="top" rowspan="3" height="60" width="29"><img border="0" vspace="0" hspace="0" src="images/right.gif" height="60" width="29"></td>
+</tr>
+<tr>
+<td bgcolor="#0086b2" colspan="2" align="right" valign="top" height="35" width="100%"><font color="#ffffff" face="Verdana, Arial, Helvetica, sans-serif" size="5">Request Processing</font></td>
+</tr>
+<tr>
+<td background="images/bottom.gif" colspan="2" width="100%" valign="top" height="20" bgcolor="#0086b2" align="right">
+<table width="288" cellspacing="0" cellpadding="0" border="0">
+<tr>
+<td align="left" valign="top" height="20" width="96"><a target="new" href="http://xml.apache.org/"><img border="0" vspace="0" hspace="0" name="xml" src="images/button-xml-lo.gif" height="20" width="96" alt="http://xml.apache.org/"></a></td><td align="left" valign="top" height="20" width="96"><a target="new" href="http://www.apache.org/"><img border="0" vspace="0" hspace="0" name="asf" src="images/button-asf-lo.gif" height="20" width="96" alt="http://www.apache.org/"></a></td><td align="left" valign="top" height="20" width="96"><a target="new" href="http://www.w3.org/"><img border="0" vspace="0" hspace="0" name="w3c" src="images/button-w3c-lo.gif" height="20" width="96" alt="http://www.w3.org/"></a></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="100%" cellspacing="0" cellpadding="0" border="0">
+<tr width="100%">
+<td align="left" valign="top" width="120">
+<table width="120" cellspacing="0" cellpadding="0" border="0" bgcolor="#a0a0a0">
+<tr>
+<td valign="top" align="left"><img width="120" vspace="0" src="images/join.gif" hspace="0" height="14" border="0"><br>
+</td>
+</tr>
+<tr>
+<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="../index.html">Main</a></td>
+</tr>
+<tr>
+<td background="images/label-background_b.gif" bgcolor="#959595" valign="top"><img width="120" height="6" src="images/separator.gif"><br>
+<span class="menutitle">Concepts</span></td>
+</tr>
+<tr>
+<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><span class="menuselected">Internals</span></td>
+</tr>
+<tr>
+<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="extending.html">Extending</a></td>
+</tr>
+<tr>
+<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="avalon.html">Avalon</a></td>
+</tr>
+<tr>
+<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="datasources.html">Using Databases</a></td>
+</tr>
+<tr>
+<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="parent-component-manager.html">Parent CM</a></td>
+</tr>
+<tr>
+<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="deliquick.html">DELI Quick Start</a></td>
+</tr>
+<tr>
+<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="deli.html">DELI</a></td>
+</tr>
+<tr>
+<td background="images/label-background_b.gif" bgcolor="#959595" valign="top"><img width="120" height="6" src="images/separator.gif"><br>
+<span class="menutitle">Webapps</span></td>
+</tr>
+<tr>
+<td valign="top" bgcolor="#959595" background="images/label-background_a.gif"><a class="menu" href="webapps/index.html">Developing Webapps</a></td>
+</tr>
+<tr>
+<td background="images/label-background_b.gif" bgcolor="#959595" valign="top"><img width="120" height="6" src="images/separator.gif"><br>
+<span class="menutitle">Java</span></td>
+</tr>
+<tr>
+<td valign="top" background="images/label-background_a.gif" bgcolor="#959595"><a class="menu" target="new" href="../apidocs/index.html">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="15" cellpadding="0" border="0">
+<tr>
+<td>
+
+
+ <font face="verdana, helvetica, sans serif" size="+2" color="#0086b2">Introduction</font>
+<hr style="color: #0086b2" size="1">
+
+<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>Goal</b></font>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">This document tries to explain Apache Cocoon
+ technically. We do this by describing what happens if somebody types in the URL
+ of a simple Cocoon page.</font>
+</p>
+
+
+<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>Intended public</b></font>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">The reader should have a knowledge of:</font>
+</p>
+
+<blockquote>
+<ul>
+
+<li>
+<font face="verdana, helvetica, sans serif">the Java 2 platform</font>
+</li>
+
+<li>
+<font face="verdana, helvetica, sans serif">the javax.servlet extensions</font>
+</li>
+
+<li>
+<font face="verdana, helvetica, sans serif">XML</font>
+</li>
+
+<li>
+<font face="verdana, helvetica, sans serif">HTTP</font>
+</li>
+
+</ul>
+</blockquote>
+
+
+
+<font face="verdana, helvetica, sans serif" size="+2" color="#0086b2">The configuration assumptions</font>
+<hr style="color: #0086b2" size="1">
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">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.</font>
+</p>
+
+<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>sitemap.xmap</b></font>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">The task of the sitemap is to define the pipelines that Cocoon will
+ apply to URI's called in one's browser.</font>
+</p>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">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.</font>
+</p>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">The sitemap is defined in <code><font face="courier, monospaced">${cocoon}/sitemap.xmap</font></code>.</font>
+</p>
+
+<div align="center">
+<table border="0" cellpadding="0" cellspacing="4">
+<tr>
+<td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
+</tr>
+<tr>
+<td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
+<pre>
+<?xml version="1.0"?>
+
+<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
+
+ <!--===========================Components================================-->
+ <map:components>
+
+ <map:generators default="file">
+ <map:generator name="file" label="content"
+ src="org.apache.cocoon.generation.FileGenerator"/>
+ </map:generators>
+
+ <map:transformers default="xslt">
+ <map:transformer name="xslt"
+ src="org.apache.cocoon.transformation.XalanTransformer">
+ <use-request-parameters>false</use-request-parameters>
+ </map:transformer>
+ </map:transformers>
+
+ <map:serializers default="html">
+ <map:serializer name="html" mime-type="text/html"
+ src="org.apache.cocoon.serialization.HTMLSerializer"/>
+ </map:serializers>
+
+ <map:selectors default="browser">
+ <map:selector name="browser"
+ factory="org.apache.cocoon.selection.BrowserSelector">
+ <browser name="explorer" useragent="MSIE"/>
+ <browser name="netscape" useragent="Mozilla"/>
+ </map:selector>
+ </map:selectors>
+
+ <map:matchers default="uri">
+ <map:matcher name="uri"
+ factory="org.apache.cocoon.matching.WildcardURIMatcher"/>
+ </map:matchers>
+
+ </map:components>
+
+ <!--===========================Pipelines=================================-->
+ <map:pipelines>
+ <map:pipeline>
+ <map:match pattern="hello.html">
+ <map:generate src="docs/samples/hello-page.xml"/>
+ <map:transform src="stylesheets/page/simple-page2html.xsl"/>
+ <map:serialize type="html"/>
+ </map:match>
+ </map:pipeline>
+ </map:pipelines>
+
+</map:sitemap>
+</pre>
+</td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
+</tr>
+<tr>
+<td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
+</tr>
+</table>
+</div>
+
+
+<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>cocoon.xconf</b></font>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif"><code><font face="courier, monospaced">cocoon.xconf</font></code> is the file that defines the
+ <a href="avalon.html">Avalon</a> Components.</font>
+</p>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">For our study, we need the standard <code><font face="courier, monospaced">cocoon.xconf</font></code> file
+ of Cocoon.</font>
+</p>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">It can be found in <code><font face="courier, monospaced">${cocoon}/WEB-INF/cocoon.xconf</font></code>.</font>
+</p>
+
+<div align="center">
+<table border="0" cellpadding="0" cellspacing="4">
+<tr>
+<td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
+</tr>
+<tr>
+<td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td bgcolor="#ffffff">
+<pre>
+<?xml version="1.0"?>
+
+<cocoon version="2.0">
+
+<!-- ===================== General Components =========================== -->
+
+ <component role="org.apache.cocoon.components.parser.Parser"
+ class="org.apache.cocoon.components.parser.JaxpParser"/>
+ <component role="org.apache.cocoon.components.store.Store"
+ class="org.apache.cocoon.components.store.MemoryStore"/>
+
+ <component
+ role="org.apache.cocoon.components.language.programming.ProgrammingLanguageSelector"
+ class="org.apache.cocoon.CocoonComponentSelector">
+ <component-instance name="java"
+ class="org.apache.cocoon.components.language.programming.java.JavaLanguage">
+ <parameter name="compiler"
+ value="org.apache.cocoon.components.language.programming.java.Javac"/>
+ <parameter name="code-formatter"
+ value="org.apache.cocoon.components.language.programming.java.JstyleFormatter"/>
+ <parameter name="class-loader"
+ value="org.apache.cocoon.components.classloader.ClassLoaderManagerImpl"/>
+ </component-instance>
+ </component>
+
+ <component role="org.apache.cocoon.components.classloader.ClassLoaderManager"
+ class="org.apache.cocoon.components.classloader.ClassLoaderManagerImpl"/>
+
+ <component
+ role="org.apache.cocoon.components.language.markup.MarkupLanguageSelector"
+ class="org.apache.cocoon.CocoonComponentSelector">
+ <component-instance name="xsp"
+ class="org.apache.cocoon.components.language.markup.xsp.XSPMarkupLanguage">
+ <parameter name="prefix" value="xsp"/>
+ <parameter name="uri" value="http://apache.org/xsp"/>
+
+ <target-language name="java">
+ <parameter name="core-logicsheet"
+value="resource://org/apache/cocoon/components/language/markup/xsp/java/xsp.xsl"/>
+
+ <builtin-logicsheet>
+ <parameter name="prefix" value="xsp-request"/>
+ <parameter name="uri" value="http://apache.org/xsp/request/2.0"/>
+ <parameter name="href"
+value="resource://org/apache/cocoon/components/language/markup/xsp/java/request.xsl"/>
+ </builtin-logicsheet>
+
+ <builtin-logicsheet>
+ <parameter name="prefix" value="xsp-response"/>
+ <parameter name="uri" value="http://apache.org/xsp/response/2.0"/>
+ <parameter name="href"
+value="resource://org/apache/cocoon/components/language/markup/xsp/java/response.xsl"/>
+ </builtin-logicsheet>
+ </target-language>
+ </component-instance>
+
+ <component-instance name="sitemap"
+ class="org.apache.cocoon.components.language.markup.sitemap.SitemapMarkupLanguage">
+ <parameter name="prefix" value="map"/>
+ <parameter name="uri" value="http://apache.org/cocoon/sitemap/1.0"/>
+
+ <target-language name="java">
+ <parameter name="core-logicsheet"
+value="resource://org/apache/cocoon/components/language/markup/sitemap/java/sitemap.xsl"/>
+ </target-language>
+ </component-instance>
+ </component>
+
+ <component role="org.apache.cocoon.components.language.generator.ProgramGenerator"
+ class="org.apache.cocoon.components.language.generator.ProgramGeneratorImpl">
+ <parameter name="auto-reload" value="true"/>
+ </component>
+
+ <!-- these components is used as a PoolController for the sitemap component pools -->
+ <component role="org.apache.avalon.util.pool.PoolController"
+ class="org.apache.cocoon.util.ComponentPoolController"/>
+
+ <sitemap file="sitemap.xmap"/>
+</cocoon>
+</pre>
+</td><td width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
+</tr>
+<tr>
+<td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td><td height="1" width="1" bgcolor="#0086b2"><img border="0" hspace="0" vspace="0" height="1" width="1" src="images/void.gif"></td>
+</tr>
+</table>
+</div>
+
+
+
+<font face="verdana, helvetica, sans serif" size="+2" color="#0086b2">The sequence of things</font>
+<hr style="color: #0086b2" size="1">
+
+<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>Role of Tomcat</b></font>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">The role of Tomcat is to initialize the CocoonServlet, and to
+ receive the HttpRequest and pass it on to the CocoonServlet.</font>
+</p>
+
+<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">Initialize CocoonServlet</font>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">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.</font>
+</p>
+
+
+<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">Pass HttpRequest</font>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">On reception of a HttpRequest, Tomcat calls
+ <code><font face="courier, monospaced">CocoonServlet.service(HttpRequest, HttpResponse)</font></code>. This is also
+ standard.</font>
+</p>
+
+
+
+<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>Initialization</b></font>
+ <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">Overview</font>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">The steps that happen on initialization, are:</font>
+</p>
+
+<font face="verdana, helvetica, sans serif" color="#0086b2"><b>Find the classpath</b></font>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">Cocoon needs to know the classpath for compilation of the files
+ it generates itself. This is where the classpath is stored.</font>
+</p>
+
+
+<font face="verdana, helvetica, sans serif" color="#0086b2"><b>Find the init file</b></font>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">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>).</font>
+</p>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">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.</font>
+</p>
+
+
+<font face="verdana, helvetica, sans serif" color="#0086b2"><b>Read the init file</b></font>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">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.</font>
+</p>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">"Roles" are a concept of <a href="avalon.html">Avalon</a>.</font>
+</p>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">The handling of <code><font face="courier, monospaced">cocoon.xconf</font></code> goes as follows:</font>
+</p>
+
+<blockquote>
+<ol>
+
+<li>
+<font face="verdana, helvetica, sans serif">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).</font>
+</li>
+
+<li>
+<font face="verdana, helvetica, sans serif">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.</font>
+</li>
+
+<li>
+<font face="verdana, helvetica, sans serif">Get the sitemap: Here the location of the sitemap is retrieved.
+ The actual compilation of the sitemap occurs in the HttpRequest handling.</font>
+</li>
+
+</ol>
+</blockquote>
+
+
+
+<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">UML sequence diagram</font>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">You can find it <a href="images/initialize_Cocoon.png">here</a>.</font>
+</p>
+
+
+
+<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>HttpRequest handling</b></font>
+ <font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">Overview</font>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">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).</font>
+</p>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">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>. </font>
+</p>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">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:</font>
+</p>
+
+<blockquote>
+<ol>
+
+<li>
+<font face="verdana, helvetica, sans serif">The <code><font face="courier, monospaced">Handler</font></code> creates a <code><font face="courier, monospaced">File</font></code> object
+ with the asked URL.</font>
+</li>
+
+<li>
+<font face="verdana, helvetica, sans serif">The <code><font face="courier, monospaced">Manager</font></code> sets the <code><font face="courier, monospaced">Composable</font></code> and the
+ <code><font face="courier, monospaced">Configuration</font></code> of the <code><font face="courier, monospaced">Handler</font></code>. (These are
+ <a href="avalon.html">Avalon</a> things).</font>
+</li>
+
+<li>
+<font face="verdana, helvetica, sans serif">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>
+<font face="verdana, helvetica, sans serif">The <code><font face="courier, monospaced">Handler</font></code> gets the
+ <code><font face="courier, monospaced">"program-generator"</font></code> <code><font face="courier, monospaced">Component</font></code> from its
+ <code><font face="courier, monospaced">Composable</font></code>.</font>
+</li>
+
+<li>
+<font face="verdana, helvetica, sans serif">The <code><font face="courier, monospaced">load()</font></code> method of this
+ <code><font face="courier, monospaced">ProgramGeneratorImpl</font></code> is called. </font>
+</li>
+
+<li>
+<font face="verdana, helvetica, sans serif">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. </font>
+</li>
+
+<li>
+<font face="verdana, helvetica, sans serif">The <code><font face="courier, monospaced">ProgramGeneratorImpl</font></code> asks the
+ <code><font face="courier, monospaced">SitemapMarkupLanguage</font></code> to generate code.</font>
+</li>
+
+<li>
+<font face="verdana, helvetica, sans serif">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.</font>
+</li>
+
+<li>
+<font face="verdana, helvetica, sans serif">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.</font>
+</li>
+
+</ol>
+</blockquote>
+</font>
+</li>
+
+<li>
+<font face="verdana, helvetica, sans serif">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.</font>
+</li>
+
+</ol>
+</blockquote>
+
+
+<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2">UML sequence diagram</font>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">You can find it <a href="images/get_hello_html.png">here</a>.</font>
+</p>
+
+
+
+
+<font face="verdana, helvetica, sans serif" size="+2" color="#0086b2">Description of classes</font>
+<hr style="color: #0086b2" size="1">
+
+<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>CocoonServlet</b></font>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif"><code><font face="courier, monospaced">org.apache.cocoon.servlet.CocoonServlet</font></code></font>
+</p>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">This is the contact point for the servlet engine. It sets up the
+ environment and passes all the work to a Cocoon object.</font>
+</p>
+
+
+<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>Cocoon</b></font>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif"><code><font face="courier, monospaced">org.apache.cocoon.Cocoon</font></code></font>
+</p>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">While this sounds to be the most important part of the Cocoon
+ application, it is not. It is merely a Composable, meaning that it does some
+ administrative work and gets other classes to work.</font>
+</p>
+
+
+<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>ConfigurationBuilder</b></font>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif"><code><font face="courier, monospaced">org.apache.avalon.ConfigurationBuilder</font></code></font>
+</p>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">This one generates a Configuration out of a xml file.</font>
+</p>
+
+
+<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>Parser</b></font>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif"><code><font face="courier, monospaced">org.apache.cocoon.components.parser.Parser</font></code></font>
+</p>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">An interface that takes an xml file and throws SAX events to the
+ outside.</font>
+</p>
+
+
+<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>Configuration</b></font>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif"><code><font face="courier, monospaced">org.apache.avalon.Configuration</font></code></font>
+</p>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">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.</font>
+</p>
+
+
+<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>DefaultComponentManager</b></font>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif"><code><font face="courier, monospaced">org.apache.avalon.DefaultComponentManager</font></code></font>
+</p>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">Something that manages <a href="avalon.html">Avalon</a>
+ Components.</font>
+</p>
+
+
+<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>Manager</b></font>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif"><code><font face="courier, monospaced">org.apache.cocoon.sitemap.Manager</font></code></font>
+</p>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">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.</font>
+</p>
+
+
+<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>Handler</b></font>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif"><code><font face="courier, monospaced">org.apache.cocoon.sitemap.Handler</font></code></font>
+</p>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">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.</font>
+</p>
+
+
+<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>ProgramGenerator</b></font>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif"><code><font face="courier, monospaced">org.apache.cocoon.components.language.programming.ProgrammingLanguage</font></code></font>
+</p>
+
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">Generates programs.</font>
+</p>
+
+
+<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>SitemapMarkupLanguage</b></font>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif"><code><font face="courier, monospaced">org.apache.cocoon.components.language.markup.sitemap.SitemapMarkupLanguage</font></code></font>
+</p>
+
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">This one knows the markup of the sitemap, and helps writing the
+ source file of the sitemap class.</font>
+</p>
+
+
+<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>JavaLanguage</b></font>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif"><code><font face="courier, monospaced">org.apache.cocoon.components.language.programming.java.JavaLanguage</font></code></font>
+</p>
+
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">This takes care for outputing Java code as source of the sitemap
+ class.</font>
+</p>
+
+
+<font face="verdana, helvetica, sans serif" size="+1" color="#0086b2"><b>ResourcePipeline</b></font>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif"><code><font face="courier, monospaced">org.apache.cocoon.sitemap.ResourcePipeline</font></code></font>
+</p>
+
+<p>
+<font color="black" face="verdana,helvetica,sanserif">Holds the various steps that have to be taken when executing a
+ pipeline.</font>
+</p>
+
+
+
+
+</td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+<table width="100%" cellspacing="0" cellpadding="0" border="0">
+<tr>
+<td bgcolor="#0086b2"><img width="1" src="images/dot.gif" height="1"></td>
+</tr>
+<tr>
+<td align="center"><font size="-1" face="arial,helvetica,sanserif" color="#0086b2"><i>Copyright © 1999-2002 The Apache Software Foundation. All Rights Reserved.</i></font></td>
+</tr>
+</table>
+</body>
+</html>