You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by sy...@apache.org on 2005/03/29 15:48:47 UTC

svn commit: r159369 [16/41] - in cocoon/site/site/2.1: ./ developing/ developing/portal/ developing/webapps/ faq/ howto/ installing/ plan/ skin/ skin/images/ snippet/ tracks/ tutorial/ userdocs/ userdocs/actions/ userdocs/concepts/ userdocs/flow/ userdocs/forms/ userdocs/generators/ userdocs/matchers/ userdocs/offline/ userdocs/readers/ userdocs/selectors/ userdocs/serializers/ userdocs/transformers/ userdocs/xsp/

Modified: cocoon/site/site/2.1/tracks/web-publishing-track.html
URL: http://svn.apache.org/viewcvs/cocoon/site/site/2.1/tracks/web-publishing-track.html?view=diff&r1=159368&r2=159369
==============================================================================
--- cocoon/site/site/2.1/tracks/web-publishing-track.html (original)
+++ cocoon/site/site/2.1/tracks/web-publishing-track.html Tue Mar 29 05:47:29 2005
@@ -2,14 +2,18 @@
 <html>
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta content="Apache Forrest" name="Generator">
+<meta name="Forrest-version" content="0.6">
+<meta name="Forrest-skin-name" content="forrest-site">
 <title>Apache Cocoon User Guide</title>
 <link type="text/css" href="../skin/page.css" rel="stylesheet">
+<link rel="shortcut icon" href="../">
 </head>
 <body text="#000000" bgcolor="#FFFFFF">
 <!--================= start Navigation Path ==================-->
 <table summary="navigation path" width="100%" border="0" cellpadding="0" cellspacing="0">
 <tr>
-<td nowrap="nowrap" valign="middle" bgcolor="#CFDCED" height="20"><img height="1" width="5" alt="" src="../skin/images/spacer.gif" class="spacer"><!--===== breadcrumb trail (javascript-generated) ====--><font size="2" face="Arial, Helvetica, Sans-serif"><script src="../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script></font></td>
+<td nowrap="nowrap" valign="middle" bgcolor="#CFDCED" height="20"><img height="1" width="5" alt="" src="../skin/images/spacer.gif" class="spacer"><!--===== breadcrumb trail (javascript-generated) ====--><font size="2" face="Arial, Helvetica, Sans-serif"><a href="http://www.apache.org/">apache</a> &gt; <a href="http://cocoon.apache.org/">cocoon</a><script src="../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script></font></td>
 </tr>
 <tr>
 <td bgcolor="#4C6C8F" height="2"><img height="2" width="2" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
@@ -20,9 +24,9 @@
 <table summary="header with logos" width="100%" border="0" cellpadding="0" cellspacing="0">
 <tr>
 <!--================= start Group Logo ==================-->
-<td bgcolor="#294563"><a href="http://cocoon.apache.org/"><img border="0" class="logoImage" alt="Apache Cocoon" src="../images/cocoon-project-logo.png"></a></td>
+<td bgcolor="#294563"><a href="http://cocoon.apache.org/"><img class="logoImage" alt="Apache Cocoon" src="../images/cocoon-project-logo.png"></a></td>
 <!--================= end Group Logo ==================-->
-<!--================= start Project Logo ==================--><td width="100%" align="center" bgcolor="#294563"><a href="http://cocoon.apache.org/"><img border="0" class="logoImage" alt="Apache Cocoon" src="../images/project-logo.gif"></a></td>
+<!--================= start Project Logo ==================--><td width="100%" align="center" bgcolor="#294563"><a href="http://cocoon.apache.org/"><img class="logoImage" alt="Apache Cocoon" src="../images/project-logo.gif" title="Apache Cocoon"></a></td>
 <!--================= end Project Logo ==================-->
 <!--================= start Search ==================--><td valign="top" rowspan="2" bgcolor="#294563">
 <form target="_blank" action="http://www.google.com/search" method="get">
@@ -31,13 +35,13 @@
 <td colspan="3"><img height="10" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
 </tr>
 <tr>
-<td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td nowrap="nowrap"><input value="cocoon.apache.org" name="sitesearch" type="hidden"><input size="15" name="q" id="query" type="text"><img height="1" width="5" alt="" src="../skin/images/spacer.gif" class="spacer"><input name="Search" value="Search" type="submit">
+<td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td nowrap="nowrap"><input value="cocoon.apache.org" name="as_sitesearch" type="hidden"><input size="15" name="as_q" id="query" type="text"><img height="1" width="5" alt="" src="../skin/images/spacer.gif" class="spacer"><input name="Search" value="Search" type="submit">
 <br>
 <font face="Arial, Helvetica, Sans-serif" size="2" color="white">
-                      the Apache Cocoon site
-                      
-                      
-                    </font></td><td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
+                          the Apache Cocoon site
+                          
+                          
+                        </font></td><td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
 </tr>
 <tr>
 <td><img alt="" border="0" height="10" width="9" src="../skin/images/search-left.gif"></td><td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td><img alt="" border="0" height="10" width="9" src="../skin/images/search-right.gif"></td>
@@ -45,7 +49,7 @@
 </table>
 </form>
 </td>
-<!--================= start Search ==================--><td bgcolor="#294563"><img height="10" width="10" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
+<!--================= end Search ==================--><td bgcolor="#294563"><img height="10" width="10" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
 </tr>
 <tr>
 <td valign="bottom" bgcolor="#294563" colspan="2">
@@ -64,10 +68,10 @@
 </table>
 </div>
 <!--================= end Tabs ==================-->
-</td><td bgcolor="#294563"><img alt="" width="1" height="1" src="../skin/images/spacer.gif" class="spacer"></td>
+</td><td bgcolor="#294563"></td>
 </tr>
 <tr>
-<td bgcolor="#4C6C8F" colspan="4"><img width="1" height="10" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
+<td height="10" bgcolor="#4C6C8F" colspan="4"></td>
 </tr>
 </table>
 <!--================= end Banner ==================-->
@@ -98,23 +102,29 @@
 <li>
 <font color="#CFDCED">Navigation</font>
 <ul>
+      
 <li>
 <a href="../index.html">Main</a>
 </li>
+    
 </ul>
 </li>
 <li>
 <font color="#CFDCED">Tracks</font>
 <ul>
+      
 <li>
 <a href="index.html">Introduction</a>
 </li>
+      
 <li>
 <a href="first-steps-track.html">First steps</a>
 </li>
+      
 <li>
 <span class="sel"><font color="#ffcc00">Web publishing</font></span>
 </li>
+    
 </ul>
 </li>
 </ul>
@@ -156,28 +166,8 @@
 <tr>
 <td valign="middle">
 <h1>Apache Cocoon User Guide</h1>
-</td><script language="Javascript" type="text/javascript">
-function printit() {  
-if (window.print) {
-    window.print() ;  
-} else {
-    var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH="0" HEIGHT="0" CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
-document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
-    WebBrowser1.ExecWB(6, 2);//Use a 1 vs. a 2 for a prompting dialog box    WebBrowser1.outerHTML = "";  
-}
-}
-</script><script language="Javascript" type="text/javascript">
-var NS = (navigator.appName == "Netscape");
-var VERSION = parseInt(navigator.appVersion);
-if (VERSION > 3) {
-    document.write('<td nowrap="nowrap" width="40" align="center">');
-    document.write('  <a class="dida" href="javascript:printit()">');
-    document.write('    <img alt="Print this Page" src="../skin/images/printer.gif" class="skin"><br>');
-    document.write('  print</a>');
-    document.write('</td>');
-}
-</script><td nowrap="nowrap" width="40" align="center"><a class="dida" href="web-publishing-track.pdf"><img alt="PDF" src="../skin/images/pdfdoc.gif" class="skin"><br>
-          PDF</a></td>
+</td><td nowrap="nowrap" width="40" align="center"><a class="dida" href="web-publishing-track.pdf"><img alt="PDF" src="../skin/images/pdfdoc.gif" class="skin"><br>
+        PDF</a></td>
 </tr>
 </table>
 <h3>Web publishing track</h3>
@@ -299,7 +289,7 @@
 <p>
             Care to comment on this Track?
             Help keep this document relevant by passing along any constructive feedback to the
-            <a href="mailto:docs@cocoon.apache.org?subject=web-publishing-track:">cocoon-docs</a>
+            <a href="mailto:docs.at.cocoon.apache.org?subject=web-publishing-track:">cocoon-docs</a>
             mailing list.
         </p>
 </div>
@@ -317,11 +307,14 @@
 <!--================= start Footer ==================-->
 <table summary="footer" cellspacing="0" cellpadding="0" width="100%" border="0">
 <tr>
-<td colspan="2" height="1" bgcolor="#4C6C8F"><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"><a href="../skin/images/label.gif"></a><a href="../skin/images/page.gif"></a><a href="../skin/images/chapter.gif"></a><a href="../skin/images/chapter_open.gif"></a><a href="../skin/images/current.gif"></a><a href="/favicon.ico"></a></td>
+<td colspan="2" height="1" bgcolor="#4C6C8F"><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"><a href="../skin/images/label.gif"></a><a href="../skin/images/page.gif"></a><a href="../skin/images/chapter.gif"></a><a href="../skin/images/chapter_open.gif"></a><a href="../skin/images/current.gif"></a></td>
 </tr>
 <tr>
-<td colspan="2" bgcolor="#CFDCED" class="copyright" align="center"><font size="2" face="Arial, Helvetica, Sans-Serif">Copyright &copy;
-          1999-2004&nbsp;The Apache Software Foundation. All rights reserved.<script type="text/javascript" language="JavaScript"><!--
+<td colspan="2" bgcolor="#CFDCED" class="copyright" align="center"><font size="2" face="Arial, Helvetica, Sans-Serif"><a href="http://www.apache.org/licenses/">
+              Copyright &copy; 1999-2005&nbsp;
+              The Apache Software Foundation.</a>
+          All rights reserved.
+          <script type="text/javascript" language="JavaScript"><!--
               document.write(" - "+"Last Published: " + document.lastModified);
             //  --></script></font></td>
 </tr>

Modified: cocoon/site/site/2.1/tracks/web-publishing-track.pdf
URL: http://svn.apache.org/viewcvs/cocoon/site/site/2.1/tracks/web-publishing-track.pdf?view=diff&r1=159368&r2=159369
==============================================================================
Binary files - no diff available.

Modified: cocoon/site/site/2.1/tutorial/index.html
URL: http://svn.apache.org/viewcvs/cocoon/site/site/2.1/tutorial/index.html?view=diff&r1=159368&r2=159369
==============================================================================
--- cocoon/site/site/2.1/tutorial/index.html (original)
+++ cocoon/site/site/2.1/tutorial/index.html Tue Mar 29 05:47:29 2005
@@ -2,14 +2,18 @@
 <html>
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta content="Apache Forrest" name="Generator">
+<meta name="Forrest-version" content="0.6">
+<meta name="Forrest-skin-name" content="forrest-site">
 <title>Cocoon Tutorials</title>
 <link type="text/css" href="../skin/page.css" rel="stylesheet">
