cocoon-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ilgro...@apache.org
Subject svn commit: r1329267 [1/2] - in /cocoon/trunk/site/cocoon-22-site: ./ src/site/ src/site/resources/ src/site/resources/images/ src/site/xdoc/
Date Mon, 23 Apr 2012 14:58:38 GMT
Author: ilgrosso
Date: Mon Apr 23 14:58:36 2012
New Revision: 1329267

URL: http://svn.apache.org/viewvc?rev=1329267&view=rev
Log:
Mavenization of 2.2 site

Added:
    cocoon/trunk/site/cocoon-22-site/src/site/
    cocoon/trunk/site/cocoon-22-site/src/site/resources/
    cocoon/trunk/site/cocoon-22-site/src/site/resources/images/
    cocoon/trunk/site/cocoon-22-site/src/site/resources/images/1401_1_1.img   (with props)
    cocoon/trunk/site/cocoon-22-site/src/site/resources/images/external.png   (with props)
    cocoon/trunk/site/cocoon-22-site/src/site/site.xml   (with props)
    cocoon/trunk/site/cocoon-22-site/src/site/xdoc/
    cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1159_1_1.xml   (with props)
    cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1290_1_1.xml   (with props)
    cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1291_1_1.xml   (with props)
    cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1347_1_1.xml   (with props)
    cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1362_1_1.xml   (with props)
    cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1366_1_1.xml   (with props)
    cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1402_1_1.xml   (with props)
    cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1420_1_1.xml   (with props)
    cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1447_1_1.xml   (with props)
    cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1448_1_1.xml   (with props)
    cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1454_1_1.xml   (with props)
    cocoon/trunk/site/cocoon-22-site/src/site/xdoc/index.xml   (with props)
Modified:
    cocoon/trunk/site/cocoon-22-site/pom.xml

Modified: cocoon/trunk/site/cocoon-22-site/pom.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/site/cocoon-22-site/pom.xml?rev=1329267&r1=1329266&r2=1329267&view=diff
==============================================================================
--- cocoon/trunk/site/cocoon-22-site/pom.xml (original)
+++ cocoon/trunk/site/cocoon-22-site/pom.xml Mon Apr 23 14:58:36 2012
@@ -26,8 +26,8 @@
   <parent>
     <groupId>org.apache.cocoon</groupId>
     <artifactId>cocoon</artifactId>
-    <version>6-SNAPSHOT</version>
-    <relativePath>../../parent/pom.xml</relativePath>
+    <version>9-SNAPSHOT</version>
+    <relativePath/>
   </parent>
   
   <artifactId>cocoon-22-site</artifactId>
@@ -48,35 +48,44 @@
     </site>
   </distributionManagement>
   
-  <profiles>
-    <profile>
-      <id>daisy</id>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>org.daisycms</groupId>
-            <artifactId>daisy-maven-plugin</artifactId>
-            <configuration>
-              <navDocId>1328</navDocId>
-              <collection>cdocs-site-22</collection>
-              <skipFirstNavigationDocumentLevel>false</skipFirstNavigationDocumentLevel>          
-              <siteXmlContent>
-                &lt;project&gt;
-                &lt;skin&gt;
-                &lt;groupId&gt;org.apache.cocoon&lt;/groupId&gt;
-                &lt;artifactId&gt;cocoon-thien-maven-site-skin&lt;/artifactId&gt;
-                &lt;version&gt;1.0.0-SNAPSHOT&lt;/version&gt;
-                &lt;/skin&gt;
-                &lt;body&gt;
-                &lt;!-- @daisy-start@ --&gt;&lt;!-- @daisy-end@ --&gt;
-                &lt;/body&gt;
-                &lt;/project&gt;
-              </siteXmlContent>              
-            </configuration>
-          </plugin>  
-        </plugins>
-      </build>      
-    </profile>
-  </profiles>  
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-site-plugin</artifactId>
+        <version>3.0</version>
+        <configuration>
+          <locales>en</locales>
+          <reportPlugins>
+            <plugin>
+              <groupId>org.apache.maven.plugins</groupId>
+              <artifactId>maven-project-info-reports-plugin</artifactId>
+              <version>2.4</version>
+              <configuration>
+                <dependencyDetailsEnabled>false</dependencyDetailsEnabled>
+                <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
+              </configuration>
+              <reportSets>
+                <reportSet>
+                  <reports>
+                    <report>summary</report>
+                    <report>license</report>
+                  </reports>
+                </reportSet>
+              </reportSets>
+            </plugin>
+          </reportPlugins>
+        </configuration>
+        <executions>
+          <execution>
+            <id>attach-descriptor</id>
+            <goals>
+              <goal>attach-descriptor</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
   
 </project>

Added: cocoon/trunk/site/cocoon-22-site/src/site/resources/images/1401_1_1.img
URL: http://svn.apache.org/viewvc/cocoon/trunk/site/cocoon-22-site/src/site/resources/images/1401_1_1.img?rev=1329267&view=auto
==============================================================================
Binary file - no diff available.

Propchange: cocoon/trunk/site/cocoon-22-site/src/site/resources/images/1401_1_1.img
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: cocoon/trunk/site/cocoon-22-site/src/site/resources/images/external.png
URL: http://svn.apache.org/viewvc/cocoon/trunk/site/cocoon-22-site/src/site/resources/images/external.png?rev=1329267&view=auto
==============================================================================
Binary file - no diff available.

Propchange: cocoon/trunk/site/cocoon-22-site/src/site/resources/images/external.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: cocoon/trunk/site/cocoon-22-site/src/site/site.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/site/cocoon-22-site/src/site/site.xml?rev=1329267&view=auto
==============================================================================
--- cocoon/trunk/site/cocoon-22-site/src/site/site.xml (added)
+++ cocoon/trunk/site/cocoon-22-site/src/site/site.xml Mon Apr 23 14:58:36 2012
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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.
+-->
+<!-- $Id$ -->
+<project xmlns="http://maven.apache.org/DECORATION/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/DECORATION/1.1.0 http://maven.apache.org/xsd/decoration-1.1.0.xsd"
+         name="Cocoon">
+
+  <skin>
+    <groupId>org.apache.cocoon</groupId>
+    <artifactId>cocoon-thien-maven-site-skin</artifactId>
+    <version>1.0.1</version>
+  </skin>
+    
+  <body>
+    <menu name="Cocoon 2.2">
+      <item name="Overview" href="./index.html"/>
+      <item name="Download" href="./1447_1_1.html"/>
+      <item name="New in 2.2" href="./1420_1_1.html"/>
+    </menu>
+
+    <menu name="Tutorials">
+      <item name="Your first Cocoon application using Maven 2" href="./1159_1_1.html"/>
+      <item name="Your first XML pipeline (publishing)" href="./1290_1_1.html"/>
+      <item name="Modularize Cocoon apps (Using blocks)" href="./1291_1_1.html"/>
+      <item name="Deploying a Cocoon application" href="./1362_1_1.html"/>
+      <item name="Screencasts" href="./1448_1_1.html"/>
+    </menu>
+      
+    <menu name="How-Tos">
+      <item name="How to configure consistent encoding in Cocoon" href="./1366_1_1.html"/>          
+    </menu>
+
+    <menu name="All Sitemap Components">
+      <item name="All Sitemap Components" href="./1347_1_1.html"/>          
+    </menu>   
+  </body>
+</project>

