You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by re...@apache.org on 2007/09/27 21:57:38 UTC
svn commit: r580139 [2/28] - in /cocoon/site/site/2.2: ./ blocks/
blocks/ajax/ blocks/ajax/1.0/ blocks/ajax/1.0/apidocs/ blocks/ajax/1.0/css/
blocks/ajax/1.0/images/ blocks/ajax/1.0/images/logos/ blocks/css/
blocks/forms/ blocks/forms/1.0/ blocks/forms...
Added: cocoon/site/site/2.2/1291_1_1.html
URL: http://svn.apache.org/viewvc/cocoon/site/site/2.2/1291_1_1.html?rev=580139&view=auto
==============================================================================
--- cocoon/site/site/2.2/1291_1_1.html (added)
+++ cocoon/site/site/2.2/1291_1_1.html Thu Sep 27 12:56:05 2007
@@ -0,0 +1,313 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+
+
+
+
+
+
+
+
+<html>
+ <head>
+ <title> Cocoon 2.2
+ </title>
+ <style type="text/css" media="all">
+ @import url("./css/maven-base.css");
+ @import url("./css/maven-theme.css");
+ @import url("./css/site.css");
+ </style>
+ <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+ <meta name="author" content="The Cocoon Community" />
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+ </head>
+ <body>
+ <div id="breadtrail">
+ <p><a href="http://www.apache.org">Apache</a> » <a href="../">Cocoon</a> »</p>
+ </div>
+ <div id="top">
+ <div id="header">
+ <div class="projectlogo">
+ <a href="../"><img class="logoImage"
+ src="images/cocoon_logo.jpg"
+ alt="Apache Cocoon" border="0" /></a>
+ </div>
+ <div class="grouplogo">
+ <p class="grouptitle"><a href="../">The Apache Cocoon Project</a><img
+ src="images/apache-logo.jpg" alt="Cocoon Project Logo" /></p>
+ <form class="searchbox" action="http://www.google.com/search" method="get">
+ <input value="cocoon.apache.org" name="sitesearch" type="hidden" />
+ <input onFocus="getBlank (this, 'Search the site with google');" size="25" name="q" id="query" type="text" value="Search the site with google" />
+ <input class="searchboxsubmit" name="Search" value="Search" type="submit" />
+ </form>
+ </div>
+ </div>
+ <div id="projectBar">
+ <p class="cocoonHome"><a href="../"><img
+ src="images/pmc-home.gif"
+ alt="Back to Apache Cocoon homepage"
+ border="0" title="Back to Apache Cocoon homepage" /></a></p>
+ <h1 class="projectTitle"><a href="../"> Cocoon 2.2
+ </a></h1>
+ <ul class="projectList">
+ <li><strong><a href="../2.2/">Cocoon 2.2</a></em></strong></li>
+ <li><a href="../2.2/core-modules/">Core <span class="pl-version-small">2.2</span></a></li>
+ <li><a href="../2.2/blocks/">Blocks <span class="pl-version-small">2.2</span></a></li>
+ <li><a href="../2.2/maven-plugins/">Maven Plugins <span class="pl-version-small">2.2</span></a></li>
+ <li><strong><a href="../subprojects/">Subprojects</a></strong></li>
+ </ul>
+ </div>
+ <div class="projectBarClear"><!-- --></div>
+ </div>
+<!-- end of top -->
+
+ <div id="content">
+ <ul id="menu">
+ <li>
+ Overview
+ <ul>
+
+ <li >
+ <a href="1327_1_1.html">Overview</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ Tutorials
+ <ul>
+
+ <li >
+ <a href="1159_1_1.html">Your first Cocoon application using Maven 2</a>
+ </li>
+
+ <li >
+ <a href="1290_1_1.html">Your first XML pipeline (publishing)</a>
+ </li>
+
+ <li >
+ <strong>Modularize Cocoon apps (Using blocks)</strong>
+ </li>
+
+ <li >
+ <a href="1362_1_1.html">Deploying a Cocoon application</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ How-Tos
+ <ul>
+
+ <li >
+ <a href="1366_1_1.html">How to configure consistent encoding in Cocoon</a>
+ </li>
+
+ <li >
+ <a href="1402_1_1.html">2.1 to 2.2 migration</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ All Sitemap Components
+ <ul>
+
+ <li >
+ <a href="1347_1_1.html">All Sitemap Components</a>
+ </li>
+ </ul>
+ </li>
+ </ul>
+<!--
+ <a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy">
+ <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img>
+ </a>
+ <div id="lastPublished">
+
+ Last Published: 26/09/2007 07:10
+ </div>
+-->
+ <div id="contentBody"><div id="bodyText"><h1 class="docTitle">Modularize Cocoon apps (Using blocks)</h1><p>In the basic tutorial
+<a href="http://cocoon.zones.apache.org/daisy/cdocs/g2/g1/g2/1159.html">"Your
+first Cocoon application using Maven 2"</a> you created your first block. Cocoon
+2.2 introduced the concept of blocks because it should help you to split your
+application into smaller parts. This increases the maintainability and
+reusability by orders of magnitude.</p><p>In this tutorial you will</p><ol type="1">
+<li>create a second block</li>
+<li>connect one block with another one</li>
+<li>use a pipeline fragement available in one block from within another block
+</li>
+</ol><h1 xmlns:p="http://outerx.org/daisy/1.0#publisher" xmlns:ns="http://outerx.org/daisy/1.0">Create a second block</h1>For this purpose move into the <tt>getting-started-app</tt> directory and use
+the Maven 2 archetype again:<pre>mvn archetype:create
+ -DarchetypeGroupId=org.apache.cocoon
+ -DarchetypeArtifactId=cocoon-22-archetype-block
+ -DarchetypeVersion=1.0.0-RC1
+ -DgroupId=com.mycompany
+ -DartifactId=<strong xmlns:p="http://outerx.org/daisy/1.0#publisher" xmlns:ns="http://outerx.org/daisy/1.0">myBlock2</strong> </pre>The result is a second block and you should find following directory
+structure:<pre>getting-started-app
+<tt xmlns:p="http://outerx.org/daisy/1.0#publisher" xmlns:ns="http://outerx.org/daisy/1.0"> +-</tt><tt xmlns:p="http://outerx.org/daisy/1.0#publisher" xmlns:ns="http://outerx.org/daisy/1.0">myBlock1
+ | +-pom.xml
+ | +-src
+ | +-[...]</tt>
+<tt xmlns:p="http://outerx.org/daisy/1.0#publisher" xmlns:ns="http://outerx.org/daisy/1.0"> +-</tt><tt xmlns:p="http://outerx.org/daisy/1.0#publisher" xmlns:ns="http://outerx.org/daisy/1.0">myBlock2
+ +-pom.xml
+ +-src
+ +-[...]
+
+</tt></pre>Then run<pre>mvn install eclipse:eclipse</pre><p>in order to make it ready for be imported in Eclipse and to put it into the
+local Maven repository. Then you can import the project into Eclipse.</p><h1 xmlns:p="http://outerx.org/daisy/1.0#publisher" xmlns:ns="http://outerx.org/daisy/1.0">Connect two blocks</h1><p>Let's assume that you want to use a pipeline defined in <tt>block2</tt> from
+within <tt>block1</tt>. You have to establish the connection between the two
+blocks. Edit
+<tt>getting-started-app/<strong>myBlock1</strong>/src/main/resources/META-INF/cocoon/spring/servlet-service.xml:</tt>
+</p><pre><?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:servlet="http://cocoon.apache.org/schema/servlet"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
+ http://cocoon.apache.org/schema/servlet http://cocoon.apache.org/schema/servlet/cocoon-servlet-1.0.xsd">
+
+ <bean id="com.mycompany.myBlock1.block" class="org.apache.cocoon.sitemap.SitemapServlet">
+ <servlet:context mount-path="/myBlock1" context-path="blockcontext:/myBlock1/">
+<strong xmlns:p="http://outerx.org/daisy/1.0#publisher" xmlns:ns="http://outerx.org/daisy/1.0"> <servlet:connections>
+ <entry key="myBlock2" value-ref="com.mycompany.myBlock2.service"/>
+ </servlet:connections></strong>
+ </servlet:context>
+ </bean>
+
+</beans>
+</pre><p>Additionally add the new block as dependency to the block's Maven project
+descriptor (<tt>getting-started-app/<strong>myBlock1</strong>/pom.xml</tt>):</p><pre><?xml version="1.0" encoding="UTF-8"?>
+<project>
+ [...]
+ <dependencies>
+ [...]
+<strong xmlns:p="http://outerx.org/daisy/1.0#publisher" xmlns:ns="http://outerx.org/daisy/1.0"> <dependency>
+ <groupId>com.mycompany</groupId>
+ <artifactId>myBlock2</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </dependency></strong>
+ </dependencies>
+ [...]
+</project>
+</pre><p>If you use the RCL goal of the Cocoon Maven plugin, you will also want to add
+the location of the new block to the configuration file of block1. This has the
+advantage that you can work on block2 and the changes take effect immediatly.
+Open getting-started-app/myBlock1/rcl.properties and add</p><pre>com.mycompany.myBlock1.block%classes-dir=./target/classes
+
+<strong xmlns:p="http://outerx.org/daisy/1.0#publisher" xmlns:ns="http://outerx.org/daisy/1.0">com.mycompany.myBlock2.service%classes-dir=../myBlock2/target/classes
+%exclude-lib=com.mycompany:myBlock2
+</strong></pre><p>Restart the servlet container by invoking</p><pre>mvn jetty:run
+</pre><p>Now it's time to test connection. For that purpose add a pipeline to the
+sitemap of block1
+(<tt>getting-started-app/myBlock1/src/main/resources/COB-INF/sitemap.xmap</tt>):
+</p><pre><?xml version="1.0" encoding="UTF-8"?>
+<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
+ <map:pipelines>
+ [...]
+ <map:pipeline>
+ <map:match pattern="callingBlock2">
+ <map:generate src="<strong xmlns:p="http://outerx.org/daisy/1.0#publisher" xmlns:ns="http://outerx.org/daisy/1.0">servlet:myBlock2:/spring-bean</strong>" type="file"/>
+ <map:serialize type="xml"/>
+ </map:match>
+ </map:pipeline>
+ [...]
+ </map:pipelines>
+</map:sitemap>
+</pre><p>The file generator of this pipeline uses a special purpose protocol, the
+servlet protocol, to access a pipeline defined in the other block. If you enter
+<tt>http://localhost:8888/myBlock1/callingBlock2</tt> shows the output of the
+spring-bean pipeline of <tt>myBlock2</tt> but routed through <tt>myBlock1</tt>.
+<br></br>
+Though this is a "<em>hello word</em>" style example you might already imagine
+the power of this protocol, e.g. you can move all styling resources and
+pipelines to a particular block.</p><h1 xmlns:p="http://outerx.org/daisy/1.0#publisher" xmlns:ns="http://outerx.org/daisy/1.0">Use a pipeline fragment</h1><p>The previous example showed how you can call a pipeline from another block.
+But here is even more you can do! A sitemap can also provide pipeline fragements
+that can be used by other blocks:</p><pre><?xml version="1.0" encoding="UTF-8"?>
+<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
+ <map:pipelines>
+ <map:pipeline>
+ <map:match pattern="callingTransformationService">
+ <map:generate src="demo/welcome.xml"/>
+ <strong xmlns:p="http://outerx.org/daisy/1.0#publisher" xmlns:ns="http://outerx.org/daisy/1.0"><map:transform type="servletService">
+ <map:parameter name="service"
+ value="servlet:myBlock2:/myXsltTransformation-service"/>
+ </map:transform></strong>
+ <map:serialize type="xml"/>
+ </map:match>
+ </map:pipeline>
+ </map:pipelines>
+</map:sitemap></pre><p>When the requests arrives at <tt>callingTransformationService</tt> pipeline,
+the generator produces SAX events of <tt>demo/welcome.xml</tt>. There is nothing
+special here. The interesting part comes with the following transformer of type
+<tt>servletService</tt>. It calls a transformation service which is provided by
+<tt>myBlock2</tt>.</p><p>Add this service to the sitemap of myBlock2
+(<tt>getting-started-app/myBlock2/src/main/resources/COB-INF/sitemap.xmap)</tt>.
+It consists of one XSLT transformation step:</p><pre><?xml version="1.0" encoding="UTF-8"?>
+<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
+ <map:pipelines>
+ <map:pipeline>
+ <map:match pattern="<strong xmlns:p="http://outerx.org/daisy/1.0#publisher" xmlns:ns="http://outerx.org/daisy/1.0">myXsltTransformation-service</strong>">
+ <map:generate src="<strong xmlns:p="http://outerx.org/daisy/1.0#publisher" xmlns:ns="http://outerx.org/daisy/1.0">service-consumer:</strong>"/>
+ <map:transform src="myXsltTransformation.xslt"/>
+ <map:serialize type="xml"/>
+ </map:match>
+ </map:pipeline>
+ </map:pipelines>
+</map:sitemap></pre><p>The generator uses the service-consumer protocol which initializes the
+service. Then the pipeline continues with an XSLT transformation
+<tt>myXsltTranformation.xslt</tt>, which has to be put into the same directory
+as the <tt>myBlock2</tt> sitemap:</p><pre><?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+ <xsl:template match="/">
+ <html>
+ <head>
+ <title>Output of the XSLT transformation service.</title>
+ </head>
+ <body>
+ Output of the XSLT transformation service.
+ </body>
+ </html>
+ </xsl:template>
+</xsl:stylesheet>
+</pre><p>Point your browser at
+<tt>http://localhost:8888/myBlock1/callingTransformationService</tt> and see the
+output of the pipeline.</p><div class="note"><div><strong>Note: </strong>Beside transformation services there are also generation and a
+serialization services.</div></div></div><div class="editUrl"><div><em>Errors and Improvements?</em> If you see any errors or potential improvements in this document please help
+ us: <a href="http://cocoon.zones.apache.org/daisy/cdocs/1291?branch=1&language=1">View, Edit or comment</a> on the latest development version (registration required).
+ </div></div></div>
+ </div>
+ <!-- end of content -->
+ <div id="footer">
+ <p>©
+ 1999-2007
+
+ The Apache Software Foundation
+ <br/>
+
+ Last Published: 26/09/2007 07:10
+</p>
+ </div>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+ <script type="text/javascript">
+ _uacct = "UA-1740622-3";
+ urchinTracker();
+ </script>
+ </body>
+</html>
Added: cocoon/site/site/2.2/1327_1_1.html
URL: http://svn.apache.org/viewvc/cocoon/site/site/2.2/1327_1_1.html?rev=580139&view=auto
==============================================================================
--- cocoon/site/site/2.2/1327_1_1.html (added)
+++ cocoon/site/site/2.2/1327_1_1.html Thu Sep 27 12:56:05 2007
@@ -0,0 +1,184 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+
+
+
+
+
+
+
+
+<html>
+ <head>
+ <title> Cocoon 2.2
+ </title>
+ <style type="text/css" media="all">
+ @import url("./css/maven-base.css");
+ @import url("./css/maven-theme.css");
+ @import url("./css/site.css");
+ </style>
+ <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+ <meta name="author" content="The Cocoon Community" />
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+ </head>
+ <body>
+ <div id="breadtrail">
+ <p><a href="http://www.apache.org">Apache</a> » <a href="../">Cocoon</a> »</p>
+ </div>
+ <div id="top">
+ <div id="header">
+ <div class="projectlogo">
+ <a href="../"><img class="logoImage"
+ src="images/cocoon_logo.jpg"
+ alt="Apache Cocoon" border="0" /></a>
+ </div>
+ <div class="grouplogo">
+ <p class="grouptitle"><a href="../">The Apache Cocoon Project</a><img
+ src="images/apache-logo.jpg" alt="Cocoon Project Logo" /></p>
+ <form class="searchbox" action="http://www.google.com/search" method="get">
+ <input value="cocoon.apache.org" name="sitesearch" type="hidden" />
+ <input onFocus="getBlank (this, 'Search the site with google');" size="25" name="q" id="query" type="text" value="Search the site with google" />
+ <input class="searchboxsubmit" name="Search" value="Search" type="submit" />
+ </form>
+ </div>
+ </div>
+ <div id="projectBar">
+ <p class="cocoonHome"><a href="../"><img
+ src="images/pmc-home.gif"
+ alt="Back to Apache Cocoon homepage"
+ border="0" title="Back to Apache Cocoon homepage" /></a></p>
+ <h1 class="projectTitle"><a href="../"> Cocoon 2.2
+ </a></h1>
+ <ul class="projectList">
+ <li><strong><a href="../2.2/">Cocoon 2.2</a></em></strong></li>
+ <li><a href="../2.2/core-modules/">Core <span class="pl-version-small">2.2</span></a></li>
+ <li><a href="../2.2/blocks/">Blocks <span class="pl-version-small">2.2</span></a></li>
+ <li><a href="../2.2/maven-plugins/">Maven Plugins <span class="pl-version-small">2.2</span></a></li>
+ <li><strong><a href="../subprojects/">Subprojects</a></strong></li>
+ </ul>
+ </div>
+ <div class="projectBarClear"><!-- --></div>
+ </div>
+<!-- end of top -->
+
+ <div id="content">
+ <ul id="menu">
+ <li>
+ Overview
+ <ul>
+
+ <li >
+ <strong>Overview</strong>
+ </li>
+ </ul>
+ </li>
+ <li>
+ Tutorials
+ <ul>
+
+ <li >
+ <a href="1159_1_1.html">Your first Cocoon application using Maven 2</a>
+ </li>
+
+ <li >
+ <a href="1290_1_1.html">Your first XML pipeline (publishing)</a>
+ </li>
+
+ <li >
+ <a href="1291_1_1.html">Modularize Cocoon apps (Using blocks)</a>
+ </li>
+
+ <li >
+ <a href="1362_1_1.html">Deploying a Cocoon application</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ How-Tos
+ <ul>
+
+ <li >
+ <a href="1366_1_1.html">How to configure consistent encoding in Cocoon</a>
+ </li>
+
+ <li >
+ <a href="1402_1_1.html">2.1 to 2.2 migration</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ All Sitemap Components
+ <ul>
+
+ <li >
+ <a href="1347_1_1.html">All Sitemap Components</a>
+ </li>
+ </ul>
+ </li>
+ </ul>
+<!--
+ <a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy">
+ <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img>
+ </a>
+ <div id="lastPublished">
+
+ Last Published: 26/09/2007 07:10
+ </div>
+-->
+ <div id="contentBody"><div id="bodyText"><h1 class="docTitle">Overview</h1><p>The main design goal of Apache Cocoon 2.2 was providing better support for
+modularization:</p><p><img alt="cocoon22_overview" name="cocoon22_overview" height="341" width="473" src="images/1401_1_1.img"></img></p><p>Cocoon is based on the
+<a href="http://static.springframework.org/spring/docs/2.0.x/reference/index.html">Spring
+2.0</a> framework. The Spring Configurator and the Servlet Service Framework are
+two subprojects having Spring as main dependency. It's important to note that
+both can be reused outside of Cocoon Core.<br></br>
+The <a href="../subprojects/configuration/1.0/1329_1_1.html">Spring Configurator</a> provides basic support for
+configuring web applications that make use of Spring. The Servlet Service
+Framework enables modularization based on the <tt>javax.servlet.Servlet</tt>
+interface. Those servlet services are
+<a href="http://en.wikipedia.org/wiki/Polymorphism_in_object-oriented_programming">polymorphistic</a>.
+</p><p><a href="../2.2/core-modules/1210_1_1.html">Cocoon Core</a> provides implementations of a sitemap
+engine and of pipelines. It also establishes a contract to add modules. The unit
+of modularization in Cocoon is called blocks. <a href="../2.2/blocks/1204_1_1.html">This list</a>
+gives an overview of what additional functionality is available. Web
+applications based on Cocoon are also developed following the block contracts.
+</p></div><div class="editUrl"><div><em>Errors and Improvements?</em> If you see any errors or potential improvements in this document please help
+ us: <a href="http://cocoon.zones.apache.org/daisy/cdocs/1327?branch=1&language=1">View, Edit or comment</a> on the latest development version (registration required).
+ </div></div></div>
+ </div>
+ <!-- end of content -->
+ <div id="footer">
+ <p>©
+ 1999-2007
+
+ The Apache Software Foundation
+ <br/>
+
+ Last Published: 26/09/2007 07:10
+</p>
+ </div>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+ <script type="text/javascript">
+ _uacct = "UA-1740622-3";
+ urchinTracker();
+ </script>
+ </body>
+</html>
Added: cocoon/site/site/2.2/1347_1_1.html
URL: http://svn.apache.org/viewvc/cocoon/site/site/2.2/1347_1_1.html?rev=580139&view=auto
==============================================================================
--- cocoon/site/site/2.2/1347_1_1.html (added)
+++ cocoon/site/site/2.2/1347_1_1.html Thu Sep 27 12:56:05 2007
@@ -0,0 +1,168 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+
+
+
+
+
+
+
+
+<html>
+ <head>
+ <title> Cocoon 2.2
+ </title>
+ <style type="text/css" media="all">
+ @import url("./css/maven-base.css");
+ @import url("./css/maven-theme.css");
+ @import url("./css/site.css");
+ </style>
+ <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+ <meta name="author" content="The Cocoon Community" />
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+ </head>
+ <body>
+ <div id="breadtrail">
+ <p><a href="http://www.apache.org">Apache</a> » <a href="../">Cocoon</a> »</p>
+ </div>
+ <div id="top">
+ <div id="header">
+ <div class="projectlogo">
+ <a href="../"><img class="logoImage"
+ src="images/cocoon_logo.jpg"
+ alt="Apache Cocoon" border="0" /></a>
+ </div>
+ <div class="grouplogo">
+ <p class="grouptitle"><a href="../">The Apache Cocoon Project</a><img
+ src="images/apache-logo.jpg" alt="Cocoon Project Logo" /></p>
+ <form class="searchbox" action="http://www.google.com/search" method="get">
+ <input value="cocoon.apache.org" name="sitesearch" type="hidden" />
+ <input onFocus="getBlank (this, 'Search the site with google');" size="25" name="q" id="query" type="text" value="Search the site with google" />
+ <input class="searchboxsubmit" name="Search" value="Search" type="submit" />
+ </form>
+ </div>
+ </div>
+ <div id="projectBar">
+ <p class="cocoonHome"><a href="../"><img
+ src="images/pmc-home.gif"
+ alt="Back to Apache Cocoon homepage"
+ border="0" title="Back to Apache Cocoon homepage" /></a></p>
+ <h1 class="projectTitle"><a href="../"> Cocoon 2.2
+ </a></h1>
+ <ul class="projectList">
+ <li><strong><a href="../2.2/">Cocoon 2.2</a></em></strong></li>
+ <li><a href="../2.2/core-modules/">Core <span class="pl-version-small">2.2</span></a></li>
+ <li><a href="../2.2/blocks/">Blocks <span class="pl-version-small">2.2</span></a></li>
+ <li><a href="../2.2/maven-plugins/">Maven Plugins <span class="pl-version-small">2.2</span></a></li>
+ <li><strong><a href="../subprojects/">Subprojects</a></strong></li>
+ </ul>
+ </div>
+ <div class="projectBarClear"><!-- --></div>
+ </div>
+<!-- end of top -->
+
+ <div id="content">
+ <ul id="menu">
+ <li>
+ Overview
+ <ul>
+
+ <li >
+ <a href="1327_1_1.html">Overview</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ Tutorials
+ <ul>
+
+ <li >
+ <a href="1159_1_1.html">Your first Cocoon application using Maven 2</a>
+ </li>
+
+ <li >
+ <a href="1290_1_1.html">Your first XML pipeline (publishing)</a>
+ </li>
+
+ <li >
+ <a href="1291_1_1.html">Modularize Cocoon apps (Using blocks)</a>
+ </li>
+
+ <li >
+ <a href="1362_1_1.html">Deploying a Cocoon application</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ How-Tos
+ <ul>
+
+ <li >
+ <a href="1366_1_1.html">How to configure consistent encoding in Cocoon</a>
+ </li>
+
+ <li >
+ <a href="1402_1_1.html">2.1 to 2.2 migration</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ All Sitemap Components
+ <ul>
+
+ <li >
+ <strong>All Sitemap Components</strong>
+ </li>
+ </ul>
+ </li>
+ </ul>
+<!--
+ <a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy">
+ <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img>
+ </a>
+ <div id="lastPublished">
+
+ Last Published: 26/09/2007 07:10
+ </div>
+-->
+ <div id="contentBody"><div id="bodyText"><h1 class="docTitle">All Sitemap Components</h1><p>A complete list of all available Sitemap components ordered by type:</p><h1>Generators</h1><table class="bodyTable"><tr class="a"><th>Block</th><th>Name</th><th></th></tr><tr class="b"><td>core</td><td>CalendarGenerator</td><td><a href="../2.2/core-modules/core/2.2/1025_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>CSVGenerator</td><td><a href="../2.2/core-modules/core/2.2/913_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>CSVGeneratorBean</td><td><a href="../2.2/core-modules/core/2.2/1339_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>DefaultContentAggregator</td><td><a href="../2.2/core-modules/core/2.2/1043_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>DirectoryGenerator</td><td><a href="../2.2/core-modules/core/2.2/953_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>ExceptionGenerator</t
d><td><a href="../2.2/core-modules/core/2.2/937_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>FileGenerator</td><td><a href="../2.2/core-modules/core/2.2/999_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>FileGeneratorBean</td><td><a href="../2.2/core-modules/core/2.2/1336_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>FragmentExtractorGenerator</td><td><a href="../2.2/core-modules/core/2.2/1008_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>ImageDirectoryGenerator</td><td><a href="../2.2/core-modules/core/2.2/1030_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>LinkStatusGenerator</td><td><a href="../2.2/core-modules/core/2.2/1039_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>MP3DirectoryGenerator</td><td><a href="../2.2/core-modules/core/2.2/960_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>NotifyingGenerator</td><td><a href="../2.2/core-modules/core/2.2
/1022_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>PauseGenerator</td><td><a href="../2.2/core-modules/core/2.2/973_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>PauseGeneratorBean</td><td><a href="../2.2/core-modules/core/2.2/1337_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>RequestGenerator</td><td><a href="../2.2/core-modules/core/2.2/884_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>ServletServiceGenerator</td><td><a href="../2.2/core-modules/core/2.2/1398_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>SessionAttributeGenerator</td><td><a href="../2.2/core-modules/core/2.2/932_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>StatusGenerator</td><td><a href="../2.2/core-modules/core/2.2/995_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>StreamGenerator</td><td><a href="../2.2/core-modules/core/2.2/925_1_1.html">[details]</a></td></tr><tr class="b"><td
>core</td><td>TraversableGenerator</td><td><a href="../2.2/core-modules/core/2.2/1016_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>XPathDirectoryGenerator</td><td><a href="../2.2/core-modules/core/2.2/982_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>XPathTraversableGenerator</td><td><a href="../2.2/core-modules/core/2.2/873_1_1.html">[details]</a></td></tr><tr class="a"><td>forms</td><td>FormsGenerator</td><td><a href="../2.2/blocks/forms/1.0/915_1_1.html">[details]</a></td></tr><tr class="b"><td>forms</td><td>SuggestionListGenerator</td><td><a href="../2.2/blocks/forms/1.0/978_1_1.html">[details]</a></td></tr><tr class="a"><td>html</td><td>HTMLGenerator</td><td><a href="../2.2/blocks/html/1.0/1129_1_1.html">[details]</a></td></tr><tr class="b"><td>html</td><td>NekoHTMLGenerator</td><td><a href="../2.2/blocks/html/1.0/1090_1_1.html">[details]</a></td></tr><tr class="a"><td>mail</td><td>IMAPGenerator</td><td><a href="../2.2/blocks/mail/1.
0/1080_1_1.html">[details]</a></td></tr><tr class="b"><td>template</td><td>JXTemplateGenerator</td><td><a href="../2.2/blocks/template/1.0/976_1_1.html">[details]</a></td></tr></table><h1>Transformers</h1><table class="bodyTable"><tr class="a"><th>Block</th><th>Name</th><th></th></tr><tr class="b"><td>ajax</td><td>BrowserUpdateTransformer</td><td><a href="../2.2/blocks/ajax/1.0/910_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>AugmentTransformer</td><td><a href="../2.2/core-modules/core/2.2/996_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>CIncludeTransformer</td><td><a href="../2.2/core-modules/core/2.2/934_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>EncodeURLTransformer</td><td><a href="../2.2/core-modules/core/2.2/867_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>FilterTransformer</td><td><a href="../2.2/core-modules/core/2.2/936_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>Fragme
ntExtractorTransformer</td><td><a href="../2.2/core-modules/core/2.2/948_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>I18nTransformer</td><td><a href="../2.2/core-modules/core/2.2/981_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>IncludeTransformer</td><td><a href="../2.2/core-modules/core/2.2/1048_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>JPathTransformer</td><td><a href="../2.2/core-modules/core/2.2/898_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>LinkGatherer</td><td><a href="../2.2/core-modules/core/2.2/1023_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>LinkTranslator</td><td><a href="../2.2/core-modules/core/2.2/881_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>LogTransformer</td><td><a href="../2.2/core-modules/core/2.2/1029_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>Paginator</td><td><a href="../2.2/core-modules/core/2.2/991_1_1.html">
[details]</a></td></tr><tr class="a"><td>core</td><td>ReadDOMSessionTransformer</td><td><a href="../2.2/core-modules/core/2.2/949_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>RoleFilterTransformer</td><td><a href="../2.2/core-modules/core/2.2/876_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>ServletServiceTransformer</td><td><a href="../2.2/core-modules/core/2.2/1396_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>SimpleFormInstanceExtractionTransformer</td><td><a href="../2.2/core-modules/core/2.2/1028_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>SimpleFormTransformer</td><td><a href="../2.2/core-modules/core/2.2/992_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>SourceWritingTransformer</td><td><a href="../2.2/core-modules/core/2.2/1050_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>StripNameSpacesTransformer</td><td><a href="../2.2/core-modules/core/2.2/1340_1_1.html"
>[details]</a></td></tr><tr class="b"><td>core</td><td>TeeTransformer</td><td><a href="../2.2/core-modules/core/2.2/923_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>TraxTransformer</td><td><a href="../2.2/core-modules/core/2.2/908_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>WriteDOMSessionTransformer</td><td><a href="../2.2/core-modules/core/2.2/1036_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>XIncludeTransformer</td><td><a href="../2.2/core-modules/core/2.2/985_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>XSLTTransformer</td><td><a href="../2.2/core-modules/core/2.2/1331_1_1.html">[details]</a></td></tr><tr class="a"><td>databases</td><td>SQLTransformer</td><td><a href="../2.2/blocks/databases/1.0/926_1_1.html">[details]</a></td></tr><tr class="b"><td>forms</td><td>FormsTemplateTransformer</td><td><a href="../2.2/blocks/forms/1.0/994_1_1.html">[details]</a></td></tr><tr class="a"><td>html</td><td>
CleanupTransformer</td><td><a href="../2.2/blocks/html/1.0/1103_1_1.html">[details]</a></td></tr><tr class="b"><td>html</td><td>HTMLTransformer</td><td><a href="../2.2/blocks/html/1.0/1096_1_1.html">[details]</a></td></tr><tr class="a"><td>html</td><td>NekoHTMLTransformer</td><td><a href="../2.2/blocks/html/1.0/1343_1_1.html">[details]</a></td></tr><tr class="b"><td>linkrewriter</td><td>LinkRewriterTransformer</td><td><a href="../2.2/blocks/linkrewriter/1.0/1102_1_1.html">[details]</a></td></tr><tr class="a"><td>linkrewriter</td><td>VariableRewriterTransformer</td><td><a href="../2.2/blocks/linkrewriter/1.0/1134_1_1.html">[details]</a></td></tr><tr class="b"><td>mail</td><td>SendMailTransformer</td><td><a href="../2.2/blocks/mail/1.0/1099_1_1.html">[details]</a></td></tr><tr class="a"><td>template</td><td>JXTemplateTransformer</td><td><a href="../2.2/blocks/template/1.0/1012_1_1.html">[details]</a></td></tr><tr class="b"><td>template</td><td>TransformerAdapter</td><td><a hre
f="../2.2/blocks/template/1.0/957_1_1.html">[details]</a></td></tr></table><h1>Serializers</h1><table class="bodyTable"><tr class="a"><th>Block</th><th>Name</th><th></th></tr><tr class="b"><td>batik</td><td>SVGSerializer</td><td><a href="../2.2/blocks/batik/1.0/1087_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>HTMLSerializer</td><td><a href="../2.2/core-modules/core/2.2/896_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>LinkSerializer</td><td><a href="../2.2/core-modules/core/2.2/959_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>ServletServiceSerializer</td><td><a href="../2.2/core-modules/core/2.2/1395_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>TextSerializer</td><td><a href="../2.2/core-modules/core/2.2/929_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>XMLSerializer</td><td><a href="../2.2/core-modules/core/2.2/870_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>Zip
ArchiveSerializer</td><td><a href="../2.2/core-modules/core/2.2/1000_1_1.html">[details]</a></td></tr><tr class="a"><td>fop</td><td>FOPNGSerializer</td><td><a href="../2.2/blocks/fop/1.0/1333_1_1.html">[details]</a></td></tr><tr class="b"><td>fop</td><td>FOPSerializer</td><td><a href="../2.2/blocks/fop/1.0/1144_1_1.html">[details]</a></td></tr></table><h1>Matchers</h1><table class="bodyTable"><tr class="a"><th>Block</th><th>Name</th><th></th></tr><tr class="b"><td>ajax</td><td>AjaxRequestMatcher</td><td><a href="../2.2/blocks/ajax/1.0/1010_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>CachingRegexpMatcher</td><td><a href="../2.2/core-modules/core/2.2/899_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>CachingWildcardMatcher</td><td><a href="../2.2/core-modules/core/2.2/1015_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>CookieMatcher</td><td><a href="../2.2/core-modules/core/2.2/903_1_1.html">[details]</a></td></tr><tr class
="b"><td>core</td><td>HeaderMatcher</td><td><a href="../2.2/core-modules/core/2.2/874_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>LocaleMatcher</td><td><a href="../2.2/core-modules/core/2.2/914_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>MountTableMatcher</td><td><a href="../2.2/core-modules/core/2.2/1007_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>ParameterMatcher</td><td><a href="../2.2/core-modules/core/2.2/897_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>RegexpHeaderMatcher</td><td><a href="../2.2/core-modules/core/2.2/972_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>RegexpHostMatcher</td><td><a href="../2.2/core-modules/core/2.2/940_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>RegexpParameterMatcher</td><td><a href="../2.2/core-modules/core/2.2/963_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>RegexpRequestAttributeMatcher</td><td><a hre
f="../2.2/core-modules/core/2.2/1005_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>RegexpRequestParameterMatcher</td><td><a href="../2.2/core-modules/core/2.2/997_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>RegexpSessionAttributeMatcher</td><td><a href="../2.2/core-modules/core/2.2/961_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>RegexpURIMatcher</td><td><a href="../2.2/core-modules/core/2.2/922_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>RequestAttributeMatcher</td><td><a href="../2.2/core-modules/core/2.2/954_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>RequestParameterMatcher</td><td><a href="../2.2/core-modules/core/2.2/1017_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>SessionAttributeMatcher</td><td><a href="../2.2/core-modules/core/2.2/1037_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>WildcardHeaderMatcher</td><td><a href="../2.2/core-mo
dules/core/2.2/1021_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>WildcardHostMatcher</td><td><a href="../2.2/core-modules/core/2.2/955_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>WildcardMatcher</td><td><a href="../2.2/core-modules/core/2.2/1034_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>WildcardParameterMatcher</td><td><a href="../2.2/core-modules/core/2.2/1019_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>WildcardRequestAttributeMatcher</td><td><a href="../2.2/core-modules/core/2.2/951_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>WildcardRequestParameterMatcher</td><td><a href="../2.2/core-modules/core/2.2/1051_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>WildcardSessionAttributeMatcher</td><td><a href="../2.2/core-modules/core/2.2/902_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>WildcardURIMatcher</td><td><a href="../2.2/core-modules/core/
2.2/1044_1_1.html">[details]</a></td></tr></table><h1>Selectors</h1><table class="bodyTable"><tr class="b"><th>Block</th><th>Name</th><th></th></tr><tr class="a"><td>ajax</td><td>AjaxRequestSelector</td><td><a href="../2.2/blocks/ajax/1.0/945_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>BrowserSelector</td><td><a href="../2.2/core-modules/core/2.2/924_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>CookieSelector</td><td><a href="../2.2/core-modules/core/2.2/1042_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>ExceptionSelector</td><td><a href="../2.2/core-modules/core/2.2/931_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>HeaderSelector</td><td><a href="../2.2/core-modules/core/2.2/890_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>HostSelector</td><td><a href="../2.2/core-modules/core/2.2/998_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>ParameterSelector</td><td><a href=
"../2.2/core-modules/core/2.2/911_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>RegexpHeaderSelector</td><td><a href="../2.2/core-modules/core/2.2/883_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>RegexpRequestParameterSelector</td><td><a href="../2.2/core-modules/core/2.2/956_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>RequestAttributeSelector</td><td><a href="../2.2/core-modules/core/2.2/882_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>RequestMethodSelector</td><td><a href="../2.2/core-modules/core/2.2/967_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>RequestParameterSelector</td><td><a href="../2.2/core-modules/core/2.2/1018_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>ResourceExistsSelector</td><td><a href="../2.2/core-modules/core/2.2/901_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>SessionAttributeSelector</td><td><a href="../2.2/core-modul
es/core/2.2/958_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>SimpleSelector</td><td><a href="../2.2/core-modules/core/2.2/1056_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>XPathExceptionSelector</td><td><a href="../2.2/core-modules/core/2.2/969_1_1.html">[details]</a></td></tr></table><h1>Actions</h1><table class="bodyTable"><tr class="a"><th>Block</th><th>Name</th><th></th></tr><tr class="b"><td>ajax</td><td>GetContinuationAction</td><td><a href="../2.2/blocks/ajax/1.0/1054_1_1.html">[details]</a></td></tr><tr class="a"><td>auth</td><td>LoggedInAction</td><td><a href="../2.2/blocks/auth/1.0/1335_1_1.html">[details]</a></td></tr><tr class="b"><td>auth</td><td>LoginAction</td><td><a href="../2.2/blocks/auth/1.0/1341_1_1.html">[details]</a></td></tr><tr class="a"><td>auth</td><td>LogoutAction</td><td><a href="../2.2/blocks/auth/1.0/1332_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>ClearCacheAction</td><td><a href="../2.2
/core-modules/core/2.2/1006_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>ClearPersistentStoreAction</td><td><a href="../2.2/core-modules/core/2.2/933_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>CopySourceAction</td><td><a href="../2.2/core-modules/core/2.2/968_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>FormValidatorAction</td><td><a href="../2.2/core-modules/core/2.2/966_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>HelloAction</td><td><a href="../2.2/core-modules/core/2.2/868_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>HttpCacheAction</td><td><a href="../2.2/core-modules/core/2.2/1049_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>HttpHeaderAction</td><td><a href="../2.2/core-modules/core/2.2/1057_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>InputModuleAction</td><td><a href="../2.2/core-modules/core/2.2/1020_1_1.html">[details]</a></td></tr>
<tr class="b"><td>core</td><td>LocaleAction</td><td><a href="../2.2/core-modules/core/2.2/889_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>LogAction</td><td><a href="../2.2/core-modules/core/2.2/1403_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>PreemptiveLoaderAction</td><td><a href="../2.2/core-modules/core/2.2/909_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>PropagatorAction</td><td><a href="../2.2/core-modules/core/2.2/1004_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>RequestParamAction</td><td><a href="../2.2/core-modules/core/2.2/888_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>RequestParameterExistsAction</td><td><a href="../2.2/core-modules/core/2.2/906_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>ResourceExistsAction</td><td><a href="../2.2/core-modules/core/2.2/885_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>SessionInvalidatorAction</
td><td><a href="../2.2/core-modules/core/2.2/872_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>SessionIsValidAction</td><td><a href="../2.2/core-modules/core/2.2/1031_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>SessionPropagatorAction</td><td><a href="../2.2/core-modules/core/2.2/965_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>SessionStateAction</td><td><a href="../2.2/core-modules/core/2.2/875_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>SessionValidatorAction</td><td><a href="../2.2/core-modules/core/2.2/917_1_1.html">[details]</a></td></tr><tr class="b"><td>core</td><td>SetCharacterEncodingAction</td><td><a href="../2.2/core-modules/core/2.2/975_1_1.html">[details]</a></td></tr><tr class="a"><td>core</td><td>SetterAction</td><td><a href="../2.2/core-modules/core/2.2/983_1_1.html">[details]</a></td></tr><tr class="b"><td>databases</td><td>DatabaseAddAction</td><td><a href="../2.2/blocks/databases/
1.0/894_1_1.html">[details]</a></td></tr><tr class="a"><td>databases</td><td>DatabaseAddAction</td><td><a href="../2.2/blocks/databases/1.0/979_1_1.html">[details]</a></td></tr><tr class="b"><td>databases</td><td>DatabaseAuthenticatorAction</td><td><a href="../2.2/blocks/databases/1.0/919_1_1.html">[details]</a></td></tr><tr class="a"><td>databases</td><td>DatabaseCookieAuthenticatorAction</td><td><a href="../2.2/blocks/databases/1.0/1026_1_1.html">[details]</a></td></tr><tr class="b"><td>databases</td><td>DatabaseDeleteAction</td><td><a href="../2.2/blocks/databases/1.0/877_1_1.html">[details]</a></td></tr><tr class="a"><td>databases</td><td>DatabaseDeleteAction</td><td><a href="../2.2/blocks/databases/1.0/989_1_1.html">[details]</a></td></tr><tr class="b"><td>databases</td><td>DatabaseQueryAction</td><td><a href="../2.2/blocks/databases/1.0/962_1_1.html">[details]</a></td></tr><tr class="a"><td>databases</td><td>DatabaseSelectAction</td><td><a href="../2.2/blocks/databases
/1.0/1001_1_1.html">[details]</a></td></tr><tr class="b"><td>databases</td><td>DatabaseSelectAction</td><td><a href="../2.2/blocks/databases/1.0/1013_1_1.html">[details]</a></td></tr><tr class="a"><td>databases</td><td>DatabaseUpdateAction</td><td><a href="../2.2/blocks/databases/1.0/974_1_1.html">[details]</a></td></tr><tr class="b"><td>databases</td><td>DatabaseUpdateAction</td><td><a href="../2.2/blocks/databases/1.0/1014_1_1.html">[details]</a></td></tr><tr class="a"><td>databases</td><td>OraAddAction</td><td><a href="../2.2/blocks/databases/1.0/905_1_1.html">[details]</a></td></tr><tr class="b"><td>databases</td><td>OraUpdateAction</td><td><a href="../2.2/blocks/databases/1.0/970_1_1.html">[details]</a></td></tr><tr class="a"><td>forms</td><td>HandleFormSubmitAction</td><td><a href="../2.2/blocks/forms/1.0/904_1_1.html">[details]</a></td></tr><tr class="b"><td>forms</td><td>InitForm1Action</td><td><a href="../2.2/blocks/forms/1.0/1027_1_1.html">[details]</a></td></tr><t
r class="a"><td>forms</td><td>MakeFormAction</td><td><a href="../2.2/blocks/forms/1.0/1035_1_1.html">[details]</a></td></tr><tr class="b"><td>mail</td><td>MailAction</td><td><a href="../2.2/blocks/mail/1.0/1091_1_1.html">[details]</a></td></tr><tr class="a"><td>mail</td><td>Sendmail</td><td><a href="../2.2/blocks/mail/1.0/1125_1_1.html">[details]</a></td></tr><tr class="b"><td>mail</td><td>SendmailAction</td><td><a href="../2.2/blocks/mail/1.0/1109_1_1.html">[details]</a></td></tr></table></div><div class="editUrl"><div><em>Errors and Improvements?</em> If you see any errors or potential improvements in this document please help
+ us: <a href="http://cocoon.zones.apache.org/daisy/cdocs/1347?branch=1&language=1">View, Edit or comment</a> on the latest development version (registration required).
+ </div></div></div>
+ </div>
+ <!-- end of content -->
+ <div id="footer">
+ <p>©
+ 1999-2007
+
+ The Apache Software Foundation
+ <br/>
+
+ Last Published: 26/09/2007 07:10
+</p>
+ </div>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+ <script type="text/javascript">
+ _uacct = "UA-1740622-3";
+ urchinTracker();
+ </script>
+ </body>
+</html>
Added: cocoon/site/site/2.2/1362_1_1.html
URL: http://svn.apache.org/viewvc/cocoon/site/site/2.2/1362_1_1.html?rev=580139&view=auto
==============================================================================
--- cocoon/site/site/2.2/1362_1_1.html (added)
+++ cocoon/site/site/2.2/1362_1_1.html Thu Sep 27 12:56:05 2007
@@ -0,0 +1,271 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+
+
+
+
+
+
+
+
+<html>
+ <head>
+ <title> Cocoon 2.2
+ </title>
+ <style type="text/css" media="all">
+ @import url("./css/maven-base.css");
+ @import url("./css/maven-theme.css");
+ @import url("./css/site.css");
+ </style>
+ <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+ <meta name="author" content="The Cocoon Community" />
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+ </head>
+ <body>
+ <div id="breadtrail">
+ <p><a href="http://www.apache.org">Apache</a> » <a href="../">Cocoon</a> »</p>
+ </div>
+ <div id="top">
+ <div id="header">
+ <div class="projectlogo">
+ <a href="../"><img class="logoImage"
+ src="images/cocoon_logo.jpg"
+ alt="Apache Cocoon" border="0" /></a>
+ </div>
+ <div class="grouplogo">
+ <p class="grouptitle"><a href="../">The Apache Cocoon Project</a><img
+ src="images/apache-logo.jpg" alt="Cocoon Project Logo" /></p>
+ <form class="searchbox" action="http://www.google.com/search" method="get">
+ <input value="cocoon.apache.org" name="sitesearch" type="hidden" />
+ <input onFocus="getBlank (this, 'Search the site with google');" size="25" name="q" id="query" type="text" value="Search the site with google" />
+ <input class="searchboxsubmit" name="Search" value="Search" type="submit" />
+ </form>
+ </div>
+ </div>
+ <div id="projectBar">
+ <p class="cocoonHome"><a href="../"><img
+ src="images/pmc-home.gif"
+ alt="Back to Apache Cocoon homepage"
+ border="0" title="Back to Apache Cocoon homepage" /></a></p>
+ <h1 class="projectTitle"><a href="../"> Cocoon 2.2
+ </a></h1>
+ <ul class="projectList">
+ <li><strong><a href="../2.2/">Cocoon 2.2</a></em></strong></li>
+ <li><a href="../2.2/core-modules/">Core <span class="pl-version-small">2.2</span></a></li>
+ <li><a href="../2.2/blocks/">Blocks <span class="pl-version-small">2.2</span></a></li>
+ <li><a href="../2.2/maven-plugins/">Maven Plugins <span class="pl-version-small">2.2</span></a></li>
+ <li><strong><a href="../subprojects/">Subprojects</a></strong></li>
+ </ul>
+ </div>
+ <div class="projectBarClear"><!-- --></div>
+ </div>
+<!-- end of top -->
+
+ <div id="content">
+ <ul id="menu">
+ <li>
+ Overview
+ <ul>
+
+ <li >
+ <a href="1327_1_1.html">Overview</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ Tutorials
+ <ul>
+
+ <li >
+ <a href="1159_1_1.html">Your first Cocoon application using Maven 2</a>
+ </li>
+
+ <li >
+ <a href="1290_1_1.html">Your first XML pipeline (publishing)</a>
+ </li>
+
+ <li >
+ <a href="1291_1_1.html">Modularize Cocoon apps (Using blocks)</a>
+ </li>
+
+ <li >
+ <strong>Deploying a Cocoon application</strong>
+ </li>
+ </ul>
+ </li>
+ <li>
+ How-Tos
+ <ul>
+
+ <li >
+ <a href="1366_1_1.html">How to configure consistent encoding in Cocoon</a>
+ </li>
+
+ <li >
+ <a href="1402_1_1.html">2.1 to 2.2 migration</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ All Sitemap Components
+ <ul>
+
+ <li >
+ <a href="1347_1_1.html">All Sitemap Components</a>
+ </li>
+ </ul>
+ </li>
+ </ul>
+<!--
+ <a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy">
+ <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img>
+ </a>
+ <div id="lastPublished">
+
+ Last Published: 26/09/2007 07:10
+ </div>
+-->
+ <div id="contentBody"><div id="bodyText"><h1 class="docTitle">Deploying a Cocoon application</h1><p>This tutorial is based on the
+<a href="http://cocoon.zones.apache.org/daisy/cdocs/g2/g1/g2/1159.html">Your
+first Cocoon application using Maven 2</a> which shows how to bootstrap a Cocoon
+project and <a href="1291_1_1.html">Modularize Cocoon apps</a> which shows how
+inter-block communication works. If you haven't followed the latter tutorial,
+you can go through this tutorial nonetheless but you have to skip everything
+that refers to <tt>myBlock2</tt>.</p><p>In this tutorial, you will:</p><ol type="1">
+<li>Connect blocks to the webapp and run it</li>
+<li>Create a parent Maven POM for the webapp and block <br></br>
+(a convenience which allows you to trigger cascading builds of both maven
+modules from a single command)</li>
+<li>Change the block mount point so that it is mounted at the root level context
+(typical for a web application's "main block")</li>
+</ol><h1 xmlns:p="http://outerx.org/daisy/1.0#publisher" xmlns:ns="http://outerx.org/daisy/1.0">Creating a Cocoon web application</h1>Change into it and invoke the <tt>cocoon-22-archetype-webapp</tt> archetype:
+<pre>mvn archetype:create
+ -DarchetypeGroupId=org.apache.cocoon
+ -DarchetypeArtifactId=cocoon-22-archetype-webapp
+ -DarchetypeVersion=1.0.0-RC1
+ -DgroupId=com.mycompany
+ -DartifactId=<tt xmlns:p="http://outerx.org/daisy/1.0#publisher" xmlns:ns="http://outerx.org/daisy/1.0">myCocoonWebapp</tt>
+</pre><div class="note"><div><strong>Note: </strong>For copy and paste without line feeds:<br xmlns:p="http://outerx.org/daisy/1.0#publisher" xmlns:ns="http://outerx.org/daisy/1.0"></br>
+<tt xmlns:p="http://outerx.org/daisy/1.0#publisher" xmlns:ns="http://outerx.org/daisy/1.0">mvn archetype:create -DarchetypeGroupId=org.apache.cocoon
+-DarchetypeArtifactId=cocoon-22-archetype-webapp -DarchetypeVersion=1.0.0-RC1
+-DgroupId=com.mycompany -DartifactId=</tt><tt xmlns:p="http://outerx.org/daisy/1.0#publisher" xmlns:ns="http://outerx.org/daisy/1.0">myCocoonWebapp</tt></div></div>Looking at the filesystem, you should find following directory structure:<pre>getting-started-app
+<tt xmlns:p="http://outerx.org/daisy/1.0#publisher" xmlns:ns="http://outerx.org/daisy/1.0"> +-</tt><tt xmlns:p="http://outerx.org/daisy/1.0#publisher" xmlns:ns="http://outerx.org/daisy/1.0">myBlock1
+ | +-pom.xml
+ | +-src
+ | +-[...]
+</tt><tt xmlns:p="http://outerx.org/daisy/1.0#publisher" xmlns:ns="http://outerx.org/daisy/1.0"> +-</tt><tt xmlns:p="http://outerx.org/daisy/1.0#publisher" xmlns:ns="http://outerx.org/daisy/1.0">myBlock2
+ | +-pom.xml
+ | +-src
+ | +-[...]</tt>
+<tt xmlns:p="http://outerx.org/daisy/1.0#publisher" xmlns:ns="http://outerx.org/daisy/1.0"> +-</tt><tt xmlns:p="http://outerx.org/daisy/1.0#publisher" xmlns:ns="http://outerx.org/daisy/1.0"><tt>myCocoonWebapp</tt></tt><tt xmlns:p="http://outerx.org/daisy/1.0#publisher" xmlns:ns="http://outerx.org/daisy/1.0">
+ +-pom.xml
+ +-src
+ +-[...]</tt>
+</pre><h1 xmlns:p="http://outerx.org/daisy/1.0#publisher" xmlns:ns="http://outerx.org/daisy/1.0">Using a block within the web application</h1>So far the web application <tt>myCocoonWebapp</tt> doesn't have any
+information about the existense of the block <tt>myBlock1</tt> and
+<tt>myBlock2</tt>. Change this by opening
+<tt>getting-started-app/myCocoonWebapp/pom.xml</tt> and add the block as
+dependency:<pre><project>
+ [...]
+ <dependencies>
+ <dependency>
+<strong xmlns:p="http://outerx.org/daisy/1.0#publisher" xmlns:ns="http://outerx.org/daisy/1.0"> <groupId><strong><tt>com.mycompany</tt></strong></groupId>
+ <artifactId><strong>myBlock1</strong></artifactId>
+ <version><strong>1.0-SNAPSHOT</strong></version></strong>
+ </dependency>
+ <dependency>
+<strong xmlns:p="http://outerx.org/daisy/1.0#publisher" xmlns:ns="http://outerx.org/daisy/1.0"> <groupId><strong><tt>com.mycompany</tt></strong></groupId>
+ <artifactId><strong>myBlock2</strong></artifactId>
+ <version><strong>1.0-SNAPSHOT</strong></version></strong>
+ </dependency>
+ </dependencies>
+ [...]
+</project></pre><p>That's it. Now it's time to run the web application. Move into
+<tt>getting-started-app/myCocoonWebapp</tt> and call</p><pre>mvn package jetty:run</pre><p>from there.<br></br>
+Open your favorite web browser and call</p><pre>http://localhost:8888/myBlock1/</pre><p>That's it!</p><h1 xmlns:p="http://outerx.org/daisy/1.0#publisher" xmlns:ns="http://outerx.org/daisy/1.0">Creating a parent pom</h1><p>For your convenience you can create a parent pom for the three Maven modules.
+Create a file <tt>getting-started-app/pom.xml</tt> with following content:</p><pre><project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+ <packaging>pom</packaging>
+
+ <groupId>com.mycompany</groupId>
+ <artifactId>getting-started-app</artifactId>
+ <version>1-SNAPSHOT</version>
+
+ <name>Cocoon Getting Stared application [parent]</name>
+
+ <modules>
+ <module><strong xmlns:p="http://outerx.org/daisy/1.0#publisher" xmlns:ns="http://outerx.org/daisy/1.0"><tt>myCocoonWebapp</tt></strong></module>
+ <module><strong xmlns:p="http://outerx.org/daisy/1.0#publisher" xmlns:ns="http://outerx.org/daisy/1.0">myBlock1</strong></module>
+ <module><strong xmlns:p="http://outerx.org/daisy/1.0#publisher" xmlns:ns="http://outerx.org/daisy/1.0">myBlock2</strong></module>
+ </modules>
+</project>
+</pre><p>Having a parent pom file, you can trigger a reactor build from root, e.g. you
+can call mvn install from root which will compile, package and install the
+webapp and the block. Maven also takes care that the modules are build,
+according to the dependency graph, in the correct order.</p><p>If you want to inherit information (e.g. plugin configurations, properties,
+etc.) from the new parent pom to its child modules, you have to add the parent
+element to <tt>getting-started-app/myCocoonWebapp/pom.xml</tt> ,
+<tt>getting-started-app/myBlock1/pom.xml</tt> and
+<tt>getting-started-app/myBlock2/pom.xml</tt>:</p><pre><project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ [...]
+<strong xmlns:p="http://outerx.org/daisy/1.0#publisher" xmlns:ns="http://outerx.org/daisy/1.0"> <parent>
+ <groupId>com.mycompany</groupId>
+ <artifactId>getting-started-app</artifactId>
+ <version>1-SNAPSHOT</version>
+ </parent></strong>
+ [...]
+
+</project></pre><h1 xmlns:p="http://outerx.org/daisy/1.0#publisher" xmlns:ns="http://outerx.org/daisy/1.0">Mounting your block at the root level</h1><p>You can mount your block at the root level in the application URI space, so
+that instead of using (for example) the URI
+<tt>http://localhost:8888/myBlock/foo/bar</tt> to request a page, you would
+request it at <tt>http://localhost:8888/foo/bar</tt>.</p><p>To do this, edit
+<tt>myBlock/src/main/resources/META-INF/cocoon/spring/block.xml </tt>, and
+change the element</p><pre> <property name="mountPath" value="/myBlock1"/>
+</pre><p>to</p><pre> <property name="mountPath" value=""/>
+</pre><p>and then run <tt>mvn:install</tt>.</p></div><div class="editUrl"><div><em>Errors and Improvements?</em> If you see any errors or potential improvements in this document please help
+ us: <a href="http://cocoon.zones.apache.org/daisy/cdocs/1362?branch=1&language=1">View, Edit or comment</a> on the latest development version (registration required).
+ </div></div></div>
+ </div>
+ <!-- end of content -->
+ <div id="footer">
+ <p>©
+ 1999-2007
+
+ The Apache Software Foundation
+ <br/>
+
+ Last Published: 26/09/2007 07:10
+</p>
+ </div>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+ <script type="text/javascript">
+ _uacct = "UA-1740622-3";
+ urchinTracker();
+ </script>
+ </body>
+</html>