+<link rel="shortcut icon" href="../">
 </head>
 <body text="#000000" bgcolor="#FFFFFF">
 <!--================= start Navigation Path ==================-->
 <table summary="navigation path" width="100%" border="0" cellpadding="0" cellspacing="0">
 <tr>
-<td nowrap="nowrap" valign="middle" bgcolor="#CFDCED" height="20"><img height="1" width="5" alt="" src="../skin/images/spacer.gif" class="spacer"><!--===== breadcrumb trail (javascript-generated) ====--><font size="2" face="Arial, Helvetica, Sans-serif"><script src="../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script></font></td>
+<td nowrap="nowrap" valign="middle" bgcolor="#CFDCED" height="20"><img height="1" width="5" alt="" src="../skin/images/spacer.gif" class="spacer"><!--===== breadcrumb trail (javascript-generated) ====--><font size="2" face="Arial, Helvetica, Sans-serif"><a href="http://www.apache.org/">apache</a> &gt; <a href="http://cocoon.apache.org/">cocoon</a><script src="../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script></font></td>
 </tr>
 <tr>
 <td bgcolor="#4C6C8F" height="2"><img height="2" width="2" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
@@ -20,9 +24,9 @@
 <table summary="header with logos" width="100%" border="0" cellpadding="0" cellspacing="0">
 <tr>
 <!--================= start Group Logo ==================-->
-<td bgcolor="#294563"><a href="http://cocoon.apache.org/"><img border="0" class="logoImage" alt="Apache Cocoon" src="../images/cocoon-project-logo.png"></a></td>
+<td bgcolor="#294563"><a href="http://cocoon.apache.org/"><img class="logoImage" alt="Apache Cocoon" src="../images/cocoon-project-logo.png"></a></td>
 <!--================= end Group Logo ==================-->
-<!--================= start Project Logo ==================--><td width="100%" align="center" bgcolor="#294563"><a href="http://cocoon.apache.org/"><img border="0" class="logoImage" alt="Apache Cocoon" src="../images/project-logo.gif"></a></td>
+<!--================= start Project Logo ==================--><td width="100%" align="center" bgcolor="#294563"><a href="http://cocoon.apache.org/"><img class="logoImage" alt="Apache Cocoon" src="../images/project-logo.gif" title="Apache Cocoon"></a></td>
 <!--================= end Project Logo ==================-->
 <!--================= start Search ==================--><td valign="top" rowspan="2" bgcolor="#294563">
 <form target="_blank" action="http://www.google.com/search" method="get">
@@ -31,13 +35,13 @@
 <td colspan="3"><img height="10" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
 </tr>
 <tr>
-<td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td nowrap="nowrap"><input value="cocoon.apache.org" name="sitesearch" type="hidden"><input size="15" name="q" id="query" type="text"><img height="1" width="5" alt="" src="../skin/images/spacer.gif" class="spacer"><input name="Search" value="Search" type="submit">
+<td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td nowrap="nowrap"><input value="cocoon.apache.org" name="as_sitesearch" type="hidden"><input size="15" name="as_q" id="query" type="text"><img height="1" width="5" alt="" src="../skin/images/spacer.gif" class="spacer"><input name="Search" value="Search" type="submit">
 <br>
 <font face="Arial, Helvetica, Sans-serif" size="2" color="white">
-                      the Apache Cocoon site
-                      
-                      
-                    </font></td><td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
+                          the Apache Cocoon site
+                          
+                          
+                        </font></td><td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
 </tr>
 <tr>
 <td><img alt="" border="0" height="10" width="9" src="../skin/images/search-left.gif"></td><td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td><img alt="" border="0" height="10" width="9" src="../skin/images/search-right.gif"></td>
@@ -45,7 +49,7 @@
 </table>
 </form>
 </td>
-<!--================= start Search ==================--><td bgcolor="#294563"><img height="10" width="10" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
+<!--================= end Search ==================--><td bgcolor="#294563"><img height="10" width="10" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
 </tr>
 <tr>
 <td valign="bottom" bgcolor="#294563" colspan="2">
@@ -64,10 +68,10 @@
 </table>
 </div>
 <!--================= end Tabs ==================-->
-</td><td bgcolor="#294563"><img alt="" width="1" height="1" src="../skin/images/spacer.gif" class="spacer"></td>
+</td><td bgcolor="#294563"></td>
 </tr>
 <tr>
-<td bgcolor="#4C6C8F" colspan="4"><img width="1" height="10" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
+<td height="10" bgcolor="#4C6C8F" colspan="4"></td>
 </tr>
 </table>
 <!--================= end Banner ==================-->
@@ -98,26 +102,33 @@
 <li>
 <font color="#CFDCED">Navigation</font>
 <ul>
+    
 <li>
 <a href="../index.html">Main</a>
 </li>
+  
 </ul>
 </li>
 <li>
 <font color="#CFDCED">Tutorials</font>
 <ul>
+    
 <li>
 <span class="sel"><font color="#ffcc00">Index</font></span>
 </li>
+    
 <li>
 <a href="tutorial-develop-webapp.html">WebApp</a>
 </li>
+    
 <li>
 <a href="tutorial-generator.html">Custom Generator</a>
 </li>
+    
 <li>
 <a href="tutorial-rmi-generator.html">RMIServer</a>
 </li>
+  
 </ul>
 </li>
 </ul>
@@ -159,28 +170,8 @@
 <tr>
 <td valign="middle">
 <h1>Cocoon Tutorials</h1>
-</td><script language="Javascript" type="text/javascript">
-function printit() {  
-if (window.print) {
-    window.print() ;  
-} else {
-    var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH="0" HEIGHT="0" CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
-document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
-    WebBrowser1.ExecWB(6, 2);//Use a 1 vs. a 2 for a prompting dialog box    WebBrowser1.outerHTML = "";  
-}
-}
-</script><script language="Javascript" type="text/javascript">
-var NS = (navigator.appName == "Netscape");
-var VERSION = parseInt(navigator.appVersion);
-if (VERSION > 3) {
-    document.write('<td nowrap="nowrap" width="40" align="center">');
-    document.write('  <a class="dida" href="javascript:printit()">');
-    document.write('    <img alt="Print this Page" src="../skin/images/printer.gif" class="skin"><br>');
-    document.write('  print</a>');
-    document.write('</td>');
-}
-</script><td nowrap="nowrap" width="40" align="center"><a class="dida" href="index.pdf"><img alt="PDF" src="../skin/images/pdfdoc.gif" class="skin"><br>
-          PDF</a></td>
+</td><td nowrap="nowrap" width="40" align="center"><a class="dida" href="index.pdf"><img alt="PDF" src="../skin/images/pdfdoc.gif" class="skin"><br>
+        PDF</a></td>
 </tr>
 </table>
 <h3>Overview</h3>
@@ -230,13 +221,9 @@
 <div style="margin-left: 0 ; border: 2px">
 <ul>
 
-<li>Andreas Hartmann's <a href="http://www.cocooncenter.de/cc/documents/resources/request-params/index.html">Request Parameters</a> Tutorial at cocooncenter.de.</li>
-
-<li>Andreas Hartmann's <a href="http://www.cocooncenter.de/cc/documents/resources/navigation/index.html">Navigation Menus</a> Tutorial at cocooncenter.de.</li>
-
-<li> Michal Durdina's <a href="http://www.cocooncenter.de/cc/documents/resources/db-app/index.html">Database Web Application</a> Tutorial at cocooncenter.de.</li>
-
-<li>Konstantin Piroumian's <a href="http://www.cocooncenter.de/cc/documents/resources/logicsheet/index.html">Logicsheet Development</a> Tutorial at cocooncenter.de.</li>
+<li>
+<a href="http://cocooncenter.org/">cocooncenter.org has a few tutorials and articles</a>
+</li>
 
 <li>
 <a href="http://www.galatea.com/flashguides/index.html">Galatea FlashGuides(TM)</a>
@@ -274,18 +261,21 @@
 <!--================= start Footer ==================-->
 <table summary="footer" cellspacing="0" cellpadding="0" width="100%" border="0">
 <tr>
-<td colspan="2" height="1" bgcolor="#4C6C8F"><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"><a href="../skin/images/label.gif"></a><a href="../skin/images/page.gif"></a><a href="../skin/images/chapter.gif"></a><a href="../skin/images/chapter_open.gif"></a><a href="../skin/images/current.gif"></a><a href="/favicon.ico"></a></td>
+<td colspan="2" height="1" bgcolor="#4C6C8F"><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"><a href="../skin/images/label.gif"></a><a href="../skin/images/page.gif"></a><a href="../skin/images/chapter.gif"></a><a href="../skin/images/chapter_open.gif"></a><a href="../skin/images/current.gif"></a></td>
 </tr>
 <tr>
-<td colspan="2" bgcolor="#CFDCED" class="copyright" align="center"><font size="2" face="Arial, Helvetica, Sans-Serif">Copyright &copy;
-          1999-2004&nbsp;The Apache Software Foundation. All rights reserved.<script type="text/javascript" language="JavaScript"><!--
+<td colspan="2" bgcolor="#CFDCED" class="copyright" align="center"><font size="2" face="Arial, Helvetica, Sans-Serif"><a href="http://www.apache.org/licenses/">
+              Copyright &copy; 1999-2005&nbsp;
+              The Apache Software Foundation.</a>
+          All rights reserved.
+          <script type="text/javascript" language="JavaScript"><!--
               document.write(" - "+"Last Published: " + document.lastModified);
             //  --></script></font></td>
 </tr>
 <tr>
 <td colspan="2" align="left" bgcolor="#CFDCED" class="logos">
 <div>
-<a href="http://validator.w3.org/check/referer"><img width="88" height="31" alt="Valid HTML 4.01!" src="../skin/images/valid-html401.png" class="logoImage"></a><a href="http://jigsaw.w3.org/css-validator/"><img width="88" height="31" alt="Valid CSS!" src="../skin/images/vcss.png" class="logoImage"></a><img alt="" height="1" width="10" src="../skin/images/spacer.gif"><a href="http://xml.apache.org/forrest/"><img border="0" alt="Built with Apache Forrest logo" src="../images/built-with-forrest-button.png" width="88" height="31"><img height="1" width="5" alt="" src="../skin/images/spacer.gif" class="spacer"></a>
+<a href="http://validator.w3.org/check/referer"><img border="0" width="88" height="31" title="Valid HTML 4.01!" alt="Valid HTML 4.01!" src="../skin/images/valid-html401.png" class="logoImage"></a><a href="http://jigsaw.w3.org/css-validator/"><img border="0" width="88" height="31" title="Valid CSS!" alt="Valid CSS!" src="../skin/images/vcss.png" class="logoImage"></a><img alt="" height="1" width="10" src="../skin/images/spacer.gif"><a href="http://forrest.apache.org/"><img border="0" alt="Built with Apache Forrest logo" src="../images/built-with-forrest-button.png" width="88" height="31"><img height="1" width="5" alt="" src="../skin/images/spacer.gif" class="spacer"></a>
 </div>
 </td>
 </tr>