Propchange: cocoon/trunk/site/cocoon-22-site/src/site/site.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cocoon/trunk/site/cocoon-22-site/src/site/site.xml
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: cocoon/trunk/site/cocoon-22-site/src/site/site.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1159_1_1.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1159_1_1.xml?rev=1329267&view=auto
==============================================================================
--- cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1159_1_1.xml (added)
+++ cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1159_1_1.xml Mon Apr 23 14:58:36 2012
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8"?><!--
+      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.
+    --><document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/XDOC/2.0" xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd"><properties><title>Cocoon 2.2 Site - Your first Cocoon application using Maven 2</title><author email="cocoon-docs@apache.org">Apache Cocoon Documentation Team</author></properties><body>
+         <div id="contentBody"><div id="bodyText"><h1 class="docTitle">Your first Cocoon application using Maven 2</h1><p>In this tutorial, you will:</p><ol type="1">
+<li>Create a Cocoon block (the application resources and logic)</li>
+<li>Import the block as a project in Eclipse</li>
+<li>Start the block as a web application and access it from your browser</li>
+</ol><div class="note"><div><strong>Note: </strong>First, make sure that you have Maven 2.0.9 or above installed.
+You can check this by calling <tt>mvn --version</tt> from the command line. If
+this doesn't work for you, read the
+<a href="http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html">Maven
+in 5 Minutes</a> tutorial.</div></div><h1>Creating a Cocoon block</h1>Create a new directory which will be the root directory of your Cocoon
+application and change into it. For this tutorial, let's name it
+<tt>getting-started-app</tt>.The next step is to create a Cocoon block to contain your custom application.
+The development of any Cocoon web application should be done within one or more 
+blocks.  Cocoon blocks are little different to other Maven blocks except they
+have a particular expected <a href="../2.2/core-modules/core/2.2/1263_1_1.html">directory and file
+structure</a>.<div class="note"><div><strong>Note: </strong>You could manually create your blocks, but a simpler and less
+error-prone process is to use Maven's 'archetype' plugin.  This allows you to
+select from a list of block types and have Maven create them for you.  By
+default, the list of Maven archetypes is quite large.  For convenience, a
+catalog of Cocoon specific archetypes is available on the Cocoon web site and
+you will make use of this in the following instructions.</div></div>Run the following Maven command:<pre>mvn archetype:generate -DarchetypeCatalog=http://cocoon.apache.org
+</pre><p>Maven will generate some output and then interactively ask you for some
+information:</p><pre>Choose archetype:
+1: remote -&gt; cocoon-22-archetype-block-plain (Creates an empty Cocoon block; useful
+ if you want to add another block to a Cocoon application)
+2: remote -&gt; cocoon-22-archetype-block (Creates a Cocoon block containing some small
+ samples)
+3: remote -&gt; cocoon-22-archetype-webapp (Creates a web application configured to
+ host Cocoon blocks. Just add the block dependencies)
+Choose a number:  (1/2/3): <strong>2</strong>
+</pre><p>Maven first asks which archetype you want to create.  Item 2 in this list is
+the standard Cocoon block with some small sample files already in place.</p><pre>Define value for groupId: : <strong>com.mycompany</strong>
+Define value for artifactId: : <strong>myBlock1</strong>
+Define value for version:  1.0-SNAPSHOT: : <strong>1.0.0</strong>
+Define value for package: : <strong>com.mycompany.myBlock1</strong><strong><strong>
+</strong></strong></pre><p>Maven then asks a few more questions.  Just enter the details as shown
+above.  The groupId is a label that you can use to group all the blocks in your
+application.  The artifactId is the unique label that will identify this block
+from all others.  It is also the name of the directory that will be created to
+contain the block's files.  The package is the Java package that any Java files
+in the block will be assigned to.</p><div class="note"><div><strong>Note: </strong>If you are using a cocoon binary build from svn trunk then you
+probably want to change the archetypeVersion to the most recent one, matching
+the svn trunk. (see
+<tt>[<tt>c</tt></tt><tt>ocoon-svn]/tools/archetypes/cocoon-22-archetype-block/pom.xml</tt>)
+</div></div><p>Looking at the filesystem, you should find following directory structure:</p><pre>getting-started-app
+<tt> +-</tt><tt>myBlock1
+    +-pom.xml
+    +-src
+       +-[...]
+</tt></pre><h1>Import the block in Eclipse</h1><div class="note"><div><strong>Note: </strong>Cocoon is not tied to Eclipse IDE by any means. This step only
+describes what can be done to avoid tedious work of setting up project in
+Eclipse manually.<br/>
+If you don't use Eclipse, you can either skip this step or find a similar
+procedure to load the block in the IDE of your choice.</div></div><p>Change into the <tt>myBlock1</tt> directory and call</p><pre>mvn eclipse:eclipse</pre><p>This will create the necessary project descriptors for Eclipse. In Eclipse
+you can import the project into your workspace: <em>File &gt;  Import... &gt;
+Existing Projects into Workspace</em></p><p>If that's the first time you use Eclipse together with a project created by
+Maven 2, we recommend you read the
+<a href="http://maven.apache.org/guides/mini/guide-ide-eclipse.html">Maven Guide
+using Eclipse with Maven 2.x</a>.</p><h1>Run the block as Java web application</h1><p>After creating the Cocoon block you probably want to run it. For this purpose
+there is a Maven plugin that generates a minimal web application that loads your
+block. The pom.xml of your block already contains the necessary settings.</p><pre>mvn jetty:run</pre><p>and point your browser at <tt>http://localhost:8888/myBlock1/</tt> and get a
+hello world page.</p><div class="note"><div><strong>Note: </strong>The mentioned minimal web application is automatically created,
+when <tt>mvn jetty:run</tt> is invoked. This happens because the rcl goal of the
+Cocoon plugin is bound to the Maven build lifecycle which is invoked too, when
+the jetty:run goal is executed. See the block's <tt>pom.xml </tt>for details.
+</div></div><div class="note"><div><strong>Note: </strong>This process can be manually triggered with <tt>mvn
+cocoon:prepare</tt> too.</div></div><h1>Conclusion and further information</h1><p>So far you have created a Cocoon block and been able to run it in Jetty. 
+This is only the first step to creating a full-blown Cocoon application.  If you
+would like to know  more read the following tutorials:</p><ul>
+<li><a href="1290_1_1.html">Your first XML pipeline</a><br/>
+Cocoon is well known for its XML pipelines.  In this tutorial you will learn how
+to setup your first pipeline and discover the power of Cocoon sitemaps.</li>
+<li><a href="1291_1_1.html">Adding a second block</a><br/>
+This tutorial creates a web application that has a dependency on another block.
+There are use cases that require more than one block, e.g. you want to have all
+style specific resources within a single block that can be easily exchanged at
+deployment time (aka skinning).</li>
+<li><a href="../2.2/maven-plugins/maven-plugin/1.0/1297_1_1.html">Usage of the reloading classloader plugin</a><br/>
+The reloading classloader plugin enables rapid development of Cocoon
+applications since you don't have to restart the servlet container whenever one
+of your Java classes changes. Additionally, it enables the reloading of Cocoon
+resources too if they change.</li>
+<li><a href="1362_1_1.html">Deploying a Cocoon application<br/>
+</a>Eventually, you will probably need to create a Java web application (war
+file) in order to deploy your application to a servlet container such as Tomcat
+or Jetty, etc.  This tutorial shows you how.<a href="../2.2/core-modules/core/2.2/1263_1_1.html"><br/>
+</a></li>
+</ul>For the time being, we <em>recommend</em> you use <em>Maven 2</em> as your
+build system (though there is no hard dependency on it). This has the advantage
+that the build system is standardized and Cocoon web applications can reuse the
+toolset (create Eclipse configuration files, create releases, produce
+documentation, etc.). More information about Maven 2 can be found at the project
+<a href="http://maven.apache.org">website</a>.  We especially recommend reading:
+<ul>
+<li>
+<a href="http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html">Maven
+in 5 minutes</a> and the</li>
+<li><a href="http://maven.apache.org/guides/getting-started/index.html">Getting
+started guide</a></li>
+</ul></div></div>
+       </body></document>
\ No newline at end of file

