cocoon-docs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From d...@cocoon.apache.org
Subject [Cocoon Wiki] Updated: CocoonProtocolExample
Date Tue, 01 Mar 2005 21:50:55 GMT
   Date: 2005-03-01T13:50:55
   Editor: LarsHuttar
   Wiki: Cocoon Wiki
   Page: CocoonProtocolExample
   URL: http://wiki.apache.org/cocoon/CocoonProtocolExample

   no comment

Change Log:

------------------------------------------------------------------------------
@@ -1,47 +1,47 @@
 Here is a sitemap snippet that shows how the cocoon:/ protocol can be used to modularize
pipelines and aggregate data from multiple sources. -- BertrandDelacretaz
 
-{{{
-<!-- assuming the required components are correctly configured -->
-
-<!-- for the body use an XMLized HTML file -->
-<map:match pattern="body-*.xml">
-  <map:generate type="html" src="body/{1}.html"/>
-  <map:serialize type="xml"/>
-</map:match>
-
-<!-- for the heading use a database query -->
-<map:match pattern="head-*.xml">
-  <map:generate src="sql-query.xml"/>
-  <map:transform type="sql">
-    <map:parameter name="use-connection" value="my_pool"/>
-  </map:transform>
-  <map:transform src="format-query-results.xsl"/>
-  <map:serialize type="xml"/>
-</map:match>
-
-<!-- combine head and body in XML -->
-<map:match pattern="fulldoc-*.xml">
-  <map:aggregate element="fulldoc"> 
-    <map:part src="cocoon:/head-{1}.xml"/>
-    <map:part src="cocoon:/body-{1}.xml"/>
-  </map:aggregate>
-  <map:serialize type="xml"/>
-</map:match>
-
-<!-- here's the HTML version -->
-<map:match pattern="fulldoc-*.html">
-  <map:generate src="cocoon:/fulldoc-{1}.xml"/>
-  <map:transform src="xml-to-html.xsl"/>
-  <map:serialize type="html"/>
-</map:match>
-
-<!-- and the RTF version -->
-<map:match pattern="fulldoc-*.rtf">
-  <map:generate src="cocoon:/fulldoc-{1}.xml"/>
-  <map:transform src="xml-to-fo.xsl"/>
-  <map:serialize type="fo2rtf"/>
-</map:match>
-
+{{{
+<!-- assuming the required components are correctly configured -->
+
+<!-- for the body use an XMLized HTML file -->
+<map:match pattern="body-*.xml">
+  <map:generate type="html" src="body/{1}.html"/>
+  <map:serialize type="xml"/>
+</map:match>
+
+<!-- for the heading use a database query -->
+<map:match pattern="head-*.xml">
+  <map:generate src="sql-query.xml"/>
+  <map:transform type="sql">
+    <map:parameter name="use-connection" value="my_pool"/>
+  </map:transform>
+  <map:transform src="format-query-results.xsl"/>
+  <map:serialize type="xml"/>
+</map:match>
+
+<!-- combine head and body in XML -->
+<map:match pattern="fulldoc-*.xml">
+  <map:aggregate element="fulldoc"> 
+    <map:part src="cocoon:/head-{1}.xml"/>
+    <map:part src="cocoon:/body-{1}.xml"/>
+  </map:aggregate>
+  <map:serialize type="xml"/>
+</map:match>
+
+<!-- here's the HTML version -->
+<map:match pattern="fulldoc-*.html">
+  <map:generate src="cocoon:/fulldoc-{1}.xml"/>
+  <map:transform src="xml-to-html.xsl"/>
+  <map:serialize type="html"/>
+</map:match>
+
+<!-- and the RTF version -->
+<map:match pattern="fulldoc-*.rtf">
+  <map:generate src="cocoon:/fulldoc-{1}.xml"/>
+  <map:transform src="xml-to-fo.xsl"/>
+  <map:serialize type="fo2rtf"/>
+</map:match>
+
 }}}
 
 Note that the various parts can be tested separately, by requesting them directly like "body-xyz.xml".
This is very useful when debugging or testing complex pipelines (although it can also be done
with views).
@@ -55,15 +55,15 @@
 While the body part depends on the page requested, the head is always extracted with the
same query (sql-query.xml).[[BR]]
 The fulldoc-*.xml pipeline, after having aggregated the results of the head and of the body
pipeline, return the content to the main pipeline from where we started which transform the
content to rtf.[[BR]]
 The pipeline flow can be represented as follow:
-{{{ 
-fulldoc-*.rtf  --> fulldoc-*.xml --> head-*.xml -->  fulldoc-*.xml --> fulldoc-*.rtf
-                                     body-*.xml --^
+{{{ 
+fulldoc-*.rtf  --> fulldoc-*.xml --> head-*.xml -->  fulldoc-*.xml --> fulldoc-*.rtf
+                                     body-*.xml --^
 }}}
 
 === cocoon:/? ===
 If your cocoon structure is divided into sub sitemaps you will be interested in the fact
that you can call pipeline in others sitemaps by calling the right path:
  *  cocoon:/aPipeline ask the results of the pipeline "aPipeline" which resides in the current
sitemap
- *  cocoon://aPipeline ask the results of the pipeline "aPipeline" which resides in the '''main'''
sitemap
+ *  cocoon://aPipeline ask the results of the pipeline "aPipeline" which resides in the '''main'''
(i.e. the Cocoon top-level) sitemap (or, of course, a subsitemap that it mounts)
 
 === See also ===
 

Mime
View raw message