Modified: cocoon/site/site/2.1/tutorial/index.pdf
URL: http://svn.apache.org/viewcvs/cocoon/site/site/2.1/tutorial/index.pdf?view=diff&r1=159368&r2=159369
==============================================================================
Binary files - no diff available.

Modified: cocoon/site/site/2.1/tutorial/tutorial-develop-webapp.html
URL: http://svn.apache.org/viewcvs/cocoon/site/site/2.1/tutorial/tutorial-develop-webapp.html?view=diff&r1=159368&r2=159369
==============================================================================
--- cocoon/site/site/2.1/tutorial/tutorial-develop-webapp.html (original)
+++ cocoon/site/site/2.1/tutorial/tutorial-develop-webapp.html Tue Mar 29 05:47:29 2005
@@ -2,14 +2,18 @@
 <html>
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta content="Apache Forrest" name="Generator">
+<meta name="Forrest-version" content="0.6">
+<meta name="Forrest-skin-name" content="forrest-site">
 <title>How to develop Web Applications</title>
 <link type="text/css" href="../skin/page.css" rel="stylesheet">
+<link rel="shortcut icon" href="../">
 </head>
 <body text="#000000" bgcolor="#FFFFFF">
 <!--================= start Navigation Path ==================-->
 <table summary="navigation path" width="100%" border="0" cellpadding="0" cellspacing="0">
 <tr>
-<td nowrap="nowrap" valign="middle" bgcolor="#CFDCED" height="20"><img height="1" width="5" alt="" src="../skin/images/spacer.gif" class="spacer"><!--===== breadcrumb trail (javascript-generated) ====--><font size="2" face="Arial, Helvetica, Sans-serif"><script src="../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script></font></td>
+<td nowrap="nowrap" valign="middle" bgcolor="#CFDCED" height="20"><img height="1" width="5" alt="" src="../skin/images/spacer.gif" class="spacer"><!--===== breadcrumb trail (javascript-generated) ====--><font size="2" face="Arial, Helvetica, Sans-serif"><a href="http://www.apache.org/">apache</a> &gt; <a href="http://cocoon.apache.org/">cocoon</a><script src="../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script></font></td>
 </tr>
 <tr>
 <td bgcolor="#4C6C8F" height="2"><img height="2" width="2" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
@@ -20,9 +24,9 @@
 <table summary="header with logos" width="100%" border="0" cellpadding="0" cellspacing="0">
 <tr>
 <!--================= start Group Logo ==================-->
-<td bgcolor="#294563"><a href="http://cocoon.apache.org/"><img border="0" class="logoImage" alt="Apache Cocoon" src="../images/cocoon-project-logo.png"></a></td>
+<td bgcolor="#294563"><a href="http://cocoon.apache.org/"><img class="logoImage" alt="Apache Cocoon" src="../images/cocoon-project-logo.png"></a></td>
 <!--================= end Group Logo ==================-->
-<!--================= start Project Logo ==================--><td width="100%" align="center" bgcolor="#294563"><a href="http://cocoon.apache.org/"><img border="0" class="logoImage" alt="Apache Cocoon" src="../images/project-logo.gif"></a></td>
+<!--================= start Project Logo ==================--><td width="100%" align="center" bgcolor="#294563"><a href="http://cocoon.apache.org/"><img class="logoImage" alt="Apache Cocoon" src="../images/project-logo.gif" title="Apache Cocoon"></a></td>
 <!--================= end Project Logo ==================-->
 <!--================= start Search ==================--><td valign="top" rowspan="2" bgcolor="#294563">
 <form target="_blank" action="http://www.google.com/search" method="get">
@@ -31,13 +35,13 @@
 <td colspan="3"><img height="10" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
 </tr>
 <tr>
-<td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td nowrap="nowrap"><input value="cocoon.apache.org" name="sitesearch" type="hidden"><input size="15" name="q" id="query" type="text"><img height="1" width="5" alt="" src="../skin/images/spacer.gif" class="spacer"><input name="Search" value="Search" type="submit">
+<td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td nowrap="nowrap"><input value="cocoon.apache.org" name="as_sitesearch" type="hidden"><input size="15" name="as_q" id="query" type="text"><img height="1" width="5" alt="" src="../skin/images/spacer.gif" class="spacer"><input name="Search" value="Search" type="submit">
 <br>
 <font face="Arial, Helvetica, Sans-serif" size="2" color="white">
-                      the Apache Cocoon site
-                      
-                      
-                    </font></td><td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
+                          the Apache Cocoon site
+                          
+                          
+                        </font></td><td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
 </tr>
 <tr>
 <td><img alt="" border="0" height="10" width="9" src="../skin/images/search-left.gif"></td><td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td><img alt="" border="0" height="10" width="9" src="../skin/images/search-right.gif"></td>
@@ -45,7 +49,7 @@
 </table>
 </form>
 </td>
-<!--================= start Search ==================--><td bgcolor="#294563"><img height="10" width="10" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
+<!--================= end Search ==================--><td bgcolor="#294563"><img height="10" width="10" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
 </tr>
 <tr>
 <td valign="bottom" bgcolor="#294563" colspan="2">
@@ -64,10 +68,10 @@
 </table>
 </div>
 <!--================= end Tabs ==================-->
-</td><td bgcolor="#294563"><img alt="" width="1" height="1" src="../skin/images/spacer.gif" class="spacer"></td>
+</td><td bgcolor="#294563"></td>
 </tr>
 <tr>
-<td bgcolor="#4C6C8F" colspan="4"><img width="1" height="10" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
+<td height="10" bgcolor="#4C6C8F" colspan="4"></td>
 </tr>
 </table>
 <!--================= end Banner ==================-->
@@ -166,28 +170,8 @@
 <tr>
 <td valign="middle">
 <h1>How to develop Web Applications</h1>
-</td><script language="Javascript" type="text/javascript">
-function printit() {  
-if (window.print) {
-    window.print() ;  
-} else {
-    var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH="0" HEIGHT="0" CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
-document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
-    WebBrowser1.ExecWB(6, 2);//Use a 1 vs. a 2 for a prompting dialog box    WebBrowser1.outerHTML = "";  
-}
-}
-</script><script language="Javascript" type="text/javascript">
-var NS = (navigator.appName == "Netscape");
-var VERSION = parseInt(navigator.appVersion);
-if (VERSION > 3) {
-    document.write('<td nowrap="nowrap" width="40" align="center">');
-    document.write('  <a class="dida" href="javascript:printit()">');
-    document.write('    <img alt="Print this Page" src="../skin/images/printer.gif" class="skin"><br>');
-    document.write('  print</a>');
-    document.write('</td>');
-}
-</script><td nowrap="nowrap" width="40" align="center"><a class="dida" href="tutorial-develop-webapp.pdf"><img alt="PDF" src="../skin/images/pdfdoc.gif" class="skin"><br>
-          PDF</a></td>
+</td><td nowrap="nowrap" width="40" align="center"><a class="dida" href="tutorial-develop-webapp.pdf"><img alt="PDF" src="../skin/images/pdfdoc.gif" class="skin"><br>
+        PDF</a></td>
 </tr>
 </table>
 <ul class="minitoc">
@@ -196,12 +180,48 @@
 <ul class="minitoc">
 <li>
 <a href="#Separating+Concerns">Separating Concerns</a>
+<ul class="minitoc">
+<li>
+<a href="#Developers">Developers</a>
+</li>
+<li>
+<a href="#Business+Analysts">Business Analysts</a>
+</li>
+<li>
+<a href="#Designers">Designers</a>
+</li>
+<li>
+<a href="#Administrators">Administrators</a>
+</li>
+</ul>
 </li>
 <li>
 <a href="#Development+Style">Development Style</a>
+<ul class="minitoc">
+<li>
+<a href="#Business+Markup+Centric">Business Markup Centric</a>
+</li>
+<li>
+<a href="#Document+Markup+Centric">Document Markup Centric</a>
+</li>
+<li>
+<a href="#Hybrid+Approach">Hybrid Approach</a>
+</li>
+</ul>
 </li>
 <li>
 <a href="#The+Concept">The Concept</a>
+<ul class="minitoc">
+<li>
+<a href="#The+SQL">The SQL</a>
+</li>
+<li>
+<a href="#Facilities">Facilities</a>
+</li>
+<li>
+<a href="#Layouts">Layouts</a>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -210,12 +230,25 @@
 <ul class="minitoc">
 <li>
 <a href="#Creating+the+Pages">Creating the Pages</a>
+<ul class="minitoc">
+<li>
+<a href="#Our+First+Form">Our First Form</a>
+</li>
+<li>
+<a href="#Adding+Database+Support+with+the+ESQL+Logicsheet">Adding Database Support with the ESQL Logicsheet</a>
+</li>
+</ul>
 </li>
 <li>
 <a href="#Redirects">Redirects</a>
 </li>
 <li>
 <a href="#Writing+an+Action">Writing an Action</a>
+<ul class="minitoc">
+<li>
+<a href="#Return+Values">Return Values</a>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -224,9 +257,67 @@
 <ul class="minitoc">
 <li>
 <a href="#Generators">Generators</a>
+<ul class="minitoc">
+<li>
+<a href="#DirectoryGenerator">DirectoryGenerator</a>
+</li>
+<li>
+<a href="#FileGenerator">FileGenerator</a>
+</li>
+<li>
+<a href="#FragmentExtractorGenerator">FragmentExtractorGenerator</a>
+</li>
+<li>
+<a href="#HTMLGenerator">HTMLGenerator</a>
+</li>
+<li>
+<a href="#ImageDirectoryGenerator">ImageDirectoryGenerator</a>
+</li>
+<li>
+<a href="#JspGenerator">JspGenerator</a>
+</li>
+<li>
+<a href="#PhpGenerator">PhpGenerator</a>
+</li>
+<li>
+<a href="#RequestGenerator">RequestGenerator</a>
+</li>
+<li>
+<a href="#ScriptGenerator">ScriptGenerator</a>
+</li>
+<li>
+<a href="#ServerPagesGenerator">ServerPagesGenerator</a>
+</li>
+<li>
+<a href="#StatusGenerator">StatusGenerator</a>
+</li>
+<li>
+<a href="#StreamGenerator">StreamGenerator</a>
+</li>
+<li>
+<a href="#VelocityGenerator">VelocityGenerator</a>
+</li>
+</ul>
 </li>
 <li>
 <a href="#Transformers">Transformers</a>