Propchange: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1159_1_1.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1159_1_1.xml
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1159_1_1.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1290_1_1.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1290_1_1.xml?rev=1329267&view=auto
==============================================================================
--- cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1290_1_1.xml (added)
+++ cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1290_1_1.xml Mon Apr 23 14:58:36 2012
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="UTF-8"?><!--
+      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.
+    --><document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/XDOC/2.0" xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd"><properties><title>Cocoon 2.2 Site - Your first XML pipeline (publishing)</title><author email="cocoon-docs@apache.org">Apache Cocoon Documentation Team</author></properties><body>
+         <div id="contentBody"><div id="bodyText"><h1 class="docTitle">Your first XML pipeline (publishing)</h1><p>This tutorial is based on the <a href="1159_1_1.html">"Your first Cocoon
+application using Maven 2"</a> guide which shows how to bootstrap a Cocoon
+project.</p><p>In this tutorial you will</p><ol type="1">
+<li>get an overview of what Cocoon pipelines and sitemaps are</li>
+<li>create your first pipeline that emits XML</li>
+<li>enhance this first pipeline by adding an XML transformation step based on
+XSLT that produces HTML as output</li>
+<li>write a pipeline that creates a PDF document</li>
+</ol><h1>Overview</h1>Cocoon is based around the concept of pipelines:<img width="713" height="223" name="pipeline" alt="pipeline" src="NO_LINK"/>If a request comes in, a <a href="../2.2/core-modules/core/2.2/850_1_1.html"><strong>generator</strong>
+</a>produces <a href="http://www.saxproject.org/">SAX events</a> that represent
+the XML, <a href="../2.2/core-modules/core/2.2/851_1_1.html"><strong>tranformers</strong> </a>can alter the
+stream of SAX events and a
+<a href="../2.2/core-modules/core/2.2/849_1_1.html"><strong>serializ<strong>e</strong></strong><strong>r</strong></a>
+finally creates an output stream which is sent to the client.The image above shows the 3 most popular components:<ul>
+<li>file generator</li>
+<li>XSLT transformer</li>
+<li>HTML serializer</li>
+</ul><strong>Sitemaps</strong> are used to define those pipelines and connect them
+with requests. These connections are defined by some kind of rules. In the
+context  of Cocoon  those rules are named matchers. Whenever one of those rules
+(<em>matcher</em>) matches, a pipeline is executed.<h1>Create a pipeline in the sitemap</h1>First, open <tt>src\main\resources\COB-INF\sitemap.xmap</tt> in your favorite
+XML editor. That's your block's base sitemap. There are already some pipelines
+there (<tt>/sitemap/pipelines</tt>) but for the sake of this tutorial, let's
+create your own pipeline.<pre>&lt;map:sitemap xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://apache.org/cocoon/sitemap/1.0 
+  http://cocoon.apache.org/schema/sitemap/cocoon-sitemap-1.0.xsd"
+ xmlns:map="http://apache.org/cocoon/sitemap/1.0"&gt;
+
+  &lt;map:pipelines&gt;
+<strong>    &lt;map:pipeline&gt;
+<strong>      &lt;map:match pattern="myFirstPipeline"&gt;
+        &lt;map:generate src="myXmlFile.xml" type="file"/&gt;
+        &lt;map:serialize type="xml"/&gt;
+      &lt;/map:match&gt;</strong>
+    &lt;/map:pipeline&gt;</strong>
+    [...]
+  &lt;/map:pipelines&gt;
+
+&lt;/map:sitemap&gt;
+</pre>The <tt>map:match </tt>element has an attribute <tt>@pattern</tt>. If the
+request <tt>http://localhost:8888/myBlock1/<strong>myFirstPipeline</strong></tt>
+comes in, this matcher <em>matches</em> and the request processing continues
+with the generation of <tt>myXmlFile.xml</tt>. This file has to be in the same
+directory as the sitemap:<pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;content&gt;test&lt;/content&gt;
+</pre><div class="note"><div><strong>Note: </strong>You might wonder why the matcher only has to look for the
+pattern myFirstPipeline. The reason is that <tt>myBlock1</tt> is handled by the
+block dispatching mechanism. In particular for your block, this path is set in
+<tt>src/main/resources/META-INF/cocoon/spring/servlet-service.xml</tt> in
+<tt>/beans/bean[id='com.mycompany.myBlock4.block']/context/@mount-path</tt></div></div><p>After saving the sitemap and the XML file, you can point you browser to
+<tt>http://localhost:8888/myBlock</tt><tt><tt>1</tt>/myFirstPipeline</tt> and
+you will see the output of your first own pipeline serialized as XML
+(<tt>&lt;map:serialize type="xml"/&gt;</tt>).</p><h1>Adding an XSLT transformation step</h1><p>The first pipeline wasn't really exciting, just reading some XML file and
+serializing it without changing anything. The second example will add a
+transformation step based on <a href="http://www.w3.org/TR/xslt">XSLT</a>:</p><pre>&lt;map:sitemap xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://apache.org/cocoon/sitemap/1.0 
+  http://cocoon.apache.org/schema/sitemap/cocoon-sitemap-1.0.xsd"
+ xmlns:map="http://apache.org/cocoon/sitemap/1.0"&gt;
+
+  &lt;map:pipelines&gt;
+    &lt;map:pipeline&gt;
+      &lt;map:match pattern="myFirstPipeline"&gt;
+        &lt;map:generate src="myXmlFile.xml" type="file"/&gt;
+        &lt;map:serialize type="xml"/&gt;
+      &lt;/map:match&gt; <strong><strong><strong>      
+      &lt;map:match pattern="mySecondPipeline"&gt;
+        &lt;map:generate src="myXmlFile.xml" type="file"/&gt;
+</strong></strong><strong><strong><strong><strong>        &lt;map:transform src="myXsltFile.xslt" type="xslt"/&gt;</strong></strong></strong></strong>
+<strong><strong>        &lt;map:serialize type="html"/&gt;
+      &lt;/map:match&gt;</strong></strong></strong>
+    &lt;/map:pipeline&gt;
+    [...]
+  &lt;/map:pipelines&gt;
+
+&lt;/map:sitemap&gt;</pre><p>The XSLT file is very simple and creates an XML following the structure of
+XHTML (though without using any namespaces in order to keep things simple):</p><pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"&gt;
+  &lt;xsl:template match="/"&gt;
+    &lt;html&gt;
+      &lt;head&gt;
+        &lt;title&gt;My second XML Pipeline&lt;/title&gt;
+      &lt;/head&gt;
+      &lt;body&gt;
+        My second XML Pipeline:
+        &lt;xsl:value-of select="/content"/&gt;
+      &lt;/body&gt;
+    &lt;/html&gt;
+  &lt;/xsl:template&gt;
+&lt;/xsl:stylesheet&gt;</pre><p>After saving the sitemap and the XSLT file, you can point you browser to
+<tt>http://localhost:8888/myBlock</tt><tt><tt>1</tt>/mySecondPipeline</tt> and
+you will see the output, this time its HTML because of the use of the HTML
+serializer.</p><div class="note"><div><strong>Note: </strong>In this tutorial you have already implemented two pipelines but
+there is only one pipeline element used in the sitemap. Given this is confusing
+when you use Cocoon sitemaps the first time. However, there is a reason for
+this: The <tt>&lt;pipeline&gt; </tt>element indicates which <em>pipeline
+implementation</em> is used. If there is no <tt>@type</tt> attribute, the
+generators, tranformers and serializers are invoked from a caching pipeline
+implementation. <br/>
+When Cocoon developers talk about pipelines, they mean a series of a matcher
+that includes at least a generator and a serializer. Transformers and other
+sitemap components are optional.</div></div><h1>Creating a PDF</h1><p>The first example created XML and the second one HTML. One of the strength of
+Cocoon is that it makes it very simple to support many different output formats.
+The result of this third example will be a PDF, again based on
+<em>myXmlFile.xml</em>:</p><pre>&lt;map:sitemap xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://apache.org/cocoon/sitemap/1.0 
+  http://cocoon.apache.org/schema/sitemap/cocoon-sitemap-1.0.xsd"
+ xmlns:map="http://apache.org/cocoon/sitemap/1.0"&gt;
+
+  &lt;map:pipelines&gt;
+    &lt;map:pipeline&gt;       
+      &lt;map:match pattern="myFirstPipeline"&gt;
+        &lt;map:generate src="myXmlFile.xml" type="file"/&gt;
+        &lt;map:serialize type="xml"/&gt;
+      &lt;/map:match&gt;       
+      &lt;map:match pattern="mySecondPipeline"&gt;
+        &lt;map:generate src="myXmlFile.xml" type="file"/&gt;
+        &lt;map:transform src="myXsltFile.xslt" type="xslt"/&gt;
+        &lt;map:serialize type="html"/&gt;
+      &lt;/map:match&gt; <strong><strong><strong>      
+      &lt;map:match pattern="myThirdPipeline"&gt;
+        &lt;map:generate src="myXmlFile.xml" type="file"/&gt;
+</strong></strong><strong><strong><strong><strong>        &lt;map:transform src="myXml2PdfFile.xslt" type="xslt"/&gt;</strong></strong></strong></strong>
+<strong><strong>        &lt;map:serialize type="fo2pdf"/&gt;
+      &lt;/map:match&gt;</strong></strong></strong>
+    &lt;/map:pipeline&gt;
+    [...]
+  &lt;/map:pipelines&gt;
+
+&lt;/map:sitemap&gt;</pre><p>This pipeline needs a different XSLT file which transforms the XML of
+myXmlFile.xml to some XML that can be used by
+<a href="http://xmlgraphics.apache.org/fop/">FOP</a> to create PDF:</p><pre>&lt;?xml version="1.0"?&gt;
+&lt;xsl:stylesheet version="1.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:fo="http://www.w3.org/1999/XSL/Format"&gt;
+
+  &lt;xsl:template match="/"&gt;
+    &lt;fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"&gt;
+      &lt;fo:layout-master-set&gt;
+        &lt;fo:simple-page-master master-name="page"
+          page-height="29.7cm"
+          page-width="21cm"
+          margin-top="1cm"
+          margin-bottom="2cm"
+          margin-left="2.5cm"
+          margin-right="2.5cm"&gt;
+          &lt;fo:region-before extent="3cm"/&gt;
+          &lt;fo:region-body margin-top="3cm"/&gt;
+          &lt;fo:region-after extent="1.5cm"/&gt;
+        &lt;/fo:simple-page-master&gt;
+
+        &lt;fo:page-sequence-master master-name="all"&gt;
+          &lt;fo:repeatable-page-master-alternatives&gt;
+            &lt;fo:conditional-page-master-reference 
+             master-reference="page" page-position="first"/&gt;
+          &lt;/fo:repeatable-page-master-alternatives&gt;
+        &lt;/fo:page-sequence-master&gt;
+      &lt;/fo:layout-master-set&gt;
+
+      &lt;fo:page-sequence master-reference="all"&gt;
+        &lt;fo:static-content flow-name="xsl-region-after"&gt;
+          &lt;fo:block text-align="center"
+            font-size="10pt"
+            font-family="serif"
+            line-height="14pt"&gt;page &lt;fo:page-number/&gt;&lt;/fo:block&gt;
+        &lt;/fo:static-content&gt;
+
+        &lt;fo:flow flow-name="xsl-region-body"&gt;
+          &lt;fo:block font-size="36pt" space-before.optimum="24pt" 
+           text-align="center"&gt;
+             My second XML Pipeline
+          &lt;/fo:block&gt;
+          &lt;fo:block font-size="12pt" space-before.optimum="12pt" 
+           text-align="center"&gt;
+           &lt;xsl:value-of select="/content"/&gt;
+          &lt;/fo:block&gt;
+        &lt;/fo:flow&gt;
+      &lt;/fo:page-sequence&gt;
+    &lt;/fo:root&gt;
+  &lt;/xsl:template&gt;
+&lt;/xsl:stylesheet&gt;</pre><p>You also have to use a different serializer for this example, a serializer
+that can use the XML created by the stylesheet and produce PDF based on it.
+Cocoon ships this serializer as part of the FOP block. Since the block that you
+created probably doesn't have the FOP block added as dependency, this has to be
+done before you can test your pipeline. Adding a block requires editing the
+pom.xml of your block:</p><pre>  &lt;dependencies&gt;
+    [...]
+    &lt;dependency&gt;
+      &lt;groupId&gt;<strong>org.apache.cocoon</strong>&lt;/groupId&gt;
+      &lt;artifactId&gt;<strong>cocoon-fop-impl</strong>&lt;/artifactId&gt;
+      &lt;version&gt;<strong>1.0.0</strong>&lt;/version&gt;
+    &lt;/dependency&gt;
+    [...]
+  &lt;/dependencies&gt;</pre><p>Rebuild your block</p><pre>mvn compile</pre><p>and start the servlet container again:</p><pre>mvn jetty:run</pre><p>Now you can point your browser at
+<tt>http://localhost:8888/myBlock</tt><tt><tt>1</tt>/myThirdPipeline</tt> and
+you will get a PDF as result.</p></div></div>
+       </body></document>
\ No newline at end of file

