cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ovidiu Predescu <ovi...@cup.hp.com>
Subject Re: [C2] Understanding Cocoon2 Presentation from Pankaj
Date Fri, 01 Jun 2001 19:15:23 GMT
The below message bounced, I'm resending it with the patch embedded in
the message, no attachments.

Davanum, please use the patch in this message, as it has even more
fixes.

Thanks,
Ovidiu


From: Ovidiu Predescu <ovidiu@cup.hp.com>
To: "KUMAR,PANKAJ (HP-Cupertino,ex1)" <pankaj_kumar@hp.com>
Cc: "'dims@yahoo.com'" <dims@yahoo.com>, cocoon-dev@xml.apache.org
Subject: Re: [C2] Understanding Cocoon2 Presentation from Pankaj
Date: Fri, 01 Jun 2001 11:51:32 -0700

On Fri, 1 Jun 2001 13:51:04 -0400 , "KUMAR,PANKAJ (HP-Cupertino,ex1)" <pankaj_kumar@hp.com>
wrote:

> > Just use "build docs" to build the XML into HTML. Can you 
> > take a look and check if the material is
> > ok and that i have not mangled anything? Please feel free to 
> > send patches.
> 
> Checked it out. Looks good.
> Any way to make it more printer frindly ( right now it needs a really wide
> screen or page )?

The appended patch takes care of this, plus it fixes some other
peculiarities.

Greetings,
-- 
Ovidiu Predescu <ovidiu@cup.hp.com>
http://orion.nsr.hp.com/ (inside HP's firewall only)
http://www.geocities.com/SiliconValley/Monitor/7464/ (GNU, Emacs, other stuff)

--------------- Patch starts here -----------------------------------
--- /home/ovidiu/src/xml-cocoon2/xdocs/uc2.xml	Fri Jun  1 08:49:19 2001
+++ xdocs/uc2.xml	Fri Jun  1 12:13:42 2001
@@ -96,7 +96,7 @@
       <ul> 
 	    <li>A separate codebase to incorporate Cocoon1 learnings.</li>
 	    <li>Designed for execution speed/memory efficiency and scalability to process
very large documents by switching processing model from DOM to SAX.</li>
-	    <li>Centralizes the management functions by allowing processing pipeline specification
in a sitemap ( an XML file ), replacing the embedded processing instruction model.</li>
+	    <li>Centralizes the management functions by allowing processing pipeline specification
in a sitemap (an XML file), replacing the embedded processing instruction model.</li>
 	    <li>Better support for pre-compilation, pre-generation and caching for better
performance.</li>
       </ul>
     </s2>
@@ -104,7 +104,7 @@
   <anchor id="what-problems"/>
   <s1 title="What problem does Cocoon2 solve?">
     <p>Basic problem to be solved:</p>
-    <s2 title="Separation of content, style, logic and management functions in an XML
content based web site ( and web services ).">
+    <s2 title="Separation of content, style, logic and management functions in an XML
content based web site (and web services).">
       <figure src="images/pyramid-model.gif" alt="The @Name@ Pyramid Model of Contracts"/>
     </s2>
     <s2 title="Data Mapping">
@@ -116,8 +116,8 @@
     <p>Basic mechanisms for processing XML documents:</p>
     <ul>
       <li>Dispatching based on Matchers.</li>
-      <li>Generation of XML documents ( from content, logic, Relation DB, objects or
any combination ) through Generators</li>
-      <li>Transformation (to another XML, objects or any combination ) of XML documents
through Transformers</li>
+      <li>Generation of XML documents (from content, logic, Relation DB, objects or
any combination) through Generators</li>
+      <li>Transformation (to another XML, objects or any combination) of XML documents
through Transformers</li>
       <li>Aggregation of XML documents through Aggregators</li>
       <li>Rendering XML through Serializers</li>
     </ul>
@@ -167,7 +167,7 @@
   </s1>
   <anchor id="c2-abstractions"/>
   <s1 title="Abstraction.">
-    <s2 title="eXtensible Server Pages ( XSPs )">
+    <s2 title="eXtensible Server Pages (XSPs)">
       <p>An XSP page is an XML page with following requirements:</p>
         <ul>
           <li>The document root must be <code>&lt;xsp:page&gt;</code></li>