+<ul class="minitoc">
+<li>
+<a href="#CIncludeTransformer">CIncludeTransformer</a>
+</li>
+<li>
+<a href="#FilterTransformer">FilterTransformer</a>
+</li>
+<li>
+<a href="#FragmentExtractorTransformer">FragmentExtractorTransformer</a>
+</li>
+<li>
+<a href="#I18nTransformer">I18nTransformer</a>
+</li>
+<li>
+<a href="#LDAPTransformer">LDAPTransformer</a>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -235,6 +326,11 @@
 <ul class="minitoc">
 <li>
 <a href="#Choosing+your+Components">Choosing your Components</a>
+<ul class="minitoc">
+<li>
+<a href="#Generators-N102E7">Generators</a>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -393,7 +489,7 @@
 ALTER TABLE employee ADD
     FOREIGN KEY department_id (department.department_id);</pre>
 </div>
-<a name="N1009B"></a><a name="Facilities"></a>
+<a name="N1009A"></a><a name="Facilities"></a>
 <h5>Facilities</h5>
 <div style="margin-left: 0 ; border: 2px">
 <ol>
@@ -419,7 +515,7 @@
       
 </ol>
 </div>
-<a name="N100BC"></a><a name="Layouts"></a>
+<a name="N100BB"></a><a name="Layouts"></a>
 <h5>Layouts</h5>
 <div style="margin-left: 0 ; border: 2px">
 <p>
@@ -430,7 +526,7 @@
 </div>
 </div>
  
-<a name="N100CA"></a><a name="Diving+In"></a>
+<a name="N100C9"></a><a name="Diving+In"></a>
 <h3>Diving In</h3>
 <div style="margin-left: 0 ; border: 2px">
 <p>In order to do anything in Cocoon, you will need a sitemap.  At this point
@@ -495,7 +591,7 @@
        maintain.  There are some exceptions to this general rule, but we will
        discuss them when needed.  We will use the Document Markup specified in
        the StyleBook DTD format.</p>
-<a name="N100E1"></a><a name="Creating+the+Pages"></a>
+<a name="N100DF"></a><a name="Creating+the+Pages"></a>
 <h4>Creating the Pages</h4>
 <div style="margin-left: 0 ; border: 2px">
 <p>Since we are only looking at XML right now, we need to make sure our
@@ -547,7 +643,7 @@
         resource.  Look at "home.html", and see how it looks now.
         Quite a difference.  Don't remove the entry for viewing the page
         as XML yet.  We need to use it to debug our XSP pages later.</p>
-<a name="N100F4"></a><a name="Our+First+Form"></a>
+<a name="N100F1"></a><a name="Our+First+Form"></a>
 <h5>Our First Form</h5>
 <div style="margin-left: 0 ; border: 2px">
 <p>For now, we are going to skip the search functionality, and jump to
@@ -807,7 +903,7 @@
 &lt;/xsp:page&gt;
   
 </pre>
-<a name="N1013D"></a><a name="Adding+support+for+Error+Reporting"></a>
+<a name="N10133"></a><a name="Adding+support+for+Error+Reporting"></a>
 <h6>Adding support for Error Reporting</h6>
 <div style="margin-left: 0 ; border: 2px">
 <p>In order to successfully report errors processing the page, add
@@ -851,7 +947,7 @@
 </pre>
 </div>
 </div>
-<a name="N1014C"></a><a name="Adding+Database+Support+with+the+ESQL+Logicsheet"></a>
+<a name="N10141"></a><a name="Adding+Database+Support+with+the+ESQL+Logicsheet"></a>
 <h5>Adding Database Support with the ESQL Logicsheet</h5>
 <div style="margin-left: 0 ; border: 2px">
 <p>The "Create Employee" page is going to require database
@@ -966,7 +1062,7 @@
               queries to process.</li>
        
 </ul>
-<a name="N10168"></a><a name="A+Note+About+Actions"></a>
+<a name="N1015C"></a><a name="A+Note+About+Actions"></a>
 <h6>A Note About Actions</h6>
 <div style="margin-left: 0 ; border: 2px">
 <p>Actions are the bread and butter of logic processing in Cocoon.
@@ -986,7 +1082,7 @@
 </div>
 </div>
 </div>
-<a name="N10176"></a><a name="Redirects"></a>
+<a name="N1016A"></a><a name="Redirects"></a>
 <h4>Redirects</h4>
 <div style="margin-left: 0 ; border: 2px">
 <p>Most web developers agree that redirecting a user based on input is a
@@ -1000,7 +1096,7 @@
          Another derivation on this approach is to test for a user's role,
          and if they do not have access redirect them to a different page.</p>
 </div>
-<a name="N10182"></a><a name="Writing+an+Action"></a>
+<a name="N10176"></a><a name="Writing+an+Action"></a>
 <h4>Writing an Action</h4>
 <div style="margin-left: 0 ; border: 2px">
 <p>Writing an action is as simple as writing a Component that conforms to
@@ -1015,7 +1111,7 @@
            then anything inside the "map:act" element will not be
            executed.</div>
 </div>
-<a name="N1018D"></a><a name="Return+Values"></a>
+<a name="N10181"></a><a name="Return+Values"></a>
 <h5>Return Values</h5>
 <div style="margin-left: 0 ; border: 2px">
 <p>The Action interface specifies that it returns a Map.  This Map is
@@ -1051,20 +1147,20 @@
 </div>
 </div>
  
-<a name="N101A3"></a><a name="Cocoon+Supplied+Components"></a>
+<a name="N10196"></a><a name="Cocoon+Supplied+Components"></a>
 <h3>Cocoon Supplied Components</h3>
 <div style="margin-left: 0 ; border: 2px">
 <p>Cocoon supplies a number of different Components for your use.  The types
      of Components we will discuss here are Generators, Transformers,
      Serializers, Readers, and Actions.  This are the important Components that
      allow you to do you job.</p>
-<a name="N101AB"></a><a name="Generators"></a>
+<a name="N1019E"></a><a name="Generators"></a>
 <h4>Generators</h4>
 <div style="margin-left: 0 ; border: 2px">
 <p>A Generator will create SAX events for a SAX stream-whether it reads from
        an input stream or it generates it on the fly.  All built in generators
        are in the package "org.apache.cocoon.generation".</p>
-<a name="N101B3"></a><a name="DirectoryGenerator"></a>
+<a name="N101A6"></a><a name="DirectoryGenerator"></a>
 <h5>DirectoryGenerator</h5>
 <div style="margin-left: 0 ; border: 2px">
 <p>Reads a directory, and builds an XML document based on the contents.
@@ -1105,7 +1201,7 @@
   
 </pre>
 </div>
-<a name="N101D9"></a><a name="FileGenerator"></a>
+<a name="N101CB"></a><a name="FileGenerator"></a>
 <h5>FileGenerator</h5>
 <div style="margin-left: 0 ; border: 2px">
 <p>This generator and the ServerPagesGenerator will be your most used
@@ -1116,7 +1212,7 @@
          parser bypassing the JAXP requirement.  The FileGenerator is Cacheable,
          so the results will only be re-read when the file changes.</p>
 </div>
-<a name="N101E5"></a><a name="FragmentExtractorGenerator"></a>
+<a name="N101D7"></a><a name="FragmentExtractorGenerator"></a>
 <h5>FragmentExtractorGenerator</h5>
 <div style="margin-left: 0 ; border: 2px">
 <p>This generator is used in conjunction with the
@@ -1131,7 +1227,7 @@
          generated once and the cached version is read from that point
          forward.</p>
 </div>
-<a name="N101F5"></a><a name="HTMLGenerator"></a>
+<a name="N101E7"></a><a name="HTMLGenerator"></a>
 <h5>HTMLGenerator</h5>
 <div style="margin-left: 0 ; border: 2px">
 <p>This generator is used to read in an HTML file that may not be properly
@@ -1141,7 +1237,7 @@
          WEB-INF/libs directory.  The HTMLGenerator is Cacheable, so the results
          can be cached for application speedup.</p>
 </div>
-<a name="N10201"></a><a name="ImageDirectoryGenerator"></a>
+<a name="N101F3"></a><a name="ImageDirectoryGenerator"></a>
 <h5>ImageDirectoryGenerator</h5>
 <div style="margin-left: 0 ; border: 2px">
 <p>This generator is an extension of the DirectoryGenerator, so it has the
@@ -1151,7 +1247,7 @@
          JPEG file to get the dimensions.</p>
 <p>This generator is not Cacheable (just like the DirectoryGenerator).</p>
 </div>
-<a name="N1020D"></a><a name="JspGenerator"></a>
+<a name="N101FF"></a><a name="JspGenerator"></a>
 <h5>JspGenerator</h5>
 <div style="margin-left: 0 ; border: 2px">
 <p>This generator executes a JSP file and parses the result.  The JSP must
@@ -1160,7 +1256,7 @@
          environment will not allow you to install one.  It is also not
          cacheable so the results are generated each time.</p>
 </div>
-<a name="N10219"></a><a name="PhpGenerator"></a>
+<a name="N1020B"></a><a name="PhpGenerator"></a>
 <h5>PhpGenerator</h5>
 <div style="margin-left: 0 ; border: 2px">
 <p>This generator functions just like the JspGenerator, but with PHP
@@ -1170,7 +1266,7 @@
          phpservlet.jar file that comes from http://php.net.  Install the files
          in the WEB-INF/libs directory.  The PhpGenerator is not Cacheable.</p>
 </div>
-<a name="N10225"></a><a name="RequestGenerator"></a>
+<a name="N10217"></a><a name="RequestGenerator"></a>
 <h5>RequestGenerator</h5>
 <div style="margin-left: 0 ; border: 2px">
 <p>This generator converts the Request object into an XML representation.
@@ -1204,7 +1300,7 @@
 <p>The RequestGenerator does not have any special requirements for
          libraries, and it is not Cacheable.</p>
 </div>
-<a name="N10236"></a><a name="ScriptGenerator"></a>
+<a name="N10227"></a><a name="ScriptGenerator"></a>
 <h5>ScriptGenerator</h5>
 <div style="margin-left: 0 ; border: 2px">
 <p>The ScriptGenerator uses the Bean Scripting Framework (BSF) and an
@@ -1227,7 +1323,7 @@
          WEB-INF/libs directory along with any jars for the script interpreters
          you use.  The ScriptGenerator is not Cacheable.</p>
 </div>