Propchange: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1290_1_1.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1290_1_1.xml
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1290_1_1.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1291_1_1.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1291_1_1.xml?rev=1329267&view=auto
==============================================================================
--- cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1291_1_1.xml (added)
+++ cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1291_1_1.xml Mon Apr 23 14:58:36 2012
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="UTF-8"?><!--
+      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.
+    --><document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/XDOC/2.0" xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd"><properties><title>Cocoon 2.2 Site - Modularize Cocoon apps (Using blocks)</title><author email="cocoon-docs@apache.org">Apache Cocoon Documentation Team</author></properties><body>
+         <div id="contentBody"><div id="bodyText"><h1 class="docTitle">Modularize Cocoon apps (Using blocks)</h1><p>In the basic tutorial <a href="1159_1_1.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>Create a second block</h1>For this purpose move into the <tt>getting-started-app</tt> directory and use
+the Maven 2 archetype command again:<pre>mvn archetype:generate -DarchetypeCatalog=http://cocoon.apache.org
+</pre>First choose the archetype:<pre>Choose archetype:
+1: remote -&gt; cocoon-22-archetype-block-plain (Creates an empty Cocoon block; useful
+ if you want to add another block to a Cocoon application)
+2: remote -&gt; cocoon-22-archetype-block (Creates a Cocoon block containing some small
+ samples)
+3: remote -&gt; cocoon-22-archetype-webapp (Creates a web application configured to
+ host Cocoon blocks. Just add the block dependencies)
+Choose a number:  (1/2/3): <strong>2
+</strong></pre>Then respond to the other questions as follows:<pre>Define value for groupId: : <strong>com.mycompany</strong>
+Define value for artifactId: : <strong>myBlock2</strong>
+Define value for version:  1.0-SNAPSHOT: : <strong>1.0.0</strong>
+Define value for package: : <strong>com.mycompany.myBlock2</strong></pre><p>The result is a second Cocoon block called myBlock2.  You should find the
+directory structure of your application now looks as follows:</p><pre>getting-started-app
+<tt> +-</tt><tt>myBlock1
+ |  +-pom.xml
+ |  +-src
+ |     +-[...]</tt>
+<tt> +-</tt><tt>myBlock2
+    +-pom.xml
+    +-src
+       +-[...]
+
+</tt></pre><p>Move into the myBlock2 folder and execute the following command:</p><pre>mvn install eclipse:eclipse</pre><p>This builds and copies the second block into your local Maven repository so
+that other dependent blocks and projects can see it and then creates the
+necessary files to allow you to import the block as a project in Eclipse.</p><h1>Connect two blocks</h1><p>Let's assume that you want to use a pipeline defined in <tt>myBlock2</tt>
+from within <tt>myBlock1</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/block-servlet-service.xml:</tt>
+</p><pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;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"&gt;
+
+  &lt;bean id="com.mycompany.myBlock1.service" class="org.apache.cocoon.sitemap.SitemapServlet"&gt;
+    &lt;servlet:context mount-path="/myBlock1" context-path="blockcontext:/myBlock1/"&gt;
+<strong>      &lt;servlet:connections&gt;
+        &lt;entry key="myBlock2" value-ref="com.mycompany.myBlock2.service"/&gt;
+      &lt;/servlet:connections&gt;</strong>
+    &lt;/servlet:context&gt;
+  &lt;/bean&gt;
+
+&lt;/beans&gt;
+</pre><p>Additionally, you have to record the fact that myBlock1 has a dependency on
+myBlock2 by editing myBlock1's Maven project descriptor
+(<tt>getting-started-app/<strong>myBlock1</strong>/pom.xml</tt>):</p><pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;project&gt;
+  [...]
+  &lt;dependencies&gt;
+    [...]
+<strong>    &lt;dependency&gt;
+      &lt;groupId&gt;com.mycompany&lt;/groupId&gt;
+      &lt;artifactId&gt;myBlock2&lt;/artifactId&gt;
+      &lt;version&gt;1.0-SNAPSHOT&lt;/version&gt;
+    &lt;/dependency&gt;</strong>
+  &lt;/dependencies&gt;
+  [...]
+&lt;/project&gt;
+</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 immediately.
+Open getting-started-app/myBlock1/rcl.properties and add</p><pre>com.mycompany.myBlock1.service%classes-dir=./target/classes
+
+<strong>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>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0"&gt;
+  &lt;map:pipelines&gt;
+    [...]
+    &lt;map:pipeline&gt;
+      &lt;map:match pattern="callingBlock2"&gt;
+        &lt;map:generate src="<strong>servlet:myBlock2:/spring-bean</strong>" type="file"/&gt;
+        &lt;map:serialize type="xml"/&gt;
+      &lt;/map:match&gt;
+    &lt;/map:pipeline&gt;
+    [...]
+  &lt;/map:pipelines&gt;
+&lt;/map:sitemap&gt;
+</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/>
+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>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>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0"&gt;
+  &lt;map:pipelines&gt;
+    &lt;map:pipeline&gt;
+      &lt;map:match pattern="callingTransformationService"&gt;
+        &lt;map:generate src="demo/welcome.xml"/&gt;
+        <strong>&lt;map:transform type="servletService"&gt;
+          &lt;map:parameter name="service" 
+           value="servlet:myBlock2:/myXsltTransformation-service"/&gt;
+        &lt;/map:transform&gt;</strong>
+        &lt;map:serialize type="xml"/&gt;
+      &lt;/map:match&gt;
+    &lt;/map:pipeline&gt;
+  &lt;/map:pipelines&gt;
+&lt;/map:sitemap&gt;</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>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0"&gt;
+  &lt;map:pipelines&gt;
+    &lt;map:pipeline&gt;
+      &lt;map:match pattern="<strong>myXsltTransformation-service</strong>"&gt;
+        &lt;map:generate src="<strong>service-consumer:</strong>"/&gt;
+        &lt;map:transform src="myXsltTransformation.xslt"/&gt;
+        &lt;map:serialize type="xml"/&gt;
+      &lt;/map:match&gt;
+    &lt;/map:pipeline&gt;
+  &lt;/map:pipelines&gt;
+&lt;/map:sitemap&gt;</pre><p>The generator uses the service-consumer protocol which initializes the
+service. Then the pipeline continues with an XSLT transformation
+<tt>myXsltTransformation.xslt</tt>, which has to be put into the same directory
+as the <tt>myBlock2</tt> sitemap:</p><pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"&gt;
+  &lt;xsl:template match="/"&gt;
+    &lt;html&gt;
+      &lt;head&gt;
+        &lt;title&gt;Output of the XSLT transformation service.&lt;/title&gt;
+      &lt;/head&gt;
+      &lt;body&gt;
+        Output of the XSLT transformation service.
+      &lt;/body&gt;
+    &lt;/html&gt;
+  &lt;/xsl:template&gt;
+&lt;/xsl:stylesheet&gt;
+</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>Besides transformation services there are also generation and
+serialization services.</div></div></div></div>
+       </body></document>
\ No newline at end of file