@@ -178,15 +178,14 @@
 <source><![CDATA[
 <?xml version="1.0" encoding="ISO-8859-1"?>
 
-<xsp:page language="java"
-     xmlns:xsp="http://apache.org/xsp">
+<xsp:page language="java" xmlns:xsp="http://apache.org/xsp">
 
   <xsp:logic>
   static private int counter = 0;
   private synchronized int count()
-    {
+  {
     return counter++;
-    }
+  }
   </xsp:logic>
 
   <page>
@@ -198,7 +197,7 @@
 
       <p>An XSP page is used by a generator to generate XML document.</p>
     </s2>
-    <s2 title="XSP Processing ( Code Generation )">
+    <s2 title="XSP Processing (Code Generation)">
 <source><![CDATA[
 package org.apache.cocoon.www.docs.samples.xsp;
 
@@ -218,7 +217,7 @@
     AttributesImpl xspAttr = new AttributesImpl();
     this.contentHandler.startPrefixMapping("xsp", "http://apache.org/xsp");
     this.contentHandler.startElement("", "page", "page", xspAttr);
-    // Statements to build the XML document ( Omitted )
+    // Statements to build the XML document (Omitted)
     this.contentHandler.endElement("", "page", "page");
     this.contentHandler.endPrefixMapping("xsp");
     this.contentHandler.endDocument();
@@ -236,7 +235,7 @@
       </s3>
       <s3 title="Included Logicsheet">
       <ul>
-        <li>Code is in a separate logicsheet ( an XSL file)</li>
+        <li>Code is in a separate logicsheet (an XSL file)</li>
         <li>Effective separation of content and logic</li>
         <li>Preferred way to create XSPs</li>
       </ul>
@@ -301,10 +300,10 @@
       <p>Matchers help in specifying a specific pipeline processing for a group of
URIs.</p>
       <p>Sitemap entries for different types of matchers</p>
 <source><![CDATA[
- <map:matchers default="wildcard">
-   <map:matcher name="wildcard" factory="org.apache.cocoon.matching.WildcardURIMatcherFactory"/>
-   <map:matcher name="regexp" factory="org.apache.cocoon.matching.RegexpURIMatcherFactory"/>
-  </map:matchers>
+<map:matchers default="wildcard">
+ <map:matcher name="wildcard" factory="org.apache.cocoon.matching.WildcardURIMatcherFactory"/>
+ <map:matcher name="regexp" factory="org.apache.cocoon.matching.RegexpURIMatcherFactory"/>
+</map:matchers>
 ]]></source>
       <p>Pipeline entries in sitemap file</p>
 <source><![CDATA[
@@ -317,7 +316,7 @@
 ]]></source>
     </s2>
     <s2 title="Generators">
-      <p>A Generator is used to create an XML structure from an input source ( file,
directory, stream ...)</p>
+      <p>A Generator is used to create an XML structure from an input source (file,
directory, stream ...)</p>
       <figure src="images/xsp-way3.gif" alt="ways of creating xsp's"/>
       <p>Different types of generators:</p>
         <ul>
@@ -332,11 +331,18 @@
       <p>Sitemap entries for different types of generators</p>
 <source><![CDATA[
 <map:generators default="file">
-   <map:generator  name="file"        src="org.apache.cocoon.generation.FileGenerator"
label="content"/>
-   <map:generator  name="directory"   src="org.apache.cocoon.generation.DirectoryGenerator"
label="content"/>
-   <map:generator  name="serverpages" src="org.apache.cocoon.generation.ServerPagesGenerator"
label="content"/>
-   <map:generator  name="request"     src="org.apache.cocoon.generation.RequestGenerator"/>
-...
+ <map:generator name="file"
+                src="org.apache.cocoon.generation.FileGenerator"
+                label="content"/>
+ <map:generator name="directory"
+                src="org.apache.cocoon.generation.DirectoryGenerator"
+                label="content"/>
+ <map:generator name="serverpages"
+                src="org.apache.cocoon.generation.ServerPagesGenerator"
+                label="content"/>
+ <map:generator name="request"
+                src="org.apache.cocoon.generation.RequestGenerator"/>
+ ...
 </map:generators>
 ]]></source>
       <p>A sample generator entries in a pipeline</p>
@@ -367,27 +373,27 @@
       <p>Sitemap entries for different types of transformers</p>
 <source><![CDATA[
 <map:transformers default="xslt">
-   <map:transformer     name="xslt"      src="org.apache.cocoon.transformation.TraxTransformer">
+   <map:transformer name="xslt" src="org.apache.cocoon.transformation.TraxTransformer">
     <use-store map:value="true"/>
     <use-request-parameters map:value="false"/>
     <use-browser-capabilities-db map:value="false"/>
    </map:transformer>
-   <map:transformer     name="log"       src="org.apache.cocoon.transformation.LogTransformer"/>
+   <map:transformer name="log" src="org.apache.cocoon.transformation.LogTransformer"/>
 ...
 
 </map:transformers>
 ]]></source>
       <p>A sample transformer entry in a pipeline</p>
 <source><![CDATA[
- <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: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>
 ]]></source>
     </s2>
     <s2 title="Serializers">
-      <p>A Serializer is used to render an input XML structure into some other format
( not necessarily XML )</p>
+      <p>A Serializer is used to render an input XML structure into some other format
(not necessarily XML)</p>
       <p>Different types of serializers:</p>
         <ul>
            <li>HTML Serializer</li>
@@ -400,11 +406,19 @@
       <p>Sitemap entries for different types of serializers</p>
 <source><![CDATA[
 <map:serializers default="html">
-   <map:serializer name="xml"    mime-type="text/xml"         src="org.apache.cocoon.serialization.XMLSerializer"/>
-   <map:serializer name="html"   mime-type="text/html"        src="org.apache.cocoon.serialization.HTMLSerializer"/>
-   <map:serializer name="fo2pdf" mime-type="application/pdf"  src="org.apache.cocoon.serialization.FOPSerializer"/>
-   <map:serializer name="vrml"   mime-type="model/vrml"       src="org.apache.cocoon.serialization.TextSerializer"/>
-   ...
+ <map:serializer name="xml"
+                 mime-type="text/xml"
+                 src="org.apache.cocoon.serialization.XMLSerializer"/>
+ <map:serializer name="html"
+                 mime-type="text/html"
+                 src="org.apache.cocoon.serialization.HTMLSerializer"/>
+ <map:serializer name="fo2pdf"
+                 mime-type="application/pdf"
+                 src="org.apache.cocoon.serialization.FOPSerializer"/>
+ <map:serializer name="vrml"
+                 mime-type="model/vrml"
+                 src="org.apache.cocoon.serialization.TextSerializer"/>
+ ...
 </map:serializers>
 ]]></source>
       <p>A sample serializer entry in a pipeline</p>
@@ -418,13 +432,13 @@
     </s2>
     <s2 title="Pipeline Processing">
       <p>The sitemap configuration allows dynamic setup of processing pipelines consisting
of a generator, multiple transformers and a serializer.</p>
-      <p>Requests are dispatched to a pipeline based on request URI and the pipeline
matching pattern ( either with wildcards or as a regexp )</p>
-      <p>The pipeline is setup in the generated file sitemap_xmap.java ( This file
gets generated [ possibly asynchronously] everytime the sitemap.xmap is modified.</p>
+      <p>Requests are dispatched to a pipeline based on request URI and the pipeline
matching pattern (either with wildcards or as a regexp)</p>
+      <p>The pipeline is setup in the generated file <code>sitemap_xmap.java</code>
(This file gets generated [possibly asynchronously] everytime the <code>sitemap.xmap</code>
is modified.</p>
       <figure src="images/pipeline2.gif" alt="Pipeline Entry"/>
     </s2>
     <s2 title="Logicsheets">
       <p>Logicsheets are XSL files with an associated namespace.</p>
-      <p>Primary mechanism to add program logic ( code ) to XSPs.</p>
+      <p>Primary mechanism to add program logic (code) to XSPs.</p>
       <p>These need to be registered in configuration file cocoon.xconf.</p>
       <p>Logicsheets are used by the generator to transform XML structure before generating
program.</p>
       <p>Cocoon comes with a no. of built-in logic sheets:</p>
@@ -439,7 +453,11 @@
         </ul>
       <p>Log.xsl structure</p>
 <source><![CDATA[
-<xsl:stylesheet  version="1.0"  xmlns:xsp="http://apache.org/xsp"  xmlns:log="http://apache.org/xsp/log"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+<xsl:stylesheet  version="1.0"
+                 xmlns:xsp="http://apache.org/xsp"
+                 xmlns:log="http://apache.org/xsp/log"
+                 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
 <xsl:template match="log:logger">
 ... variable and xsp:logic statements ...
 </xsl:template>
@@ -458,8 +476,8 @@
       <p>A sample use</p>
 <source><![CDATA[
 <xsp:page language="java"
-    xmlns:xsp="http://apache.org/xsp"
-    xmlns:log="http://apache.org/xsp/log">
+          xmlns:xsp="http://apache.org/xsp"
+          xmlns:log="http://apache.org/xsp/log">
 
   <page>
   <log:logger name="test" filename="test.log"/>
@@ -471,28 +489,37 @@
   </s1>
   <anchor id="cocoon-configuration"/>
   <s1 title="@Name@ Configuration.">
-    <p>Cocoon is highly configurable. Main configuration files, assuming Cocoon deployment
as a servlet in a servlet container, are ( directory locations assume Tomcat servlet container
and Windows NT ):</p>
+    <p>Cocoon is highly configurable. Main configuration files, assuming Cocoon deployment
as a servlet in a servlet container, are (directory locations assume Tomcat servlet container):</p>
     <ul>
-       <li>sitemap.xmap: the sitemap file. By default, located in %TOMCAT_HOME%\webapps\cocoon
directory.</li>
-       <li>cocoon.xconf: configuration file having logicsheet registrations. Specifies,
sitemap.xmap location and other such parameters. By default, located in %TOMCAT_HOME%\webapps\cocoon
directory.</li>
-       <li>web.xml: servlet deployment descriptor. Specifies location of cocoon.xconf,
log file location and other such parameters. Located in %TOMCAT_HOME%\webapps\cocoon\Web-inf
directory.</li>
-       <li>cocoon.roles: mapping file for Core Cocoon components name and implementation
classes. For example, if you want to use a parser other than the default one, you need to
modify this file.</li>
+       <li><code>sitemap.xmap</code>: the sitemap file. By default, located
in <code>$TOMCAT_HOME/webapps/cocoon</code> directory.</li>
+       <li><code>cocoon.xconf</code>: configuration file having logicsheet
registrations. Specifies, sitemap.xmap location and other such parameters. By default, located
in <code>$TOMCAT_HOME/webapps/cocoon</code> directory.</li>
+       <li><code>web.xml</code>: servlet deployment descriptor. Specifies
location of cocoon.xconf, log file location and other such parameters. Located in <code>$TOMCAT_HOME/webapps/cocoon/WEB-INF</code>
directory.</li>
+       <li><code>cocoon.roles</code>: mapping file for Core Cocoon components
name and implementation classes. For example, if you want to use a parser other than the default
one, you need to modify this file.</li>
     </ul>
   </s1>
   <anchor id="work-area"/>
   <s1 title="@Name@ Work Area">
     <p>Cocoon produces execution log entries for debugging/auditing.</p>
     <ul>
-       <li>The amount of data to be logged can be controlled by log-level parameter
in web.xml file. The default is DEBUG ( maximum data ).</li>
-       <li>By default, the log file is: %TOMCAT_HOME%\webapps\cocoon\Web-inf\logs\cocoon.log.</li>
+       <li>The amount of data to be logged can be controlled by
+       log-level parameter in web.xml file. The default is DEBUG
+       (maximum data).</li>
+       <li>By default, the log file is:
+       <code>$TOMCAT_HOME/webapps/cocoon/Web-inf/logs/cocoon.log</code>.</li>
     </ul>
-    <p>Cocoon keeps the generated .java files in a directory tree starting at ( by
default ): %TOMCAT_HOME%\webapps\work\localhost_8080%2Fcocoon\org\apache\cocoon\www. You can
find sitemap_xmap.java here.</p>
-    <p>Files created by LogTransformer are kept ( by default ) in %TOMCAT_HOME% directory.</p>
+
+    <p>Cocoon keeps the generated .java files in a directory tree
+    starting at (by default):</p>
+    <code>$TOMCAT_HOME/webapps/work/localhost_8080%2Fcocoon/org/apache/cocoon/www</code>.
+
+<p>You can find <code>sitemap_xmap.java</code> here.</p>
+
+    <p>Files created by LogTransformer are kept (by default) in <code>$TOMCAT_HOME</code>
directory.</p>
   </s1>
   <anchor id="use-with-tomcat"/>
   <s1 title="Use with Tomcat">
     <p>Download Tomcat from Apache site.</p>
-    <p>Download Cocoon sources from Apache CVS ( binaries not available for Cocoon2
yet ). Would require socksified CVS client for connection setup. [ Command assume UNIX shell
prompt ]</p>
+    <p>Download Cocoon sources from Apache CVS (binaries not available for Cocoon2
yet). [Command assume UNIX Bourne shell]</p>
 <source><![CDATA[
 export CVSROOT=:pserver:anoncvs@xml.apache.org:/home/cvspublic 
 cvs login 
@@ -500,8 +527,8 @@
 cvs checkout xml-cocoon2
 ]]></source>
     <p>Build sources as per instruction in Install file.</p>
-    <p>Move the cocoon.war file to %TOMCAT_HOME%\webapps directory.</p>
-    <p>Start the servlet engine. Type-in the URL http://localhost:8080/cocoon in your
browser. You should see the Cocoon welcome message.</p>
+    <p>Move the <code>cocoon.war</code> file to <code>$TOMCAT_HOME/webapps</code>
directory.</p>
+    <p>Start the servlet engine. Type-in the URL <code>http://localhost:8080/cocoon</code>
in your browser. You should see the Cocoon welcome message.</p>
     <p>Consult Install file if you face problems.</p>
   </s1>
 </body>

---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
For additional commands, email: cocoon-dev-help@xml.apache.org


Mime
View raw message