-<a name="N10247"></a><a name="ServerPagesGenerator"></a>
+<a name="N10237"></a><a name="ServerPagesGenerator"></a>
 <h5>ServerPagesGenerator</h5>
 <div style="margin-left: 0 ; border: 2px">
 <p>The ServerPagesGenerator is the XML Server Pages (XSP) engine.  It
@@ -1239,7 +1335,7 @@
          reference any packages, they must also be in your classpath.  The
          created generator is not Cacheable.</p>
 </div>
-<a name="N10253"></a><a name="StatusGenerator"></a>
+<a name="N10243"></a><a name="StatusGenerator"></a>
 <h5>StatusGenerator</h5>
 <div style="margin-left: 0 ; border: 2px">
 <p>The StatusGenerator is another debug tool.  It provides status
@@ -1280,7 +1376,7 @@
 <p>The results are not cacheable, and do not require any special
          libraries.</p>
 </div>
-<a name="N10264"></a><a name="StreamGenerator"></a>
+<a name="N10253"></a><a name="StreamGenerator"></a>
 <h5>StreamGenerator</h5>
 <div style="margin-left: 0 ; border: 2px">
 <p>The StreamGenerator is used to convert the Request's InputStream
@@ -1290,7 +1386,7 @@
 <p>This generator requires the JAXP 1.1 compliant parser (or Xerces).  It
          is not cacheable.</p>
 </div>
-<a name="N10270"></a><a name="VelocityGenerator"></a>
+<a name="N1025F"></a><a name="VelocityGenerator"></a>
 <h5>VelocityGenerator</h5>
 <div style="margin-left: 0 ; border: 2px">
 <p>The VelocityGenerator is used to convert the output from the Velocity
@@ -1299,13 +1395,13 @@
          parser installed in WEB-INF/libs.  It is not Cacheable.</p>
 </div>
 </div>
-<a name="N1027D"></a><a name="Transformers"></a>
+<a name="N1026C"></a><a name="Transformers"></a>
 <h4>Transformers</h4>
 <div style="margin-left: 0 ; border: 2px">
 <p>Transformers read a SAX stream, manipulate the XML stream, and send the
        results to the next Component in the chain.  All built in generators are
        in the package "org.apache.cocoon.generation".</p>
-<a name="N10285"></a><a name="CIncludeTransformer"></a>
+<a name="N10274"></a><a name="CIncludeTransformer"></a>
 <h5>CIncludeTransformer</h5>
 <div style="margin-left: 0 ; border: 2px">
 <p>The CIncludeTransformer looks for instances of the
@@ -1327,7 +1423,7 @@
          namespace (xmlns:res="http://mycompany.com/my-resource/1.0").
          The results are not cached.</p>
 </div>
-<a name="N10296"></a><a name="FilterTransformer"></a>
+<a name="N10284"></a><a name="FilterTransformer"></a>
 <h5>FilterTransformer</h5>
 <div style="margin-left: 0 ; border: 2px">
 <p>The FilterTransformer will look for instances of an element you specify
@@ -1344,7 +1440,7 @@
       
 </ul>
 </div>
-<a name="N102AB"></a><a name="FragmentExtractorTransformer"></a>
+<a name="N10299"></a><a name="FragmentExtractorTransformer"></a>
 <h5>FragmentExtractorTransformer</h5>
 <div style="margin-left: 0 ; border: 2px">
 <p>This is transformation half of the FragmentExtractor.  This transformer
@@ -1353,7 +1449,7 @@
          could be much more general, but currently it is mainly an SVG
          extraction.</p>
 </div>
-<a name="N102B4"></a><a name="I18nTransformer"></a>
+<a name="N102A2"></a><a name="I18nTransformer"></a>
 <h5>I18nTransformer</h5>
 <div style="margin-left: 0 ; border: 2px">
 <p>This is Cocoon's port of Infozone Group's I18nProcessor.  The
@@ -1394,7 +1490,7 @@
   
 </pre>
 </div>
-<a name="N102D1"></a><a name="LDAPTransformer"></a>
+<a name="N102BE"></a><a name="LDAPTransformer"></a>
 <h5>LDAPTransformer</h5>
 <div style="margin-left: 0 ; border: 2px">
 <p>The LDAPTransformer is a class that can be plugged into a pipeline to
@@ -1404,7 +1500,7 @@
 </div>
 </div>
  
-<a name="N102DC"></a><a name="The+Sitemap"></a>
+<a name="N102C9"></a><a name="The+Sitemap"></a>
 <h3>The Sitemap</h3>
 <div style="margin-left: 0 ; border: 2px">
 <p>This section is meant primarily as a reference for the Sitemap Manager.
@@ -1430,7 +1526,7 @@
 &lt;/map:sitemap&gt;
   
 </pre>
-<a name="N102EF"></a><a name="Choosing+your+Components"></a>
+<a name="N102DB"></a><a name="Choosing+your+Components"></a>
 <h4>Choosing your Components</h4>
 <div style="margin-left: 0 ; border: 2px">
 <p>As previously discussed, you may choose a number of components to use
@@ -1444,7 +1540,7 @@
 &lt;/map:components&gt;
   
 </pre>
-<a name="N102FC"></a><a name="Generators-N102E7"></a>
+<a name="N102E7"></a><a name="Generators-N102E7"></a>
 <h5>Generators</h5>
 <div style="margin-left: 0 ; border: 2px">
 <p>All generators are declared within the "map:generators"
@@ -1487,11 +1583,14 @@
 <!--================= start Footer ==================-->
 <table summary="footer" cellspacing="0" cellpadding="0" width="100%" border="0">
 <tr>
-<td colspan="2" height="1" bgcolor="#4C6C8F"><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"><a href="../skin/images/label.gif"></a><a href="../skin/images/page.gif"></a><a href="../skin/images/chapter.gif"></a><a href="../skin/images/chapter_open.gif"></a><a href="../skin/images/current.gif"></a><a href="/favicon.ico"></a></td>
+<td colspan="2" height="1" bgcolor="#4C6C8F"><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"><a href="../skin/images/label.gif"></a><a href="../skin/images/page.gif"></a><a href="../skin/images/chapter.gif"></a><a href="../skin/images/chapter_open.gif"></a><a href="../skin/images/current.gif"></a></td>
 </tr>
 <tr>
-<td colspan="2" bgcolor="#CFDCED" class="copyright" align="center"><font size="2" face="Arial, Helvetica, Sans-Serif">Copyright &copy;
-          1999-2004&nbsp;The Apache Software Foundation. All rights reserved.<script type="text/javascript" language="JavaScript"><!--
+<td colspan="2" bgcolor="#CFDCED" class="copyright" align="center"><font size="2" face="Arial, Helvetica, Sans-Serif"><a href="http://www.apache.org/licenses/">
+              Copyright &copy; 1999-2005&nbsp;
+              The Apache Software Foundation.</a>
+          All rights reserved.
+          <script type="text/javascript" language="JavaScript"><!--
               document.write(" - "+"Last Published: " + document.lastModified);
             //  --></script></font></td>
 </tr>

Modified: cocoon/site/site/2.1/tutorial/tutorial-develop-webapp.pdf
URL: http://svn.apache.org/viewcvs/cocoon/site/site/2.1/tutorial/tutorial-develop-webapp.pdf?view=diff&r1=159368&r2=159369
==============================================================================
Binary files - no diff available.

Modified: cocoon/site/site/2.1/tutorial/tutorial-generator.html
URL: http://svn.apache.org/viewcvs/cocoon/site/site/2.1/tutorial/tutorial-generator.html?view=diff&r1=159368&r2=159369
==============================================================================
--- cocoon/site/site/2.1/tutorial/tutorial-generator.html (original)
+++ cocoon/site/site/2.1/tutorial/tutorial-generator.html Tue Mar 29 05:47:29 2005
@@ -2,14 +2,18 @@
 <html>
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta content="Apache Forrest" name="Generator">
+<meta name="Forrest-version" content="0.6">
+<meta name="Forrest-skin-name" content="forrest-site">
 <title>Write a Custom Generator</title>
 <link type="text/css" href="../skin/page.css" rel="stylesheet">
+<link rel="shortcut icon" href="../">
 </head>
 <body text="#000000" bgcolor="#FFFFFF">
 <!--================= start Navigation Path ==================-->
 <table summary="navigation path" width="100%" border="0" cellpadding="0" cellspacing="0">
 <tr>
-<td nowrap="nowrap" valign="middle" bgcolor="#CFDCED" height="20"><img height="1" width="5" alt="" src="../skin/images/spacer.gif" class="spacer"><!--===== breadcrumb trail (javascript-generated) ====--><font size="2" face="Arial, Helvetica, Sans-serif"><script src="../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script></font></td>
+<td nowrap="nowrap" valign="middle" bgcolor="#CFDCED" height="20"><img height="1" width="5" alt="" src="../skin/images/spacer.gif" class="spacer"><!--===== breadcrumb trail (javascript-generated) ====--><font size="2" face="Arial, Helvetica, Sans-serif"><a href="http://www.apache.org/">apache</a> &gt; <a href="http://cocoon.apache.org/">cocoon</a><script src="../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script></font></td>
 </tr>
 <tr>
 <td bgcolor="#4C6C8F" height="2"><img height="2" width="2" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
@@ -20,9 +24,9 @@
 <table summary="header with logos" width="100%" border="0" cellpadding="0" cellspacing="0">
 <tr>
 <!--================= start Group Logo ==================-->
-<td bgcolor="#294563"><a href="http://cocoon.apache.org/"><img border="0" class="logoImage" alt="Apache Cocoon" src="../images/cocoon-project-logo.png"></a></td>
+<td bgcolor="#294563"><a href="http://cocoon.apache.org/"><img class="logoImage" alt="Apache Cocoon" src="../images/cocoon-project-logo.png"></a></td>
 <!--================= end Group Logo ==================-->
-<!--================= start Project Logo ==================--><td width="100%" align="center" bgcolor="#294563"><a href="http://cocoon.apache.org/"><img border="0" class="logoImage" alt="Apache Cocoon" src="../images/project-logo.gif"></a></td>
+<!--================= start Project Logo ==================--><td width="100%" align="center" bgcolor="#294563"><a href="http://cocoon.apache.org/"><img class="logoImage" alt="Apache Cocoon" src="../images/project-logo.gif" title="Apache Cocoon"></a></td>
 <!--================= end Project Logo ==================-->
 <!--================= start Search ==================--><td valign="top" rowspan="2" bgcolor="#294563">
 <form target="_blank" action="http://www.google.com/search" method="get">
@@ -31,13 +35,13 @@
 <td colspan="3"><img height="10" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
 </tr>
 <tr>