Propchange: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1291_1_1.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1291_1_1.xml
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1291_1_1.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1347_1_1.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1347_1_1.xml?rev=1329267&view=auto
==============================================================================
--- cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1347_1_1.xml (added)
+++ cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1347_1_1.xml Mon Apr 23 14:58:36 2012
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?><!--
+      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.
+    --><document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/XDOC/2.0" xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd"><properties><title>Cocoon 2.2 Site - All Sitemap Components</title><author email="cocoon-docs@apache.org">Apache Cocoon Documentation Team</author></properties><body>
+         <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"><tbody><tr class="a"><th>Component Name</th><th>Name in Sitemap</th><th>Block</th></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1025_1_1.html">CalendarGenerator</a></td><td>calendar</td><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/913_1_1.html">CSVGenerator</a></td><td>csv</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1339_1_1.html">CSVGeneratorBean</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/1043_1_1.html">DefaultContentAggregator</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/953_1_1.html">DirectoryGenerator</a></td><td>directory</td><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2
 .2/937_1_1.html">ExceptionGenerator</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/999_1_1.html">FileGenerator</a></td><td>file</td><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/1336_1_1.html">FileGeneratorBean</a></td><td>file</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1008_1_1.html">FragmentExtractorGenerator</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/1030_1_1.html">ImageDirectoryGenerator</a></td><td>imagedirectory</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1039_1_1.html">LinkStatusGenerator</a></td><td>linkstatus</td><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/960_1_1.html">MP3DirectoryGenerator</a></td><td>mp3directory</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1022_1_1.html">NotifyingGenerator</a></td><td/><td>core</td></tr><t
 r class="a"><td><a href="../2.2/core-modules/core/2.2/973_1_1.html">PauseGenerator</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1337_1_1.html">PauseGeneratorBean</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/884_1_1.html">RequestGenerator</a></td><td>request</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1398_1_1.html">ServletServiceGenerator</a></td><td>servletService</td><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/932_1_1.html">SessionAttributeGenerator</a></td><td>sessionattribute</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/995_1_1.html">StatusGenerator</a></td><td>status</td><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/925_1_1.html">StreamGenerator</a></td><td>stream</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1016_1_1.html">Traversab
 leGenerator</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/982_1_1.html">XPathDirectoryGenerator</a></td><td>xpathdirectory</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/873_1_1.html">XPathTraversableGenerator</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/blocks/forms/1.0/915_1_1.html">FormsGenerator</a></td><td/><td>forms</td></tr><tr class="b"><td><a href="../2.2/blocks/forms/1.0/978_1_1.html">SuggestionListGenerator</a></td><td/><td>forms</td></tr><tr class="a"><td><a href="../2.2/blocks/html/1.0/1129_1_1.html">HTMLGenerator</a></td><td>html</td><td>html</td></tr><tr class="b"><td><a href="../2.2/blocks/html/1.0/1090_1_1.html">NekoHTMLGenerator</a></td><td>nekohtml</td><td>html</td></tr><tr class="a"><td><a href="../2.2/blocks/mail/1.0/1080_1_1.html">IMAPGenerator</a></td><td/><td>mail</td></tr><tr class="b"><td><a href="../2.2/blocks/template/1.0/976_1_1.html">JXTemplateGenerator</
 a></td><td>jx</td><td>template</td></tr></tbody></table><h1>Transformers</h1><table class="bodyTable"><tbody><tr class="a"><th>Component Name</th><th>Name in Sitemap</th><th>Block</th></tr><tr class="b"><td><a href="../2.2/blocks/ajax/1.0/910_1_1.html">BrowserUpdateTransformer</a></td><td/><td>ajax</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/996_1_1.html">AugmentTransformer</a></td><td>augment</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/934_1_1.html">CIncludeTransformer</a></td><td>cinclude</td><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/867_1_1.html">EncodeURLTransformer</a></td><td>encodeurl</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/936_1_1.html">FilterTransformer</a></td><td>filter</td><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/948_1_1.html">FragmentExtractorTransformer</a></td><td/><td>core</td></tr><tr class="b"><td><a h
 ref="../2.2/core-modules/core/2.2/981_1_1.html">I18nTransformer</a></td><td>i18n</td><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/1048_1_1.html">IncludeTransformer</a></td><td>include</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/898_1_1.html">JPathTransformer</a></td><td>jpath</td><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/1023_1_1.html">LinkGatherer</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/881_1_1.html">LinkTranslator</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/1029_1_1.html">LogTransformer</a></td><td>log</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/991_1_1.html">Paginator</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/949_1_1.html">ReadDOMSessionTransformer</a></td><td>readDOMsession</td><td>core</td></tr><tr class="b"><t
 d><a href="../2.2/core-modules/core/2.2/876_1_1.html">RoleFilterTransformer</a></td><td>role-filter</td><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/1396_1_1.html">ServletServiceTransformer</a></td><td>servletService</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1028_1_1.html">SimpleFormInstanceExtractionTransformer</a></td><td>simple-form-instance</td><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/992_1_1.html">SimpleFormTransformer</a></td><td>simple-form</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1050_1_1.html">SourceWritingTransformer</a></td><td>sourcewriting</td><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/1340_1_1.html">StripNameSpacesTransformer</a></td><td>stripnamespaces</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/923_1_1.html">TeeTransformer</a></td><td>tee</td><td>core</td></tr><t
 r class="a"><td><a href="../2.2/core-modules/core/2.2/908_1_1.html">TraxTransformer</a></td><td>xslt</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1036_1_1.html">WriteDOMSessionTransformer</a></td><td>writeDOMsession</td><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/985_1_1.html">XIncludeTransformer</a></td><td>xinclude</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1331_1_1.html">XSLTTransformer</a></td><td>xslt</td><td>core</td></tr><tr class="a"><td><a href="../2.2/blocks/databases/1.0/926_1_1.html">SQLTransformer</a></td><td/><td>databases</td></tr><tr class="b"><td><a href="../2.2/blocks/forms/1.0/994_1_1.html">FormsTemplateTransformer</a></td><td/><td>forms</td></tr><tr class="a"><td><a href="../2.2/blocks/html/1.0/1103_1_1.html">CleanupTransformer</a></td><td/><td>html</td></tr><tr class="b"><td><a href="../2.2/blocks/html/1.0/1096_1_1.html">HTMLTransformer</a></td><td/><td>html
 </td></tr><tr class="a"><td><a href="../2.2/blocks/html/1.0/1343_1_1.html">NekoHTMLTransformer</a></td><td/><td>html</td></tr><tr class="b"><td><a href="../2.2/blocks/linkrewriter/1.0/1102_1_1.html">LinkRewriterTransformer</a></td><td/><td>linkrewriter</td></tr><tr class="a"><td><a href="../2.2/blocks/linkrewriter/1.0/1134_1_1.html">VariableRewriterTransformer</a></td><td/><td>linkrewriter</td></tr><tr class="b"><td><a href="../2.2/blocks/mail/1.0/1099_1_1.html">SendMailTransformer</a></td><td/><td>mail</td></tr><tr class="a"><td><a href="../2.2/blocks/template/1.0/1012_1_1.html">JXTemplateTransformer</a></td><td/><td>template</td></tr><tr class="b"><td><a href="../2.2/blocks/template/1.0/957_1_1.html">TransformerAdapter</a></td><td/><td>template</td></tr></tbody></table><h1>Serializers</h1><table class="bodyTable"><tbody><tr class="a"><th>Component Name</th><th>Name in Sitemap</th><th>Block</th></tr><tr class="b"><td><a href="../2.2/blocks/batik/1.0/1087_1_1.html">SVGSerial
 izer</a></td><td/><td>batik</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/896_1_1.html">HTMLSerializer</a></td><td>html</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/959_1_1.html">LinkSerializer</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/1395_1_1.html">ServletServiceSerializer</a></td><td>servletService</td><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/929_1_1.html">TextSerializer</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/870_1_1.html">XMLSerializer</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1000_1_1.html">ZipArchiveSerializer</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/blocks/fop/1.0/1333_1_1.html">FOPNGSerializer</a></td><td/><td>fop</td></tr><tr class="b"><td><a href="../2.2/blocks/fop/1.0/1144_1_1.html">FOPSerializer</a></td><td/><td>fop</td>
 </tr></tbody></table><h1>Matchers</h1><table class="bodyTable"><tbody><tr class="a"><th>Component Name</th><th>Name in Sitemap</th><th>Block</th></tr><tr class="b"><td><a href="../2.2/blocks/ajax/1.0/1010_1_1.html">AjaxRequestMatcher</a></td><td/><td>ajax</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/899_1_1.html">CachingRegexpMatcher</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1015_1_1.html">CachingWildcardMatcher</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/903_1_1.html">CookieMatcher</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/874_1_1.html">HeaderMatcher</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/914_1_1.html">LocaleMatcher</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1007_1_1.html">MountTableMatcher</a></td><td/><td>core</td></tr><tr class="a
 "><td><a href="../2.2/core-modules/core/2.2/897_1_1.html">ParameterMatcher</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/972_1_1.html">RegexpHeaderMatcher</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/940_1_1.html">RegexpHostMatcher</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/963_1_1.html">RegexpParameterMatcher</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/1005_1_1.html">RegexpRequestAttributeMatcher</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/997_1_1.html">RegexpRequestParameterMatcher</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/961_1_1.html">RegexpSessionAttributeMatcher</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/922_1_1.html">RegexpURIMatcher</a></td><td/><td>core</td></tr><tr cla
 ss="a"><td><a href="../2.2/core-modules/core/2.2/954_1_1.html">RequestAttributeMatcher</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1017_1_1.html">RequestParameterMatcher</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/1037_1_1.html">SessionAttributeMatcher</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1021_1_1.html">WildcardHeaderMatcher</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/955_1_1.html">WildcardHostMatcher</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1034_1_1.html">WildcardMatcher</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/1019_1_1.html">WildcardParameterMatcher</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/951_1_1.html">WildcardRequestAttributeMatcher</a></td><td/><td>core</td><
 /tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/1051_1_1.html">WildcardRequestParameterMatcher</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/902_1_1.html">WildcardSessionAttributeMatcher</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/1044_1_1.html">WildcardURIMatcher</a></td><td/><td>core</td></tr></tbody></table><h1>Selectors</h1><table class="bodyTable"><tbody><tr class="b"><th>Component Name</th><th>Name in Sitemap</th><th>Block</th></tr><tr class="a"><td><a href="../2.2/blocks/ajax/1.0/945_1_1.html">AjaxRequestSelector</a></td><td/><td>ajax</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/924_1_1.html">BrowserSelector</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/1042_1_1.html">CookieSelector</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/931_1_1.html">ExceptionSelector</a></td><td/><
 td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/890_1_1.html">HeaderSelector</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/998_1_1.html">HostSelector</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/911_1_1.html">ParameterSelector</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/883_1_1.html">RegexpHeaderSelector</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/956_1_1.html">RegexpRequestParameterSelector</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/882_1_1.html">RequestAttributeSelector</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/967_1_1.html">RequestMethodSelector</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1018_1_1.html">RequestParameterSelector</a></td><td/><td>core</t
 d></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/901_1_1.html">ResourceExistsSelector</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/958_1_1.html">SessionAttributeSelector</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/1056_1_1.html">SimpleSelector</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/969_1_1.html">XPathExceptionSelector</a></td><td/><td>core</td></tr></tbody></table><h1>Actions</h1><table class="bodyTable"><tbody><tr class="a"><th>Component Name</th><th>Name in Sitemap</th><th>Block</th></tr><tr class="b"><td><a href="../2.2/blocks/ajax/1.0/1054_1_1.html">GetContinuationAction</a></td><td/><td>ajax</td></tr><tr class="a"><td><a href="../2.2/blocks/auth/1.0/1335_1_1.html">LoggedInAction</a></td><td/><td>auth</td></tr><tr class="b"><td><a href="../2.2/blocks/auth/1.0/1341_1_1.html">LoginAction</a></td><td/><td>auth</td></tr><tr class=
 "a"><td><a href="../2.2/blocks/auth/1.0/1332_1_1.html">LogoutAction</a></td><td/><td>auth</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1006_1_1.html">ClearCacheAction</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/933_1_1.html">ClearPersistentStoreAction</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/968_1_1.html">CopySourceAction</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/966_1_1.html">FormValidatorAction</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/868_1_1.html">HelloAction</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/1049_1_1.html">HttpCacheAction</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1057_1_1.html">HttpHeaderAction</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.
 2/1020_1_1.html">InputModuleAction</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/889_1_1.html">LocaleAction</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/1403_1_1.html">LogAction</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/909_1_1.html">PreemptiveLoaderAction</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/1004_1_1.html">PropagatorAction</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/888_1_1.html">RequestParamAction</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/906_1_1.html">RequestParameterExistsAction</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/885_1_1.html">ResourceExistsAction</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/872_1_1.html">SessionInval
 idatorAction</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/1031_1_1.html">SessionIsValidAction</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/965_1_1.html">SessionPropagatorAction</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/875_1_1.html">SessionStateAction</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/917_1_1.html">SessionValidatorAction</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/core-modules/core/2.2/975_1_1.html">SetCharacterEncodingAction</a></td><td/><td>core</td></tr><tr class="a"><td><a href="../2.2/core-modules/core/2.2/983_1_1.html">SetterAction</a></td><td/><td>core</td></tr><tr class="b"><td><a href="../2.2/blocks/databases/1.0/894_1_1.html">DatabaseAddAction</a></td><td/><td>databases</td></tr><tr class="a"><td><a href="../2.2/blocks/databases/1.0/979_1_1.html">DatabaseAddAction</
 a></td><td/><td>databases</td></tr><tr class="b"><td><a href="../2.2/blocks/databases/1.0/919_1_1.html">DatabaseAuthenticatorAction</a></td><td/><td>databases</td></tr><tr class="a"><td><a href="../2.2/blocks/databases/1.0/1026_1_1.html">DatabaseCookieAuthenticatorAction</a></td><td/><td>databases</td></tr><tr class="b"><td><a href="../2.2/blocks/databases/1.0/877_1_1.html">DatabaseDeleteAction</a></td><td/><td>databases</td></tr><tr class="a"><td><a href="../2.2/blocks/databases/1.0/989_1_1.html">DatabaseDeleteAction</a></td><td/><td>databases</td></tr><tr class="b"><td><a href="../2.2/blocks/databases/1.0/962_1_1.html">DatabaseQueryAction</a></td><td/><td>databases</td></tr><tr class="a"><td><a href="../2.2/blocks/databases/1.0/1001_1_1.html">DatabaseSelectAction</a></td><td/><td>databases</td></tr><tr class="b"><td><a href="../2.2/blocks/databases/1.0/1013_1_1.html">DatabaseSelectAction</a></td><td/><td>databases</td></tr><tr class="a"><td><a href="../2.2/blocks/databases
 /1.0/974_1_1.html">DatabaseUpdateAction</a></td><td/><td>databases</td></tr><tr class="b"><td><a href="../2.2/blocks/databases/1.0/1014_1_1.html">DatabaseUpdateAction</a></td><td/><td>databases</td></tr><tr class="a"><td><a href="../2.2/blocks/databases/1.0/905_1_1.html">OraAddAction</a></td><td/><td>databases</td></tr><tr class="b"><td><a href="../2.2/blocks/databases/1.0/970_1_1.html">OraUpdateAction</a></td><td/><td>databases</td></tr><tr class="a"><td><a href="../2.2/blocks/forms/1.0/904_1_1.html">HandleFormSubmitAction</a></td><td/><td>forms</td></tr><tr class="b"><td><a href="../2.2/blocks/forms/1.0/1027_1_1.html">InitForm1Action</a></td><td/><td>forms</td></tr><tr class="a"><td><a href="../2.2/blocks/forms/1.0/1035_1_1.html">MakeFormAction</a></td><td/><td>forms</td></tr><tr class="b"><td><a href="../2.2/blocks/mail/1.0/1091_1_1.html">MailAction</a></td><td/><td>mail</td></tr><tr class="a"><td><a href="../2.2/blocks/mail/1.0/1125_1_1.html">Sendmail</a></td><td/><td>ma
 il</td></tr><tr class="b"><td><a href="../2.2/blocks/mail/1.0/1109_1_1.html">SendmailAction</a></td><td/><td>mail</td></tr></tbody></table></div></div>