-<td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td nowrap="nowrap"><input value="cocoon.apache.org" name="sitesearch" type="hidden"><input size="15" name="q" id="query" type="text"><img height="1" width="5" alt="" src="../skin/images/spacer.gif" class="spacer"><input name="Search" value="Search" type="submit">
+<td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td nowrap="nowrap"><input value="cocoon.apache.org" name="as_sitesearch" type="hidden"><input size="15" name="as_q" id="query" type="text"><img height="1" width="5" alt="" src="../skin/images/spacer.gif" class="spacer"><input name="Search" value="Search" type="submit">
 <br>
 <font face="Arial, Helvetica, Sans-serif" size="2" color="white">
-                      the Apache Cocoon site
-                      
-                      
-                    </font></td><td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
+                          the Apache Cocoon site
+                          
+                          
+                        </font></td><td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
 </tr>
 <tr>
 <td><img alt="" border="0" height="10" width="9" src="../skin/images/search-left.gif"></td><td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td><img alt="" border="0" height="10" width="9" src="../skin/images/search-right.gif"></td>
@@ -45,7 +49,7 @@
 </table>
 </form>
 </td>
-<!--================= start Search ==================--><td bgcolor="#294563"><img height="10" width="10" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
+<!--================= end Search ==================--><td bgcolor="#294563"><img height="10" width="10" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
 </tr>
 <tr>
 <td valign="bottom" bgcolor="#294563" colspan="2">
@@ -64,10 +68,10 @@
 </table>
 </div>
 <!--================= end Tabs ==================-->
-</td><td bgcolor="#294563"><img alt="" width="1" height="1" src="../skin/images/spacer.gif" class="spacer"></td>
+</td><td bgcolor="#294563"></td>
 </tr>
 <tr>
-<td bgcolor="#4C6C8F" colspan="4"><img width="1" height="10" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
+<td height="10" bgcolor="#4C6C8F" colspan="4"></td>
 </tr>
 </table>
 <!--================= end Banner ==================-->
@@ -159,28 +163,8 @@
 <tr>
 <td valign="middle">
 <h1>Write a Custom Generator</h1>
-</td><script language="Javascript" type="text/javascript">
-function printit() {  
-if (window.print) {
-    window.print() ;  
-} else {
-    var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH="0" HEIGHT="0" CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
-document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
-    WebBrowser1.ExecWB(6, 2);//Use a 1 vs. a 2 for a prompting dialog box    WebBrowser1.outerHTML = "";  
-}
-}
-</script><script language="Javascript" type="text/javascript">
-var NS = (navigator.appName == "Netscape");
-var VERSION = parseInt(navigator.appVersion);
-if (VERSION > 3) {
-    document.write('<td nowrap="nowrap" width="40" align="center">');
-    document.write('  <a class="dida" href="javascript:printit()">');
-    document.write('    <img alt="Print this Page" src="../skin/images/printer.gif" class="skin"><br>');
-    document.write('  print</a>');
-    document.write('</td>');
-}
-</script><td nowrap="nowrap" width="40" align="center"><a class="dida" href="tutorial-generator.pdf"><img alt="PDF" src="../skin/images/pdfdoc.gif" class="skin"><br>
-          PDF</a></td>
+</td><td nowrap="nowrap" width="40" align="center"><a class="dida" href="tutorial-generator.pdf"><img alt="PDF" src="../skin/images/pdfdoc.gif" class="skin"><br>
+        PDF</a></td>
 </tr>
 </table>
 <ul class="minitoc">
@@ -206,12 +190,42 @@
 <ul class="minitoc">
 <li>
 <a href="#Simple+Example">Simple Example</a>
+<ul class="minitoc">
+<li>
+<a href="#What+to+Extend%3F">What to Extend?</a>
+</li>
+<li>
+<a href="#Running+The+Sample">Running The Sample</a>
+</li>
+</ul>
 </li>
 <li>
 <a href="#A+Less+Trivial+Example">A Less Trivial Example</a>
+<ul class="minitoc">
+<li>
+<a href="#Compile+and+Test">Compile and Test</a>
+</li>
+<li>
+<a href="#New+Concepts">New Concepts</a>
+</li>
+<li>
+<a href="#A+Lesson">A Lesson</a>
+</li>
+</ul>
 </li>
 <li>
 <a href="#Moving+On">Moving On</a>
+<ul class="minitoc">
+<li>
+<a href="#The+Employee+SQL+Example+Reworked">The Employee SQL Example Reworked</a>
+</li>
+<li>
+<a href="#Compile+and+Test-N10209">Compile and Test</a>
+</li>
+<li>
+<a href="#New+Concepts-N10222">New Concepts</a>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -410,7 +424,7 @@
             You will probably want to set up a convenient BaseGenerator with
             helpers like this and extend it for your real Generators.</div>
 </div>
-<a name="N100C3"></a><a name="What+to+Extend%3F"></a>
+<a name="N100C1"></a><a name="What+to+Extend%3F"></a>
 <h5>What to Extend?</h5>
 <div style="margin-left: 0 ; border: 2px">
 <p>How did we choose to extend <span class="codefrag">AbstractGenerator</span>?
@@ -438,13 +452,13 @@
                eventual purpose - the JSP and XSP generators, they do make a
                convenient starting place for many other Generators.</p>
 </div>
-<a name="N100E7"></a><a name="Running+The+Sample"></a>
+<a name="N100E5"></a><a name="Running+The+Sample"></a>
 <h5>Running The Sample</h5>
 <div style="margin-left: 0 ; border: 2px">
 <p>In order to run this sample, you will need to compile the code,
                deploy it into the cocoon webapp, and modify the sitemap to
                declare our generator and allow access to it via a pipeline.</p>
-<a name="N100EF"></a><a name="Compile"></a>
+<a name="N100ED"></a><a name="Compile"></a>
 <h6>Compile</h6>
 <div style="margin-left: 0 ; border: 2px">
 <p>Save this source as <span class="codefrag">HelloWorldGenerator.java</span>
@@ -464,7 +478,7 @@
                    <span class="codefrag">WEB-INF\lib\</span>
 </p>
 </div>
-<a name="N10108"></a><a name="Deploy"></a>
+<a name="N10105"></a><a name="Deploy"></a>
 <h6>Deploy</h6>
 <div style="margin-left: 0 ; border: 2px">
 <p>Simply copy the class file into the
@@ -482,7 +496,7 @@
                   of all your custom classes in one jar.</div>
 </div>
 </div>
-<a name="N1011D"></a><a name="Sitemap+Modifications"></a>
+<a name="N1011A"></a><a name="Sitemap+Modifications"></a>
 <h6>Sitemap Modifications</h6>
 <div style="margin-left: 0 ; border: 2px">
 <p>You need to do two things: in the 
@@ -527,7 +541,7 @@
 </div>
 </div>
 </div>
-<a name="N1014A"></a><a name="A+Less+Trivial+Example"></a>
+<a name="N10145"></a><a name="A+Less+Trivial+Example"></a>
 <h4>A Less Trivial Example</h4>
 <div style="margin-left: 0 ; border: 2px">
 <p>Moving on to a less trivial example, we will take some
@@ -647,7 +661,7 @@
       this.uri = null;
    }
 }</pre>
-<a name="N1015F"></a><a name="Compile+and+Test"></a>
+<a name="N10158"></a><a name="Compile+and+Test"></a>
 <h5>Compile and Test</h5>
 <div style="margin-left: 0 ; border: 2px">
 <p>Save this code as
@@ -674,10 +688,10 @@
 <span class="codefrag">http://localhost:8080/cocoon/howYouDoin.xml?anyParam=OK&amp;more=better</span>
 </p>
 </div>
-<a name="N10181"></a><a name="New+Concepts"></a>
+<a name="N10179"></a><a name="New+Concepts"></a>
 <h5>New Concepts</h5>
 <div style="margin-left: 0 ; border: 2px">
-<a name="N10186"></a><a name="Lifecycle"></a>
+<a name="N1017E"></a><a name="Lifecycle"></a>
 <h6>Lifecycle</h6>
 <div style="margin-left: 0 ; border: 2px">
 <p>First, notice that we now override the
@@ -744,7 +758,7 @@
                     
 </p>
 </div>
-<a name="N101D0"></a><a name="Nested+Elements"></a>
+<a name="N101C7"></a><a name="Nested+Elements"></a>
 <h6>Nested Elements</h6>
 <div style="margin-left: 0 ; border: 2px">
 <p>In this example, nested elements are created simply
@@ -755,7 +769,7 @@
             process would complain (try it!). Of course, any transformers later 
             in the pipeline would behave in an unpredictable manner.</p>
 </div>
-<a name="N101DF"></a><a name="Attributes"></a>
+<a name="N101D6"></a><a name="Attributes"></a>
 <h6>Attributes</h6>
 <div style="margin-left: 0 ; border: 2px">
 <p>Finally, we've introduced the use of attributes.
@@ -765,7 +779,7 @@
             by repeated calls to <span class="codefrag">addAttribute</span>.</p>
 </div>
 </div>
-<a name="N101EF"></a><a name="A+Lesson"></a>
+<a name="N101E6"></a><a name="A+Lesson"></a>
 <h5>A Lesson</h5>
 <div style="margin-left: 0 ; border: 2px">
 <p>Before moving on, it is worth noting that
@@ -777,14 +791,14 @@
 </p>
 </div>
 </div>
-<a name="N101FE"></a><a name="Moving+On"></a>
+<a name="N101F5"></a><a name="Moving+On"></a>
 <h4>Moving On</h4>
 <div style="margin-left: 0 ; border: 2px">
 <p>From here, we will move on to cover handling ugly pseudo-xml
           (like real world html) with CDATA blocks, employing some of the
           Avalon lifecycle method callbacks (Composable/Disposable), Database
           access, and Caching.</p>
-<a name="N10206"></a><a name="The+Employee+SQL+Example+Reworked"></a>
+<a name="N101FD"></a><a name="The+Employee+SQL+Example+Reworked"></a>
 <h5>The Employee SQL Example Reworked</h5>
 <div style="margin-left: 0 ; border: 2px">
 <p>In the samples included with Cocoon, there is an example of a SQL
@@ -950,7 +964,7 @@
 
 }</pre>
 </div>
-<a name="N10213"></a><a name="Compile+and+Test-N10209"></a>
+<a name="N10209"></a><a name="Compile+and+Test-N10209"></a>
 <h5>Compile and Test</h5>
 <div style="margin-left: 0 ; border: 2px">
 <p>To compile this, you will now need the following on your classpath:
@@ -971,10 +985,10 @@
 &lt;/map:match&gt;
 ...</pre>
 </div>
-<a name="N1022D"></a><a name="New+Concepts-N10222"></a>
+<a name="N10222"></a><a name="New+Concepts-N10222"></a>
 <h5>New Concepts</h5>
 <div style="margin-left: 0 ; border: 2px">
-<a name="N10232"></a><a name="Composable+and+Disposable"></a>
+<a name="N10227"></a><a name="Composable+and+Disposable"></a>
 <h6>Composable and Disposable</h6>
 <div style="margin-left: 0 ; border: 2px">
 <p>We've implemented the Avalon lifecycle interfaces Composable and 
@@ -992,11 +1006,10 @@
     clean up any resources we held on to between invocations.  Note that 
     components can be pooled by the container.  If we thought that our employee 
     generator was going to see a lot of traffic, we might change its definition 
-    at the top of sitemap.xmap to include attributes like <span class="codefrag">pool-grow="2" 
-    pool-max="16" pool-min="2"</span> so that multiple overlapping requests 
+    at the top of sitemap.xmap to include attributes like <span class="codefrag">pool-max="16"</span> so that multiple overlapping requests 
     could be serviced without a log jam.</p>
 </div>
-<a name="N10250"></a><a name="Datasource"></a>
+<a name="N10245"></a><a name="Datasource"></a>
 <h6>Datasource</h6>
 <div style="margin-left: 0 ; border: 2px">
 <p>We look up our HSQL database here by its name given in cocoon.xconf. 
@@ -1014,7 +1027,7 @@
     support the pooling of statements.</div>
 </div>
 </div>
-<a name="N1025F"></a><a name="Caching"></a>
+<a name="N10254"></a><a name="Caching"></a>
 <h6>Caching</h6>
 <div style="margin-left: 0 ; border: 2px">
 <div class="frame fixme">
@@ -1048,11 +1061,14 @@
 <!--================= start Footer ==================-->
 <table summary="footer" cellspacing="0" cellpadding="0" width="100%" border="0">
 <tr>
-<td colspan="2" height="1" bgcolor="#4C6C8F"><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"><a href="../skin/images/label.gif"></a><a href="../skin/images/page.gif"></a><a href="../skin/images/chapter.gif"></a><a href="../skin/images/chapter_open.gif"></a><a href="../skin/images/current.gif"></a><a href="/favicon.ico"></a></td>
+<td colspan="2" height="1" bgcolor="#4C6C8F"><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"><a href="../skin/images/label.gif"></a><a href="../skin/images/page.gif"></a><a href="../skin/images/chapter.gif"></a><a href="../skin/images/chapter_open.gif"></a><a href="../skin/images/current.gif"></a></td>
 </tr>
 <tr>
-<td colspan="2" bgcolor="#CFDCED" class="copyright" align="center"><font size="2" face="Arial, Helvetica, Sans-Serif">Copyright &copy;
-          1999-2004&nbsp;The Apache Software Foundation. All rights reserved.<script type="text/javascript" language="JavaScript"><!--
+<td colspan="2" bgcolor="#CFDCED" class="copyright" align="center"><font size="2" face="Arial, Helvetica, Sans-Serif"><a href="http://www.apache.org/licenses/">
+              Copyright &copy; 1999-2005&nbsp;
+              The Apache Software Foundation.</a>
+          All rights reserved.
+          <script type="text/javascript" language="JavaScript"><!--
               document.write(" - "+"Last Published: " + document.lastModified);
             //  --></script></font></td>
 </tr>

Modified: cocoon/site/site/2.1/tutorial/tutorial-generator.pdf
URL: http://svn.apache.org/viewcvs/cocoon/site/site/2.1/tutorial/tutorial-generator.pdf?view=diff&r1=159368&r2=159369
==============================================================================
Binary files - no diff available.

Modified: cocoon/site/site/2.1/tutorial/tutorial-rmi-generator.html
URL: http://svn.apache.org/viewcvs/cocoon/site/site/2.1/tutorial/tutorial-rmi-generator.html?view=diff&r1=159368&r2=159369
==============================================================================
--- cocoon/site/site/2.1/tutorial/tutorial-rmi-generator.html (original)
+++ cocoon/site/site/2.1/tutorial/tutorial-rmi-generator.html Tue Mar 29 05:47:29 2005
@@ -2,14 +2,18 @@
 <html>
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta content="Apache Forrest" name="Generator">
+<meta name="Forrest-version" content="0.6">
+<meta name="Forrest-skin-name" content="forrest-site">
 <title>Writing a Cocoon 2 generator</title>
 <link type="text/css" href="../skin/page.css" rel="stylesheet">
+<link rel="shortcut icon" href="../">
 </head>
 <body text="#000000" bgcolor="#FFFFFF">
 <!--================= start Navigation Path ==================-->
 <table summary="navigation path" width="100%" border="0" cellpadding="0" cellspacing="0">
 <tr>
-<td nowrap="nowrap" valign="middle" bgcolor="#CFDCED" height="20"><img height="1" width="5" alt="" src="../skin/images/spacer.gif" class="spacer"><!--===== breadcrumb trail (javascript-generated) ====--><font size="2" face="Arial, Helvetica, Sans-serif"><script src="../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script></font></td>
+<td nowrap="nowrap" valign="middle" bgcolor="#CFDCED" height="20"><img height="1" width="5" alt="" src="../skin/images/spacer.gif" class="spacer"><!--===== breadcrumb trail (javascript-generated) ====--><font size="2" face="Arial, Helvetica, Sans-serif"><a href="http://www.apache.org/">apache</a> &gt; <a href="http://cocoon.apache.org/">cocoon</a><script src="../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script></font></td>
 </tr>
 <tr>
 <td bgcolor="#4C6C8F" height="2"><img height="2" width="2" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
@@ -20,9 +24,9 @@
 <table summary="header with logos" width="100%" border="0" cellpadding="0" cellspacing="0">
 <tr>
 <!--================= start Group Logo ==================-->
-<td bgcolor="#294563"><a href="http://cocoon.apache.org/"><img border="0" class="logoImage" alt="Apache Cocoon" src="../images/cocoon-project-logo.png"></a></td>
+<td bgcolor="#294563"><a href="http://cocoon.apache.org/"><img class="logoImage" alt="Apache Cocoon" src="../images/cocoon-project-logo.png"></a></td>
 <!--================= end Group Logo ==================-->
-<!--================= start Project Logo ==================--><td width="100%" align="center" bgcolor="#294563"><a href="http://cocoon.apache.org/"><img border="0" class="logoImage" alt="Apache Cocoon" src="../images/project-logo.gif"></a></td>
+<!--================= start Project Logo ==================--><td width="100%" align="center" bgcolor="#294563"><a href="http://cocoon.apache.org/"><img class="logoImage" alt="Apache Cocoon" src="../images/project-logo.gif" title="Apache Cocoon"></a></td>
 <!--================= end Project Logo ==================-->
 <!--================= start Search ==================--><td valign="top" rowspan="2" bgcolor="#294563">
 <form target="_blank" action="http://www.google.com/search" method="get">
@@ -31,13 +35,13 @@
 <td colspan="3"><img height="10" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
 </tr>
 <tr>
-<td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td nowrap="nowrap"><input value="cocoon.apache.org" name="sitesearch" type="hidden"><input size="15" name="q" id="query" type="text"><img height="1" width="5" alt="" src="../skin/images/spacer.gif" class="spacer"><input name="Search" value="Search" type="submit">
+<td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td nowrap="nowrap"><input value="cocoon.apache.org" name="as_sitesearch" type="hidden"><input size="15" name="as_q" id="query" type="text"><img height="1" width="5" alt="" src="../skin/images/spacer.gif" class="spacer"><input name="Search" value="Search" type="submit">
 <br>
 <font face="Arial, Helvetica, Sans-serif" size="2" color="white">
-                      the Apache Cocoon site
-                      
-                      
-                    </font></td><td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
+                          the Apache Cocoon site
+                          
+                          
+                        </font></td><td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
 </tr>
 <tr>
 <td><img alt="" border="0" height="10" width="9" src="../skin/images/search-left.gif"></td><td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td><img alt="" border="0" height="10" width="9" src="../skin/images/search-right.gif"></td>
@@ -45,7 +49,7 @@
 </table>
 </form>
 </td>
-<!--================= start Search ==================--><td bgcolor="#294563"><img height="10" width="10" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
+<!--================= end Search ==================--><td bgcolor="#294563"><img height="10" width="10" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
 </tr>
 <tr>
 <td valign="bottom" bgcolor="#294563" colspan="2">
@@ -64,10 +68,10 @@
 </table>
 </div>
 <!--================= end Tabs ==================-->
-</td><td bgcolor="#294563"><img alt="" width="1" height="1" src="../skin/images/spacer.gif" class="spacer"></td>
+</td><td bgcolor="#294563"></td>
 </tr>
 <tr>
-<td bgcolor="#4C6C8F" colspan="4"><img width="1" height="10" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
+<td height="10" bgcolor="#4C6C8F" colspan="4"></td>
 </tr>
 </table>
 <!--================= end Banner ==================-->
@@ -166,28 +170,8 @@
 <tr>
 <td valign="middle">
 <h1>Writing a Cocoon 2 generator</h1>
-</td><script language="Javascript" type="text/javascript">
-function printit() {  
-if (window.print) {
-    window.print() ;  
-} else {
-    var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH="0" HEIGHT="0" CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
-document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
-    WebBrowser1.ExecWB(6, 2);//Use a 1 vs. a 2 for a prompting dialog box    WebBrowser1.outerHTML = "";  
-}
-}
-</script><script language="Javascript" type="text/javascript">
-var NS = (navigator.appName == "Netscape");
-var VERSION = parseInt(navigator.appVersion);
-if (VERSION > 3) {
-    document.write('<td nowrap="nowrap" width="40" align="center">');
-    document.write('  <a class="dida" href="javascript:printit()">');
-    document.write('    <img alt="Print this Page" src="../skin/images/printer.gif" class="skin"><br>');
-    document.write('  print</a>');
-    document.write('</td>');
-}
-</script><td nowrap="nowrap" width="40" align="center"><a class="dida" href="tutorial-rmi-generator.pdf"><img alt="PDF" src="../skin/images/pdfdoc.gif" class="skin"><br>
-          PDF</a></td>
+</td><td nowrap="nowrap" width="40" align="center"><a class="dida" href="tutorial-rmi-generator.pdf"><img alt="PDF" src="../skin/images/pdfdoc.gif" class="skin"><br>
+        PDF</a></td>
 </tr>
 </table>
 <p class="type">Type: Tutorial</p>
@@ -203,12 +187,48 @@
 <ul class="minitoc">
 <li>
 <a href="#Classes+and+interfaces+to+be+extended%2Fimplemented">Classes and interfaces to be extended/implemented</a>