+       </body></document>
\ No newline at end of file

Propchange: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1347_1_1.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1347_1_1.xml
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1347_1_1.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1362_1_1.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1362_1_1.xml?rev=1329267&view=auto
==============================================================================
--- cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1362_1_1.xml (added)
+++ cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1362_1_1.xml Mon Apr 23 14:58:36 2012
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="UTF-8"?><!--
+      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.
+    --><document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/XDOC/2.0" xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd"><properties><title>Cocoon 2.2 Site - Deploying a Cocoon application</title><author email="cocoon-docs@apache.org">Apache Cocoon Documentation Team</author></properties><body>
+         <div id="contentBody"><div id="bodyText"><h1 class="docTitle">Deploying a Cocoon application</h1><p>This tutorial is based on the
+<a href="1159_1_1.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/>
+(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>Creating a Cocoon web application</h1>For this tutorial you will use the Cocoon web application archetype to create
+a Cocoon block suitable for generating a war file which can be deployed on a
+servlet container such as Tomcat or Websphere etc.  Change into the
+getting-started-app folder and type the following command: -<pre>mvn archetype:generate -DarchetypeCatalog=http://cocoon.apache.org
+</pre>Choose the web application archetype:<pre>Choose archetype:
+1: remote -&gt; cocoon-22-archetype-block-plain (Creates an empty Cocoon block; useful
+ if you want to add another block to a Cocoon application)
+2: remote -&gt; cocoon-22-archetype-block (Creates a Cocoon block containing some small
+ samples)
+3: remote -&gt; cocoon-22-archetype-webapp (Creates a web application configured to
+ host Cocoon blocks. Just add the block dependencies)
+Choose a number:  (1/2/3): <strong>3
+</strong></pre>Then respond to the other questions as follows:<pre>Define value for groupId: : <strong>com.mycompany</strong>
+Define value for artifactId: : <strong>myCocoonWebApp</strong>
+Define value for version:  1.0-SNAPSHOT: : <strong>1.0.0</strong>
+Define value for package: : <strong>com.mycompany.myCocoonWebApp</strong> 
+</pre><p>Looking at the filesystem, you should find following directory structure:</p><pre>getting-started-app
+<tt> +-</tt><tt>myBlock1
+ |  +-pom.xml
+ |  +-src
+ |     +-[...]
+</tt><tt> +-</tt><tt>myBlock2
+ |  +-pom.xml
+ |  +-src
+ |     +-[...]</tt>
+<tt> +-</tt><tt><tt>myCocoonWebapp</tt></tt><tt>    
+    +-pom.xml
+    +-src
+       +-[...]</tt>
+</pre><h1>Using a block within the web application</h1><p>In order to use blocks as dependencies you need to <em>install</em> them into
+Maven's local repository. First go to <tt>myBlock1/</tt> directory and execute
+following command:</p><pre>mvn install
+</pre><p>Then go to <tt>myBlock2/</tt> and execute the same command. This way both
+blocks will get installed into local repository where Maven stores all artifacts
+that can be used as dependencies.</p><p>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:</p><pre>&lt;project&gt;
+  [...]
+    &lt;dependencies&gt;
+      &lt;dependency&gt;
+<strong>        &lt;groupId&gt;<strong><tt>com.mycompany</tt></strong>&lt;/groupId&gt;
+        &lt;artifactId&gt;<strong>myBlock1</strong>&lt;/artifactId&gt;
+        &lt;version&gt;<strong>1.0-SNAPSHOT</strong>&lt;/version&gt;</strong>
+      &lt;/dependency&gt;
+      &lt;dependency&gt;
+<strong>        &lt;groupId&gt;<strong><tt>com.mycompany</tt></strong>&lt;/groupId&gt;
+        &lt;artifactId&gt;<strong>myBlock2</strong>&lt;/artifactId&gt;
+        &lt;version&gt;<strong>1.0-SNAPSHOT</strong>&lt;/version&gt;</strong>
+      &lt;/dependency&gt;
+    &lt;/dependencies&gt;
+  [...]
+&lt;/project&gt;</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/>
+Open your favorite web browser and call</p><pre>http://localhost:8888/myBlock1/</pre><p>That's it!</p><h1>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>&lt;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"&gt;
+
+  &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
+  &lt;packaging&gt;pom&lt;/packaging&gt;
+  
+  &lt;groupId&gt;com.mycompany&lt;/groupId&gt;
+  &lt;artifactId&gt;getting-started-app&lt;/artifactId&gt;
+  &lt;version&gt;1-SNAPSHOT&lt;/version&gt;
+  
+  &lt;name&gt;Cocoon Getting Stared application [parent]&lt;/name&gt;
+  
+  &lt;modules&gt;
+    &lt;module&gt;<strong><tt>myCocoonWebapp</tt></strong>&lt;/module&gt;
+    &lt;module&gt;<strong>myBlock1</strong>&lt;/module&gt;
+    &lt;module&gt;<strong>myBlock2</strong>&lt;/module&gt;
+  &lt;/modules&gt;
+&lt;/project&gt;
+</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>&lt;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"&gt;
+
+  [...]
+<strong>  &lt;parent&gt;
+    &lt;groupId&gt;com.mycompany&lt;/groupId&gt;
+    &lt;artifactId&gt;getting-started-app&lt;/artifactId&gt;
+    &lt;version&gt;1-SNAPSHOT&lt;/version&gt;
+  &lt;/parent&gt;</strong>
+  [...]
+
+&lt;/project&gt;</pre><h1>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/myBlock1/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>myBlock1/src/main/resources/META-INF/cocoon/spring/blockServlet.xml </tt>,
+and change the element</p><pre>    &lt;property name="mountPath" value="/myBlock1"/&gt;
+</pre><p>to</p><pre>    &lt;property name="mountPath" value=""/&gt;
+</pre><p>and then run:</p><pre> <tt>mvn install</tt></pre></div></div>
+       </body></document>
\ No newline at end of file

Propchange: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1362_1_1.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1362_1_1.xml
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: cocoon/trunk/site/cocoon-22-site/src/site/xdoc/1362_1_1.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml



Mime
View raw message