+<ul class="minitoc">
+<li>
+<a href="#Classes">Classes</a>
+</li>
+<li>
+<a href="#Interface%28s%29">Interface(s)</a>
+</li>
+</ul>
 </li>
 <li>
 <a href="#Writing+a+test+generator">Writing a test generator</a>
+<ul class="minitoc">
+<li>
+<a href="#The+code+of+our+first+generator">The code of our first generator</a>
+</li>
+<li>
+<a href="#Deploying+MyGenerator">Deploying MyGenerator</a>
+</li>
+<li>
+<a href="#Considerations+afterwards">Considerations afterwards</a>
+</li>
+</ul>
 </li>
 <li>
 <a href="#Going+the+distance">Going the distance</a>
+<ul class="minitoc">
+<li>
+<a href="#Setting+up+a+RMI+server">Setting up a RMI server</a>
+</li>
+<li>
+<a href="#Setting+up+a+RMI+client">Setting up a RMI client</a>
+</li>
+<li>
+<a href="#Testing+the+RMI+components">Testing the RMI components</a>
+</li>
+<li>
+<a href="#Putting+the+pieces+together">Putting the pieces together</a>
+</li>
+<li>
+<a href="#The+final+step%3A+deployment">The final step: deployment</a>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -938,7 +958,7 @@
 Now we have our compiled class, we can make the big step of putting it to work. To make sure there were no errors in our code, we tested our code by using another class as the ContentHandler of our generator. After these tests were completed (without errors), we tried to deploy our generator from within Cocoon 2. 
 				</p>
 </div>
-<a name="N104BC"></a><a name="Deploying+MyGenerator"></a>
+<a name="N104B6"></a><a name="Deploying+MyGenerator"></a>
 <h5>Deploying MyGenerator</h5>
 <div style="margin-left: 0 ; border: 2px">
 <p>The next step is deploying our custom written generator. First of all we stopped the Tomcat engine (and thus Cocoon 2). We also emptied the <strong>work</strong> directory, located at "$TOMCAT_HOME/work/". Experience learned that this is something you have to do every time you want to try something like this with Cocoon 2.
@@ -1065,7 +1085,7 @@
 So, after a bit of struggling, we finally succeeded in deploying our own generator.
 				</p>
 </div>
-<a name="N10514"></a><a name="Considerations+afterwards"></a>
+<a name="N10509"></a><a name="Considerations+afterwards"></a>
 <h5>Considerations afterwards</h5>
 <div style="margin-left: 0 ; border: 2px">
 <p>After seeing our example and having some experience with Cocoon 2 one might ask why we reinvented the wheel by instantiating a parser and not using the one provided by Cocoon 2. It is evident that a start of a pipeline is a generator that fires SAX events, there must be a SAXParser available throughout Cocoon 2 that can be easily accessed. This is in fact the case. There are a number of reasons why we had not chosen that approach the first time around:</p>
@@ -1117,14 +1137,14 @@
 				</p>
 </div>
 </div>
-<a name="N10585"></a><a name="Going+the+distance"></a>
+<a name="N10579"></a><a name="Going+the+distance"></a>
 <h4>Going the distance</h4>
 <div style="margin-left: 0 ; border: 2px">
 <p>We have succeeded in implementing a first test to find out how everything works, but a generator that only sends a fixed string to Cocoon 2 is not that interesting. Since we have written an application that can serve XML documents contained in a String object (using JDOM (<a href="http://www.jdom.org">JDOM.org</a>)), we want to be able to retrieve these documents through our browser, which sends this request to Cocoon 2. Cocoon 2 then fires up our generator to retrieve the requested XML document and can start the pipeline for processing that document.
 			</p>
 <p>Since we had experimented with Java RMI in one of our courses, we decided to try a setup where our generator was a client for the document server and the communication would happen via RMI. For this section, we will first look at setting up the server, next we will look at accessing the server from within MyGenerator and finally we will put it all together. If we get this to work, we then can ponder about looking up parameters defined in the sitemap to use in MyGenerator. We used (<a href="http://java.sun.com/products/jdk/1.2/docs/guide/rmi/getstart.doc.html">Getting Started Using RMI</a>) as a basis for getting started with RMI. If you have never used RMI, we recommend that you read this document to develop a basic understanding of working with RMI.
 			</p>
-<a name="N10598"></a><a name="Setting+up+a+RMI+server"></a>
+<a name="N1058C"></a><a name="Setting+up+a+RMI+server"></a>
 <h5>Setting up a RMI server</h5>
 <div style="margin-left: 0 ; border: 2px">
 <p>After reading the document (<a href="http://java.sun.com/products/jdk/1.2/docs/guide/rmi/getstart.doc.html">Getting Started Using RMI</a>) and having deployed the example, we started writing our own interface, called <strong>Serverfunctions</strong> that defines the methods that should be implemented by a program that wishes to serve as a server for <strong>MyGenerator</strong>. This interface looks like this:</p>
@@ -1233,7 +1253,7 @@
 <p>We then only need a <strong>main</strong> method to have a Java application at hand. The first thing we do is disabling the <strong>SecurityManager</strong>. For security reasons, this should only be done only for testing purposes on an isolated system and in production environments. We did this so we could bind this server in the rmiregistry without rewriting any Java policy files. Next, we make a new <strong>Server</strong> object and bind this in the rmiregistry, where it is associated with the name <strong>MyServer</strong>. We end with printing out a line that we have bound this object in the rmiregistry.
 				</p>
 </div>
-<a name="N105F8"></a><a name="Setting+up+a+RMI+client"></a>
+<a name="N105E9"></a><a name="Setting+up+a+RMI+client"></a>
 <h5>Setting up a RMI client</h5>
 <div style="margin-left: 0 ; border: 2px">
 <p>The next step in the process is to implement a Java application that can connect to our RMI server and invoke its methods. Once again, we will first give our code and then explain what it does.</p>
@@ -1275,7 +1295,7 @@
 <p>Our client only defines a <strong>main</strong> method. We first initialize the variable, to which we will assign the return value of the <strong>sayHello</strong> method. Next, we try to <strong>lookup</strong> an object that is bound to "//myhost.com/MyServer" (note that myhost.com is a random chosen example). The lookup method returns an object, that is casted to the <strong>ServerFunctions</strong> type. We then invoke the sayHello method on the object and we print this message out. We also invoke the <strong>getResource</strong> method and print the result out. If this succeeds, we know everything works correctly. If an exception occurs, we print out the message from this exception plus its stack trace.
 				</p>
 </div>
-<a name="N10618"></a><a name="Testing+the+RMI+components"></a>
+<a name="N10608"></a><a name="Testing+the+RMI+components"></a>
 <h5>Testing the RMI components</h5>
 <div style="margin-left: 0 ; border: 2px">
 <p>We will first test if the RMI communication works. If it doesn't work there is no point in trying to integrate RMI communication in MyGenerator.Located in the directory "/home/erwin/cocoon2/generator/", which has the subdirectory "test/" containing our files, we execute the following commands:</p>
@@ -1362,7 +1382,7 @@
 The most likely reason is that the default policy does not permit your server to bind its name in the rmiregistry. You have to change the security policy specified in the "$JAVA_HOME/jre/lib/security/java.policy" file. Since we are no experts in security we cannot give you any advice in this matter, but a general advice in security related matters is that you are better safe then sorry.
 				</p>
 </div>
-<a name="N1065C"></a><a name="Putting+the+pieces+together"></a>
+<a name="N10646"></a><a name="Putting+the+pieces+together"></a>
 <h5>Putting the pieces together</h5>
 <div style="margin-left: 0 ; border: 2px">
 <p>We now have been able to setup a generator and use RMI communication, now it is time to integrate these two pieces so we have a fully blown RMIGenerator for Cocoon 2. But before we do that, we will look how we can access the parameters and source that are passed from the sitemap to MyGenerator.
@@ -1528,7 +1548,7 @@
 <p>Since we have already explained every step that happens in this generator, we are confident that everyone will understand the code. We are now ready to deploy this generator.
 				</p>
 </div>
-<a name="N106E9"></a><a name="The+final+step%3A+deployment"></a>
+<a name="N106D0"></a><a name="The+final+step%3A+deployment"></a>
 <h5>The final step: deployment</h5>
 <div style="margin-left: 0 ; border: 2px">
 <p>We can now compile our classes and put the generator, along with the ServerFunctions interface, in the right place. For compiling, we used the following command:</p>
@@ -1549,7 +1569,7 @@
 </div>
 	
 	
-<a name="N106FF"></a><a name="Future+plans"></a>
+<a name="N106E5"></a><a name="Future+plans"></a>
 <h3>Future plans</h3>
 <div style="margin-left: 0 ; border: 2px">
 <p>The first version of this generator was written as a proof-of-concept. The latest version (as given here, extending the ComposerGenerator) only foresees in the <strong>generate</strong> method. There are a number of plans we still have to extend the functionality and thus usability of this generator:</p>
@@ -1580,11 +1600,14 @@
 <!--================= start Footer ==================-->
 <table summary="footer" cellspacing="0" cellpadding="0" width="100%" border="0">
 <tr>
-<td colspan="2" height="1" bgcolor="#4C6C8F"><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"><a href="../skin/images/label.gif"></a><a href="../skin/images/page.gif"></a><a href="../skin/images/chapter.gif"></a><a href="../skin/images/chapter_open.gif"></a><a href="../skin/images/current.gif"></a><a href="/favicon.ico"></a></td>
+<td colspan="2" height="1" bgcolor="#4C6C8F"><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"><a href="../skin/images/label.gif"></a><a href="../skin/images/page.gif"></a><a href="../skin/images/chapter.gif"></a><a href="../skin/images/chapter_open.gif"></a><a href="../skin/images/current.gif"></a></td>
 </tr>
 <tr>
-<td colspan="2" bgcolor="#CFDCED" class="copyright" align="center"><font size="2" face="Arial, Helvetica, Sans-Serif">Copyright &copy;
-          1999-2004&nbsp;The Apache Software Foundation. All rights reserved.<script type="text/javascript" language="JavaScript"><!--
+<td colspan="2" bgcolor="#CFDCED" class="copyright" align="center"><font size="2" face="Arial, Helvetica, Sans-Serif"><a href="http://www.apache.org/licenses/">
+              Copyright &copy; 1999-2005&nbsp;
+              The Apache Software Foundation.</a>
+          All rights reserved.
+          <script type="text/javascript" language="JavaScript"><!--
               document.write(" - "+"Last Published: " + document.lastModified);
             //  --></script></font></td>
 </tr>

Modified: cocoon/site/site/2.1/tutorial/tutorial-rmi-generator.pdf
URL: http://svn.apache.org/viewcvs/cocoon/site/site/2.1/tutorial/tutorial-rmi-generator.pdf?view=diff&r1=159368&r2=159369
==============================================================================
Binary files - no diff available.