cocoon-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cross...@apache.org
Subject svn commit: r345438 [151/286] - in /cocoon/site/site/2.1: ./ developing/ developing/portal/ developing/portal/coplets/ developing/webapps/ developing/webapps/authentication/ faq/ howto/ installing/ plan/ plan/documentation/ plan/otherplanning/ plan/ove...
Date Fri, 18 Nov 2005 04:13:22 GMT
Added: cocoon/site/site/2.1/userdocs/flow/api.html
URL: http://svn.apache.org/viewcvs/cocoon/site/site/2.1/userdocs/flow/api.html?rev=345438&view=auto
==============================================================================
--- cocoon/site/site/2.1/userdocs/flow/api.html (added)
+++ cocoon/site/site/2.1/userdocs/flow/api.html Thu Nov 17 20:00:02 2005
@@ -0,0 +1,2084 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta content="Apache Forrest" name="Generator">
+<meta name="Forrest-version" content="0.8-dev">
+<meta name="Forrest-skin-name" content="pelt">
+<title>Advanced Control Flow - Flowscript</title>
+<link type="text/css" href="../../../skin/basic.css" rel="stylesheet">
+<link media="screen" type="text/css" href="../../../skin/screen.css" rel="stylesheet">
+<link media="print" type="text/css" href="../../../skin/print.css" rel="stylesheet">
+<link type="text/css" href="../../../skin/profile.css" rel="stylesheet">
+<script src="../../../skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="../../../skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="../../../skin/fontsize.js" language="javascript" type="text/javascript"></script>
+<link rel="shortcut icon" href="../../../images/cocoon.ico">
+</head>
+<body onload="init()">
+<script type="text/javascript">ndeSetTextSize();</script>
+<div id="top">
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+<a href="http://www.apache.org/">apache</a> &gt; <a href="http://cocoon.apache.org/">cocoon</a><script src="../../../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
+</div>
+<!--+
+    |header
+    +-->
+<div class="header">
+<!--+
+    |start group logo
+    +-->
+<div class="grouplogo">
+<a href="http://www.apache.org/"><img class="logoImage" alt="Apache" src="../../../images/cocoon-project-logo.png" title="The Apache Software Foundation"></a>
+</div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
+<div class="projectlogo">
+<a href="http://cocoon.apache.org/"><img class="logoImage" alt="Apache Cocoon" src="../../../images/cocoon-logo.gif" title="Apache Cocoon"></a>
+</div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Search
+    +-->
+<div class="searchbox">
+<form action="http://www.google.com/search" method="get" class="roundtopsmall">
+<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">&nbsp; 
+                    <input name="Search" value="Search" type="submit">
+</form>
+</div>
+<!--+
+    |end search
+    +-->
+<!--+
+    |start Tabs
+    +-->
+<ul id="tabs">
+<li>
+<a class="base-not-selected" href="../../../2.1/index.html">Home</a>
+</li>
+</ul>
+<!--+
+    |end Tabs
+    +-->
+</div>
+</div>
+<div id="main">
+<div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
+<div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+//  --></script>
+</div>
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+             
+             &nbsp;
+           </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
+<div id="menu">
+<div onclick="SwitchMenu('menu_1.1', '../../../skin/')" id="menu_1.1Title" class="menutitle">About</div>
+<div id="menu_1.1" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/index.html">Index</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/features.html">Features</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/news.html">News</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/license.html">License</a>
+</div>
+<div class="menuitem">
+<a href="http://cocoon.apache.org/mirror.cgi">Download</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_selected_1.2', '../../../skin/')" id="menu_selected_1.2Title" class="menutitle" style="background-image: url('../../../skin/images/chapter_open.gif');">Documentation</div>
+<div id="menu_selected_1.2" class="selectedmenuitemgroup" style="display: block;">
+<div class="menuitem">
+<a href="../../../2.1/introduction.html">Introduction</a>
+</div>
+<div onclick="SwitchMenu('menu_1.2.2', '../../../skin/')" id="menu_1.2.2Title" class="menutitle">Tracks</div>
+<div id="menu_1.2.2" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/tracks/index.html">Introduction</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/tracks/first-steps-track.html">First steps</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/tracks/web-publishing-track.html">Web publishing</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.3', '../../../skin/')" id="menu_1.2.3Title" class="menutitle">Installation</div>
+<div id="menu_1.2.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="http://cocoon.apache.org/mirror.cgi">Download</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/installing/index.html">Intro</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/installing/requirements.html">System requirements</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/installing/updating-older.html">Updating to version 2.1.5</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/installing/jars.html">Jars</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/installing/tests.html">Overview</a>
+</div>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/overview.html">Overview</a>
+</div>
+<div onclick="SwitchMenu('menu_selected_1.2.5', '../../../skin/')" id="menu_selected_1.2.5Title" class="menutitle" style="background-image: url('../../../skin/images/chapter_open.gif');">User Guide</div>
+<div id="menu_selected_1.2.5" class="selectedmenuitemgroup" style="display: block;">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/index.html">User Documentation</a>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.2', '../../../skin/')" id="menu_1.2.5.2Title" class="menutitle">Concepts</div>
+<div id="menu_1.2.5.2" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/concepts/index.html">Overview</a>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.2.2', '../../../skin/')" id="menu_1.2.5.2.2Title" class="menutitle">Sitemap</div>
+<div id="menu_1.2.5.2.2" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/concepts/sitemap.html">Section Home</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/concepts/sitemap/sitemap-examples.html">Example sitemap snippets</a>
+</div>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/concepts/views.html">Views</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/concepts/caching.html">Caching</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/concepts/actions.html">Actions</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/concepts/matchers_selectors.html">Matchers and Selectors</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/concepts/catalog.html">Entity Catalogs</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/concepts/mrustore.html">MRUMemoryStore</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/concepts/persistence.html">Persistence</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/concepts/storejanitor.html">StoreJanitor</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/concepts/xmlsearching.html">XML Searching</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/concepts/validation.html">XML Validation</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/concepts/databases.html">Databases</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/concepts/modules.html">Modules</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/concepts/modules-ref.html">Modules Reference</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/concepts/redirection.html">Redirection</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/concepts/profiler.html">Profiler</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/concepts/errorhandling.html">Error Handling</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.3', '../../../skin/')" id="menu_1.2.5.3Title" class="menutitle">Sitemap Components</div>
+<div id="menu_1.2.5.3" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.2.5.3.1', '../../../skin/')" id="menu_1.2.5.3.1Title" class="menutitle">Generators</div>
+<div id="menu_1.2.5.3.1" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/generators.html">Overview</a>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.3.1.2', '../../../skin/')" id="menu_1.2.5.3.1.2Title" class="menutitle">Default</div>
+<div id="menu_1.2.5.3.1.2" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/default/file-generator.html">File Generator</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.3.1.3', '../../../skin/')" id="menu_1.2.5.3.1.3Title" class="menutitle">Core</div>
+<div id="menu_1.2.5.3.1.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/calendar-generator.html">Calendar Generator</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/directory-generator.html">Directory Generator</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/file-generator.html">File Generator</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/imagedirectory-generator.html">Imagedirectory Generator</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/jx-generator.html">Jx Generator</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/linkstatus-generator.html">Linkstatus Generator</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/mp3directory-generator.html">MP3directory Generator</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/error-generator.html">Notifying Generator</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/request-generator.html">Request Generator</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/sessionattribute-generator.html">SessionAttribute Generator</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/status-generator.html">Status Generator</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/stream-generator.html">Stream Generator</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/xpathdirectory-generator.html">Xpathdirectory Generator</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.3.1.4', '../../../skin/')" id="menu_1.2.5.3.1.4Title" class="menutitle">Optional</div>
+<div id="menu_1.2.5.3.1.4" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/extractor-generator.html">Fragment Extractor Generator</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/html-generator.html">HTML Generator</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/jsp-generator.html">JSP Generator</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/php-generator.html">PHP Generator</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/profile-generator.html">Profile Generator</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/script-generator.html">Script Generator</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/search-generator.html">Search Generator</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/serverpages-generator.html">Server Pages Generator</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/velocity-generator.html">Velocity Generator</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/wsproxy-generator.html">Web Service Proxy Generator</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/xmldbcollection-generator.html">XML:DB Collection Generator</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/xmldb-generator.html">XML:DB Generator</a>
+</div>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.3.2', '../../../skin/')" id="menu_1.2.5.3.2Title" class="menutitle">Transformers</div>
+<div id="menu_1.2.5.3.2" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/transformers.html">Overview</a>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.3.2.2', '../../../skin/')" id="menu_1.2.5.3.2.2Title" class="menutitle">Default</div>
+<div id="menu_1.2.5.3.2.2" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/default/xslt-transformer.html">XSLT Transformer</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.3.2.3', '../../../skin/')" id="menu_1.2.5.3.2.3Title" class="menutitle">Core</div>
+<div id="menu_1.2.5.3.2.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/extractor-transformer.html">Fragment Extractor Transformer</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/i18nTransformer.html">I18n Transformer</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/jpath-transformer.html">JPath Transformer</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/log-transformer.html">Log Transformer</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/filter-transformer.html">Filter Transformer</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/readdomsession-transformer.html">Read DOM Session Transformer</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/rolefilter-transformer.html">RoleFilter Transformer</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/simpleform-transformer.html">SimpleForm Transformer</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/simpleforminstance-transformer.html">SimpleFormInstance Transformer</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/writedomsession-transformer.html">Write DOM Session Transformer</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/xinclude-transformer.html">Xinclude Transformer</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/cinclude-transformer.html">Cinclude Transformer</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/encodeurl-transformer.html">EncodeUrl Transformer</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/sourcewriting-transformer.html">Sourcewriting Transformer</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/augment-transformer.html">Augment Transformer</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/jx-template-transformer.html">JX Template Transformer</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/xslt-transformer.html">XSLT Transformer</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.3.2.4', '../../../skin/')" id="menu_1.2.5.3.2.4Title" class="menutitle">Optional</div>
+<div id="menu_1.2.5.3.2.4" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/ldap-transformer.html">LDAP Transformer</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/lexer-transformer.html">Lexical Transformer</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/parser-transformer.html">Parser Transformer</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/pattern-transformer.html">Pattern Transformer</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/session.html">Session Transformer</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/sql-transformer.html">SQL Transformer</a>
+</div>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.3.3', '../../../skin/')" id="menu_1.2.5.3.3Title" class="menutitle">Serializers</div>
+<div id="menu_1.2.5.3.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/serializers.html">Overview</a>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.3.3.2', '../../../skin/')" id="menu_1.2.5.3.3.2Title" class="menutitle">Default</div>
+<div id="menu_1.2.5.3.3.2" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/default/html-serializer.html">HTML Serializer</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.3.3.3', '../../../skin/')" id="menu_1.2.5.3.3.3Title" class="menutitle">Core</div>
+<div id="menu_1.2.5.3.3.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/html-serializer.html">HTML Serializer</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/xhtml-serializer.html">XHTML Serializer</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/xml-serializer.html">XML Serializer</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/text-serializer.html">Text Serializer</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/wap-serializer.html">WAP/WML Serializer</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/svg-serializer.html">SVG Serializer</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/svgxml-serializer.html">SVG/XML Serializer</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/svgjpeg-serializer.html">SVG/JPEG Serializer</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/svgpng-serializer.html">SVG/PNG Serializer</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/svgtiff-serializer.html">SVG/TIFF Serializer</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/vrml-serializer.html">VRML Serializer</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/link-serializer.html">Link Serializer</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/ziparchive-serializer.html">Zip archive Serializer</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.3.3.4', '../../../skin/')" id="menu_1.2.5.3.3.4Title" class="menutitle">Optional</div>
+<div id="menu_1.2.5.3.3.4" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/pdf-serializer.html">PDF Serializer</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/ps-serializer.html">PS Serializer</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/pcl-serializer.html">PCL Serializer</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/xls-serializer.html">HSSF (XLS) Serializer</a>
+</div>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.3.4', '../../../skin/')" id="menu_1.2.5.3.4Title" class="menutitle">Matchers</div>
+<div id="menu_1.2.5.3.4" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/matchers.html">Overview</a>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.3.4.2', '../../../skin/')" id="menu_1.2.5.3.4.2Title" class="menutitle">Default</div>
+<div id="menu_1.2.5.3.4.2" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/default/wildcarduri-matcher.html">WildCard URI Matcher</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.3.4.3', '../../../skin/')" id="menu_1.2.5.3.4.3Title" class="menutitle">Core</div>
+<div id="menu_1.2.5.3.4.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/core/wildcarduri-matcher.html">WildCard URI Matcher</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/core/wildcardheader-matcher.html">WildCard Header Matcher</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.3.4.4', '../../../skin/')" id="menu_1.2.5.3.4.4Title" class="menutitle">Optional</div>
+<div id="menu_1.2.5.3.4.4" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/optional/template-matcher.html">Template Matcher</a>
+</div>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.3.5', '../../../skin/')" id="menu_1.2.5.3.5Title" class="menutitle">Selectors</div>
+<div id="menu_1.2.5.3.5" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/selectors.html">Overview</a>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.3.5.2', '../../../skin/')" id="menu_1.2.5.3.5.2Title" class="menutitle">Default</div>
+<div id="menu_1.2.5.3.5.2" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/default/browser-selector.html">Browser Selector</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.3.5.3', '../../../skin/')" id="menu_1.2.5.3.5.3Title" class="menutitle">Core</div>
+<div id="menu_1.2.5.3.5.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/browser-selector.html">Browser Selector</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/host-selector.html">Host Selector</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/parameter-selector.html">Parameter Selector</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/requestattribute-selector.html">Request Attribute Selector</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/requestmethod-selector.html">Request Method Selector</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/requestparameter-selector.html">Request Parameter Selector</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/resourceexists-selector.html">Resource Exists Selector</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/regular-expression-header-selector.html">Regular-expression Header Selector</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.3.5.4', '../../../skin/')" id="menu_1.2.5.3.5.4Title" class="menutitle">Scratchpad</div>
+<div id="menu_1.2.5.3.5.4" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/scratchpad/date-selector.html">Date Selector</a>
+</div>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.3.6', '../../../skin/')" id="menu_1.2.5.3.6Title" class="menutitle">Actions</div>
+<div id="menu_1.2.5.3.6" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/actions.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/database-actions.html">Database</a>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.3.6.3', '../../../skin/')" id="menu_1.2.5.3.6.3Title" class="menutitle">Optional</div>
+<div id="menu_1.2.5.3.6.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/optional/sendmail-action.html">Sendmail Action</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/optional/session-action.html">Session Action</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/optional/script-action.html">Script Action</a>
+</div>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.3.7', '../../../skin/')" id="menu_1.2.5.3.7Title" class="menutitle">Readers</div>
+<div id="menu_1.2.5.3.7" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/readers.html">Overview</a>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.3.7.2', '../../../skin/')" id="menu_1.2.5.3.7.2Title" class="menutitle">Default</div>
+<div id="menu_1.2.5.3.7.2" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/default/resource-reader.html">Resource Reader</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.3.7.3', '../../../skin/')" id="menu_1.2.5.3.7.3Title" class="menutitle">Core</div>
+<div id="menu_1.2.5.3.7.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/core/image-reader.html">Image Reader</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/core/resource-reader.html">Resource Reader</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.3.7.4', '../../../skin/')" id="menu_1.2.5.3.7.4Title" class="menutitle">Optional</div>
+<div id="menu_1.2.5.3.7.4" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/optional/axisrpc-reader.html">AxisRPC Reader</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/optional/database-reader.html">Database Reader</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/optional/jsp-reader.html">JSP Reader</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.3.7.5', '../../../skin/')" id="menu_1.2.5.3.7.5Title" class="menutitle">Scratchpad</div>
+<div id="menu_1.2.5.3.7.5" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/scratchpad/directoryziparchiver-reader.html">Directory ZIP Archiver</a>
+</div>
+</div>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_selected_1.2.5.4', '../../../skin/')" id="menu_selected_1.2.5.4Title" class="menutitle" style="background-image: url('../../../skin/images/chapter_open.gif');">Flow</div>
+<div id="menu_selected_1.2.5.4" class="selectedmenuitemgroup" style="display: block;">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/flow/index.html">Introduction</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/flow/continuations.html">Continuations</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/flow/how-does-it-work.html">How does it work?</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/flow/using.html">Usage</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/flow/tutor.html">Tutorial</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/flow/sitemap.html">Sitemap</a>
+</div>
+<div class="menupage">
+<div class="menupagetitle">Flowscript</div>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/flow/java.html">Calling Java</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/flow/views.html">Views</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/flow/jxtemplate.html">JXTemplate</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/flow/jpath.html">JPath</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/flow/velocity.html">Velocity</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.5', '../../../skin/')" id="menu_1.2.5.5Title" class="menutitle">Cocoon Forms</div>
+<div id="menu_1.2.5.5" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.2.5.5.1', '../../../skin/')" id="menu_1.2.5.5.1Title" class="menutitle">Basics</div>
+<div id="menu_1.2.5.5.1" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/basics/index.html">Introduction</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/basics/sample.html">Sample</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/basics/improving_sample.html">Improving the sample</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.5.2', '../../../skin/')" id="menu_1.2.5.5.2Title" class="menutitle">Widgets</div>
+<div id="menu_1.2.5.5.2" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/widgets/widget_form.html">form</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/widgets/widget_field.html">field</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/widgets/widget_multivaluefield.html">multivaluefield</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/widgets/widget_booleanfield.html">booleanfield</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/widgets/widget_repeater.html">repeater</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/widgets/widget_output.html">output</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/widgets/widget_submit.html">submit</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/widgets/widget_action.html">action</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/widgets/widget_repeater_action.html">repeater-action</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/widgets/widget_row_action.html">row-action</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/widgets/widget_aggregatefield.html">aggregatefield</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/widgets/widget_upload.html">upload</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/widgets/widget_messages.html">messages</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/widgets/widget_imagemap.html">imagemap</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/widgets/widget_tree.html">tree</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/widgets/widget_group.html">group/struct</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/widgets/widget_union.html">union</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/widgets/widget_class.html">class/new</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.5.3', '../../../skin/')" id="menu_1.2.5.5.3Title" class="menutitle">Widget Concepts</div>
+<div id="menu_1.2.5.5.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/widgetconcepts/validation.html">Validation</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/widgetconcepts/eventhandling.html">Event Handling</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/widgetconcepts/datatypes.html">Datatypes</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/widgetconcepts/selectionlists.html">Selection lists</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/widgetconcepts/widgetstates.html">Widget states</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.5.4', '../../../skin/')" id="menu_1.2.5.5.4Title" class="menutitle">Form Publishing</div>
+<div id="menu_1.2.5.5.4" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.2.5.5.4.1', '../../../skin/')" id="menu_1.2.5.5.4.1Title" class="menutitle">Templating</div>
+<div id="menu_1.2.5.5.4.1" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/publishing/templating.html">Section Home</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/publishing/templating/templategenerator.html">Template Generator</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/publishing/templating/templatetransformer.html">Template Transformer</a>
+</div>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/publishing/formsgenerator.html">Generator</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/publishing/xslt.html">XSLT</a>
+</div>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/binding.html">Binding Framework</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/xmlbinding.html">Simple XML Binding</a>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.5.7', '../../../skin/')" id="menu_1.2.5.5.7Title" class="menutitle">API</div>
+<div id="menu_1.2.5.5.7" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/api/api_javascript.html">Javascript (Flowscript)</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/api/api_java.html">Java</a>
+</div>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/formlibraries.html">Form libraries</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/ajax.html">Ajax</a>
+</div>
+<div class="menuitem">
+<a href="http://wiki.apache.org/cocoon/Forms">Forms @ Wiki</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.6', '../../../skin/')" id="menu_1.2.5.6Title" class="menutitle">XSP</div>
+<div id="menu_1.2.5.6" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/index.html">Overview</a>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.6.2', '../../../skin/')" id="menu_1.2.5.6.2Title" class="menutitle">XSP</div>
+<div id="menu_1.2.5.6.2" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/xsp.html">Section Home</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/xsp/logicsheet.html">XSP Guide</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/xsp/xsp-internals.html">XSP Internals</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/xsp/logicsheet-concepts.html">XSP Logicsheets</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/xsp/sessions.html">Sessions</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.6.3', '../../../skin/')" id="menu_1.2.5.6.3Title" class="menutitle">Logicsheets</div>
+<div id="menu_1.2.5.6.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/logicsheets/request.html">Request</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/logicsheets/session.html">Session</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/logicsheets/esql.html">ESQL</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/logicsheets/logicsheet-forms.html">Forms</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/logicsheets/sendmail.html">Sendmail</a>
+</div>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.5.7', '../../../skin/')" id="menu_1.2.5.7Title" class="menutitle">Offline</div>
+<div id="menu_1.2.5.7" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/userdocs/offline/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/offline/cli.html">Command Line</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/offline/configuration.html">CLI Configuration</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/offline/ant.html">Ant</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/userdocs/offline/bean.html">Cocoon Bean</a>
+</div>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.6', '../../../skin/')" id="menu_1.2.6Title" class="menutitle">Developer's Guide</div>
+<div id="menu_1.2.6" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/developing/index.html">Index</a>
+</div>
+<div onclick="SwitchMenu('menu_1.2.6.2', '../../../skin/')" id="menu_1.2.6.2Title" class="menutitle">Concepts</div>
+<div id="menu_1.2.6.2" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/developing/httprequest.html">Internals</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/developing/extending.html">Extending</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/developing/avalon.html">Avalon</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/developing/source.html">Source Handling</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/developing/stores.html">Stores</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/developing/datasources.html">Using Databases</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/developing/parent-component-manager.html">Parent CM</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/developing/deliquick.html">DELI Quick Start</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/developing/deli.html">DELI</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.6.3', '../../../skin/')" id="menu_1.2.6.3Title" class="menutitle">Developing Webapps</div>
+<div id="menu_1.2.6.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/developing/webapps/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/developing/webapps/session.html">Sessions</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/developing/webapps/contexts.html">Session Contexts</a>
+</div>
+<div onclick="SwitchMenu('menu_1.2.6.3.4', '../../../skin/')" id="menu_1.2.6.3.4Title" class="menutitle">Authentication</div>
+<div id="menu_1.2.6.3.4" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/developing/webapps/authentication.html">Section Home</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/developing/webapps/authentication/authentication-handler.html">The Authentication Handler</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/developing/webapps/authentication/authenticating_user.html">Authenticating a User</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/developing/webapps/authentication/user_management.html">User Management</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/developing/webapps/authentication/application_management.html">Application Management</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/developing/webapps/authentication/module_management.html">Module Management</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/developing/webapps/authentication/user_administration.html">User Administration</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/developing/webapps/authentication/summary.html">Configuration Summary</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/developing/webapps/authentication/pipeline_patterns.html">Pipeline Patterns</a>
+</div>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/developing/webapps/forms.html">Simple Forms</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/developing/webapps/portal.html">Portal FW</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.6.4', '../../../skin/')" id="menu_1.2.6.4Title" class="menutitle">Building a portal using the Portal Engine</div>
+<div id="menu_1.2.6.4" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/developing/portal/index.html">Index</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/developing/portal/portal-block.html">Portal Engine</a>
+</div>
+<div onclick="SwitchMenu('menu_1.2.6.4.3', '../../../skin/')" id="menu_1.2.6.4.3Title" class="menutitle">Configuring Coplets</div>
+<div id="menu_1.2.6.4.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/developing/portal/coplets.html">Section Home</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/developing/portal/coplets/uricoplet.html">The URICoplet</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/developing/portal/coplets/cachinguricoplet.html">The CachingURICoplet</a>
+</div>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/developing/portal/layout_skins.html">Layout and Skins</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/developing/portal/events.html">Event Handling</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/developing/portal/profiles.html">Profiles</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/developing/portal/wsrp.html">WSRP Support</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/developing/portal/authentication.html">Authentication</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/developing/portal/forms.html">Form handling</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/developing/portal/basket.html">A Basket</a>
+</div>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/developing/web3.html">Connect to SAP R/3</a>
+</div>
+<div class="menuitem">
+<a href="http://cocoon.apache.org/2.1/apidocs/index.html">API (Javadoc)</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.7', '../../../skin/')" id="menu_1.2.7Title" class="menutitle">Tutorials</div>
+<div id="menu_1.2.7" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/tutorial/index.html">Index</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/tutorial/tutorial-develop-webapp.html">WebApp</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/tutorial/tutorial-generator.html">Custom Generator</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/tutorial/tutorial-shots.html">Tutorial screenshots</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/tutorial/tutorial-rmi-generator.html">RMIServer</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.8', '../../../skin/')" id="menu_1.2.8Title" class="menutitle">FAQ</div>
+<div id="menu_1.2.8" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/faq/index.html">Index</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/faq/faq-install.html">Install</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/faq/faq-configure-environment.html">Configure</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/faq/faq-cvs.html">CVS/SVN</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/faq/faq-configure-c2.html">Configure C2</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/faq/faq-databases.html">Databases</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/faq/faq-xsp.html">XSP</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/faq/faq-xslt.html">XSLT</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/faq/faq-debugging.html">Debugging</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/faq/faq-sitemap.html">Sitemap</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/faq/faq-generators.html">Generators</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/faq/faq-transformers.html">Transformers</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/faq/faq-serializers.html">Serializers</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/faq/faq-matchers.html">Matchers</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/faq/faq-selectors.html">Selectors</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/faq/faq-actions.html">Actions</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/faq/faq-aggregators.html">Aggregators</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.9', '../../../skin/')" id="menu_1.2.9Title" class="menutitle">How Tos</div>
+<div id="menu_1.2.9" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/howto/index.html">Index</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/howto/howto-explore-samples.html">Samples</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/howto/howto-paginator-transformer.html">Paginator</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/howto/howto-html-pdf-publishing.html">HTML-PDF</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/howto/wsproxy-generator.html">Web Syndication</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/howto/howto-flow-debugger.html">Flow Debugger</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/howto/howto-author-howto.html">Author How-To</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/howto/howto-author-faq.html">Author FAQ</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/howto/howto-author-snippet.html">Author Snippet</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/howto/howto-author-core-docs.html">Author Docs</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/howto/howto-patch.html">Prepare patch</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/howto/howto-bugzilla.html">Bugzilla</a>
+</div>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/performancetips.html">Performance</a>
+</div>
+<div onclick="SwitchMenu('menu_1.2.11', '../../../skin/')" id="menu_1.2.11Title" class="menutitle">Snippets</div>
+<div id="menu_1.2.11" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/snippet/index.html">Index</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/snippet/snippet-xslt-options.html">XSLT Processor Options</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/snippet/snippet-internal-pipeline.html">Internal Pipeline</a>
+</div>
+</div>
+<div class="menuitem">
+<a href="http://wiki.apache.org/cocoon/">Wiki Docs</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.3', '../../../skin/')" id="menu_1.3Title" class="menutitle">Status</div>
+<div id="menu_1.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/changes.html">Changes</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/todo.html">To Do</a>
+</div>
+<div onclick="SwitchMenu('menu_1.3.3', '../../../skin/')" id="menu_1.3.3Title" class="menutitle">Planning Notes</div>
+<div id="menu_1.3.3" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.3.3.1', '../../../skin/')" id="menu_1.3.3.1Title" class="menutitle">Overview</div>
+<div id="menu_1.3.3.1" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/plan/overview/index.html">Planning Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/plan/overview/roadmap.html">Roadmap</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.3.3.2', '../../../skin/')" id="menu_1.3.3.2Title" class="menutitle">Documentation</div>
+<div id="menu_1.3.3.2" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/plan/documentation/doc.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/plan/documentation/linkstatus.html">Fix broken links</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.3.3.3', '../../../skin/')" id="menu_1.3.3.3Title" class="menutitle">Other Planning</div>
+<div id="menu_1.3.3.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/plan/otherplanning/release.html">Release Plan</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/plan/otherplanning/samples.html">Cocoon Samples</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/plan/otherplanning/proposed-toc.html">Proposed TOC</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/plan/otherplanning/updating.html">Updating Cocoon</a>
+</div>
+</div>
+</div>
+<div class="menuitem">
+<a href="http://issues.apache.org/jira/browse/COCOON">Patch queue</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.4', '../../../skin/')" id="menu_1.4Title" class="menutitle">Community</div>
+<div id="menu_1.4" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../2.1/bylaws-addendum.html">Cocoon Bylaws</a>
+</div>
+<div class="menuitem">
+<a href="../../../2.1/who.html">Hall of Fame</a>
+</div>
+<div class="menuitem">
+<a href="http://cocoon.apache.org/community/contrib.html">Contributing</a>
+</div>
+<div class="menuitem">
+<a href="http://cocoon.apache.org/community/mail-lists.html">Mail Lists</a>
+</div>
+<div class="menuitem">
+<a href="http://cocoon.apache.org/community/mail-archives.html">Mail Archives</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.5', '../../../skin/')" id="menu_1.5Title" class="menutitle">Project</div>
+<div id="menu_1.5" class="menuitemgroup">
+<div class="menuitem">
+<a href="http://issues.apache.org/jira/browse/COCOON">Bug Database</a>
+</div>
+<div class="menuitem">
+<a href="http://svn.apache.org/viewcvs.cgi/cocoon/branches/BRANCH_2_1_X/?root=Apache-SVN">Code Repository</a>
+</div>
+<div class="menuitem">
+<a href="http://cocoon.apache.org/mirror.cgi#nightly">Dev Snapshots</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.6', '../../../skin/')" id="menu_1.6Title" class="menutitle">Other Releases</div>
+<div id="menu_1.6" class="menuitemgroup">
+<div class="menuitem">
+<a href="http://cocoon.apache.org/1.x/">Cocoon 1.x</a>
+</div>
+<div class="menuitem">
+<a href="http://cocoon.apache.org/2.0/">Cocoon 2.0</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.7', '../../../skin/')" id="menu_1.7Title" class="menutitle">External</div>
+<div id="menu_1.7" class="menuitemgroup">
+<div class="menuitem">
+<a href="http://wiki.apache.org/cocoon/GT2005Hackaton">2005 Get Together</a>
+</div>
+</div>
+<div id="credit"></div>
+<div id="roundbottom">
+<img style="display: none" class="corner" height="15" width="15" alt="" src="../../../skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
+<!--+
+  |alternative credits
+  +-->
+<div id="credit2">
+<a href="http://apachecon.com/"><img border="0" title="ApacheCon US 2005" alt="ApacheCon US 2005 - logo" src="http://apache.org/images/ac2005us_blue_125x125.jpg" style="width: 125px;height: 125px;"></a>
+</div>
+</div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
+<div id="content">
+<h1>Advanced Control Flow - Flowscript</h1>
+<a name="N10007"></a><a name="Flowscript"></a>
+<h2 class="h3">Flowscript</h2>
+<div class="section">
+<p>Cocoon Flowscript is a JavaScript API to manage control flow based on an
+<a class="external" href="http://svn.cocoondev.org/viewsvn/?root=rhino%2Bcont">extended</a>
+version of the <a class="external" href="http://www.mozilla.org/rhino">Mozilla Rhino</a>
+JavaScript interpreter that supports continuations. This extension has been
+incorporated into official Mozilla Rhino version and is shipped with Cocoon 2.2.
+</p>
+</div>
+<a name="N10015"></a><a name="Flow+Object+Model"></a>
+<h2 class="h3">Flow Object Model</h2>
+<div class="section">
+<p>Cocoon provides a set of system objects for use by Flowscripts. We call this
+set of objects the <em>Flow Object Model</em> (FOM). The Flow Object Model
+consists of the following objects:</p>
+<ul>
+
+<li>
+<a href="#cocoon">Cocoon</a>
+</li>
+
+<li>
+<a href="#request">Request</a>
+</li>
+
+<li>
+<a href="#response">Response</a>
+</li>
+
+<li>
+<a href="#session">Session</a>
+</li>
+
+<li>
+<a href="#context">Context</a>
+</li>
+
+<li>
+<a href="#cookie">Cookie</a>
+</li>
+
+<li>
+<a href="#log">Log</a>
+</li>
+
+<li>
+<a href="#WebContinuation">WebContinuation</a>
+</li>
+
+</ul>
+<a name="N10048"></a><a name="Cocoon+Object"></a>
+<h3 class="h4">Cocoon Object</h3>
+<p>The <tt>Cocoon</tt> object represents the current Cocoon Sitemap. This is the
+entry point into the FOM. There is one instance of <tt>Cocoon</tt> which you may
+access in your scripts as the global variable <tt>cocoon</tt>, for example like
+this:</p>
+<pre>      var value = cocoon.request.getAttribute("blah");
+    </pre>
+<p>The <tt>Cocoon</tt> object supports the following properties and functions:
+</p>
+<a name="N1005E"></a><a name="request"></a>
+<h4>request</h4>
+<p>The current Cocoon request:</p>
+<p>
+<em>Property</em> [<a href="#request">Request</a>] <tt>request</tt>
+</p>
+<a name="N1006E"></a><a name="response"></a>
+<h4>response</h4>
+<p>The current Cocoon response:</p>
+<p>
+<em>Property</em> [<a href="#response">Response</a>] <tt>response</tt>
+</p>
+<a name="N1007E"></a><a name="session"></a>
+<h4>session</h4>
+<p>The current Cocoon session:</p>
+<p>
+<em>Property</em> [<a href="#session">Session</a>] <tt>session</tt>
+</p>
+<a name="N1008E"></a><a name="context"></a>
+<h4>context</h4>
+<p>The current Cocoon application context:</p>
+<p>
+<em>Property</em> [<a href="#context">Context</a>] <tt>context</tt>
+</p>
+<a name="N1009E"></a><a name="log"></a>
+<h4>log</h4>
+<p>A reference to the current logger:</p>
+<p>
+<em>Property</em> [<a href="#log">Log</a>] <tt>log</tt>
+</p>
+<a name="N100AE"></a><a name="parameters"></a>
+<h4>parameters</h4>
+<p>Any parameters passed to the script by the Cocoon Sitemap</p>
+<p>
+<em>Property</em> <tt>[Object] parameters</tt>
+</p>
+<a name="N100BA"></a><a name="sendPage"></a>
+<h4>sendPage</h4>
+<p>
+<em>Function</em> <tt>sendPage([String] uri, [Object] bean)</tt>
+</p>
+<p>Passes control to the Cocoon sitemap to generate the output page.</p>
+<p>
+<tt>uri</tt> is the sitemap URI of the page to be sent back to the client. If
+the URI starts with a slash, it is resolved starting at the root sitemap,
+otherwise it is resolved relative to the current sitemap. The URI should not
+contain a scheme (such as cocoon:).</p>
+<p>
+<tt>bean</tt> is a context object which can be accessed either inside this
+page to extract various values and place them in the generated page or in the
+sitemap to use values as parameters for actions or transformers.</p>
+<div class="frame note">
+<div class="label">Note</div>
+<div class="content">Use <tt>value="{flow-attribute:name}"</tt> in any parameter tag
+in the sitemap to access a value from the bean.</div>
+</div>
+<a name="N100D9"></a><a name="sendPageAndWait"></a>
+<h4>sendPageAndWait</h4>
+<p>
+<em>Function</em> <tt>[WebContinuation] sendPageAndWait([String] uri,
+[Object] bean, [Function] postPipelineCode, [Number] timeToLive)</tt>
+</p>
+<p>Passes control to the Cocoon sitemap to generate the output page.</p>
+<p>The flow script is suspended after the page is generated and the whole
+execution stack saved in the WebContinuation object returned from this function.
+</p>
+<p>
+<tt>uri</tt> is the relative URL of the page to be sent back to the client.
+If the URI starts with a slash, it is resolved starting at the root sitemap,
+otherwise it is resolved relative to the current sitemap. The URI should not
+contain a scheme (such as cocoon:).</p>
+<p>
+<tt>bean</tt> is a context object which can be accessed either inside this
+page to extract various values and place them in the generated page or in the
+sitemap to use values as parameters for actions or transformers.</p>
+<div class="frame note">
+<div class="label">Note</div>
+<div class="content">Use <tt>value="{flow-attribute:name}"</tt> in any parameter tag
+in the sitemap to access a value from the bean.</div>
+</div>
+<p>If provided, the <tt>postPipelineCode</tt> function will be executed after
+pipeline processing is complete but before the script is suspended. You can use
+this to release resources that are needed during the pipeline processing but
+should not become part of the continuation. For example:</p>
+<pre>function processPage() {
+   var id = ...
+   var bizData = ...
+   var uri = ...
+   var comp = cocoon.getComponent(id);
+   // use comp
+   ...
+   cocoon.sendPageAndWait(uri, bizData, function() {
+      cocoon.releaseComponent(comp);
+      comp = null;
+   });
+}
+</pre>
+<p>
+<tt>timeToLive</tt> is the time to live in milliseconds for the continuation
+created.</p>
+<p>The return value is the <a href="#WebContinuation">continuation</a> object.
+</p>
+<a name="N1010B"></a><a name="sendStatus"></a>
+<h4>sendStatus</h4>
+<p>
+<em>Function</em> <tt>sendStatus([Number] sc)</tt>
+</p>
+<p>Sends an empty response with the provided HTTP status code.</p>
+<a name="N10117"></a><a name="createPageLocal"></a>
+<h4>createPageLocal</h4>
+<p>
+<em>Function</em> <tt>[Object] createPageLocal()</tt>
+</p>
+<p>Creates a <em>Page Local</em> object. The returned object behaves like a
+normal JavaScript object, but restores the property values it had when
+<a href="#sendPageAndWait">sendPageAndWait</a> was originally called, each time
+a page is resubmitted (e.g. after hitting the back button). Such objects can be
+used to associate state with one particular page sent to the browser.</p>
+<a name="N1012A"></a><a name="processPipelineTo"></a>
+<h4>processPipelineTo</h4>
+<p>
+<em>Function</em> <tt>processPipelineTo([String] uri, [Object] bizData,
+[java.io.OutputStream] stream)</tt>
+</p>
+<p>Call the Cocoon sitemap for the given URI, sending the output of the
+eventually matched pipeline to the specified <tt>OutputStream</tt>.</p>
+<p>
+<tt>uri</tt> is the URI for which the request should be generated. If the URI
+starts with a slash, it is resolved starting at the root sitemap, otherwise it
+is resolved relative to the current sitemap. The URI should not contain a scheme
+(such as cocoon:).</p>
+<p>
+<tt>bizData</tt> is the business data object to be made available to the
+forwarded pipeline</p>
+<p>
+<tt>stream</tt> is an <tt>OutputStream</tt> where the output should be
+written to.</p>
+<a name="N10148"></a><a name="redirectTo"></a>
+<h4>redirectTo</h4>
+<p>
+<em>Function</em> <tt>redirectTo([String] uri)</tt>
+</p>
+<p>Send a client-side redirect to the browser. The <tt>uri</tt> argument is the
+URI to which the browser should be redirected.</p>
+<a name="N10157"></a><a name="createWebContinuation"></a>
+<h4>createWebContinuation</h4>
+<p>
+<em>Function</em> <tt>[WebContinuation] createWebContinuation()</tt>
+</p>
+<p>Creates a new "bookmark" <a href="#WebContinuation">WebContinuation</a>
+object. When invoked it will cause the script to resume right after the call. By
+calling this function prior to sendPageAndWait() you can be create a "bookmark"
+which will cause the page to be redisplayed in the browser. Note: the
+WebContinuation associated with sendPageAndWait() doesn't do this. Rather it
+resumes execution after the the page is submitted.</p>
+<p>For example:</p>
+<pre>function processPage() {
+
+  var bkm = cocoon.createWebContinuation();
+  var biz = getBizData();
+  cocoon.sendPageAndWait("uri",
+                         {bookmark: bkm, biz: biz},
+                         function() { releaseData(biz); });
+}
+</pre>
+<a name="N1016B"></a><a name="load"></a>
+<h4>load</h4>
+<p>
+<em>Function</em> <tt>load([String] uri)</tt>
+</p>
+<p>Load the JavaScript script specified by <tt>uri</tt>. The Cocoon source
+resolver is used to resolve <tt>uri</tt>.</p>
+<a name="N1017D"></a><a name="getComponent"></a>
+<h4>getComponent</h4>
+<p>
+<em>Function</em> <tt>Object getComponent([String] id)</tt>
+</p>
+<p>Access an Avalon component.</p>
+<a name="N10189"></a><a name="releaseComponent"></a>
+<h4>releaseComponent</h4>
+<p>
+<em>Function</em> <tt>releaseComponent([Object] component)</tt>
+</p>
+<p>Release a pooled Avalon component.</p>
+<a name="N10195"></a><a name="createObject"></a>
+<h4>createObject</h4>
+<p>
+<em>Function</em> <tt>createObject([JavaClass] componentClass)</tt>
+</p>
+<p>Create and setup an object so that it can access the information provided to
+regular components. This is done by calling the various Avalon lifecycle
+interfaces implemented by the object.</p>
+<a name="N101A1"></a><a name="disposeObject"></a>
+<h4>disposeObject</h4>
+<p>
+<em>Function</em> <tt>disposeObject([Object] object)</tt>
+</p>
+<p>Dispose an object that has been created using <tt>createObject</tt>.</p>
+<a name="N101B0"></a><a name="exit"></a>
+<h4>exit</h4>
+<p>
+<em>Function</em> exit()</p>
+<p>Exit the current flowscript invocation.</p>
+<p>There are some flowscript use cases where we want to stop the current
+flowscript without creating a continuation, as we don't want the user to go back
+to the script and return from the current function.</p>
+<p>An example is a "login" function where the caller function expects this
+function to exit only if login is successful, but that has to handle e.g. a
+registration process that includes a "cancel" button.</p>
+<a name="N101BE"></a><a name="Request+Object"></a>
+<h3 class="h4">Request Object</h3>
+<p>The <tt>Request</tt> object represents the current Cocoon request. It
+provides the following functions and properties:</p>
+<a name="N101C7"></a><a name="get"></a>
+<h4>get</h4>
+<p>
+<em>Function</em> <tt>[String] get([String] name)</tt>
+</p>
+<p>Get the request parameter or attribute with the specified <tt>name</tt>.</p>
+<a name="N101D6"></a><a name="getAttribute"></a>
+<h4>getAttribute</h4>
+<p>
+<em>Function</em> <tt>[String] getAttribute([String] name)</tt>
+</p>
+<p>Get the request attribute with the specified <tt>name</tt>.</p>
+<a name="N101E5"></a><a name="getAttributeNames"></a>
+<h4>getAttributeNames</h4>
+<p>
+<em>Function</em> <tt>[java.util.Enumeration] getAttributeNames()</tt>
+</p>
+<p>Get an enumeration of request attribute names.</p>
+<a name="N101F1"></a><a name="setAttribute"></a>
+<h4>setAttribute</h4>
+<p>
+<em>Function</em> <tt>setAttribute([String] name, [Object] value)</tt>
+</p>
+<p>Set the value of a request attribute.</p>
+<a name="N101FD"></a><a name="removeAttribute"></a>
+<h4>removeAttribute</h4>
+<p>
+<em>Function</em> <tt>removeAttribute([String] name)</tt>
+</p>
+<p>Remove the attribute with the name <tt>name</tt> from this request.</p>
+<a name="N1020C"></a><a name="getCharacterEncoding"></a>
+<h4>getCharacterEncoding</h4>
+<p>
+<em>Function</em> <tt>[String]getCharacterEncoding()</tt>
+</p>
+<p>Return the character encoding used by this request.</p>
+<a name="N10218"></a><a name="setCharacterEncoding"></a>
+<h4>setCharacterEncoding</h4>
+<p>
+<em>Function</em> <tt>setCharacterEncoding([String] value)</tt>
+</p>
+<p>Set the character encoding used by this request.</p>
+<a name="N10224"></a><a name="getContentLength"></a>
+<h4>getContentLength</h4>
+<p>
+<em>Function</em> <tt>[Number] getContentLength()</tt>
+</p>
+<p>Get the content-length of this request</p>
+<a name="N10230"></a><a name="getContentType"></a>
+<h4>getContentType</h4>
+<p>
+<em>Function</em> <tt>[String] getContentType()</tt>
+</p>
+<p>Get the content-type of this request</p>
+<a name="N1023C"></a><a name="getParameter"></a>
+<h4>getParameter</h4>
+<p>
+<em>Function</em> <tt>[String] getParameter([String] name)</tt>
+</p>
+<p>Get the request parameter with the specified <tt>name</tt>.</p>
+<a name="N1024B"></a><a name="getParameterValues"></a>
+<h4>getParameterValues</h4>
+<p>
+<em>Function</em> <tt>[Array] getParameterValues([String] name)</tt>
+</p>
+<p>Get an array of request parameters with the specified <tt>name</tt>.</p>
+<a name="N1025A"></a><a name="getParameterNames"></a>
+<h4>getParameterNames</h4>
+<p>
+<em>Function</em> <tt>[java.util.Enumeration] getParameterNames()</tt>
+</p>
+<p>Get an enumeration of the parameter names in this request.</p>
+<a name="N10266"></a><a name="getAuthType"></a>
+<h4>getAuthType</h4>
+<p>
+<em>Function</em> <tt>[String] getAuthType()</tt>
+</p>
+<p>Get the authorization type used in this request.</p>
+<a name="N10272"></a><a name="getProtocol"></a>
+<h4>getProtocol</h4>
+<p>
+<em>Function</em> <tt>[String] getProtocol()</tt>
+</p>
+<p>Get the protocol used in this request.</p>
+<a name="N1027E"></a><a name="getScheme"></a>
+<h4>getScheme</h4>
+<p>
+<em>Function</em> <tt>[String] getScheme()</tt>
+</p>
+<p>Get the scheme used in this request.</p>
+<a name="N1028A"></a><a name="getMethod"></a>
+<h4>getMethod</h4>
+<p>
+<em>Function</em> <tt>[String] getMethod()</tt>
+</p>
+<p>Get the method used in this request.</p>
+<a name="N10296"></a><a name="getServerName"></a>
+<h4>getServerName</h4>
+<p>
+<em>Function</em> <tt>[String] getServerName()</tt>
+</p>
+<p>Get the server name of this request.</p>
+<a name="N102A2"></a><a name="getServerPort"></a>
+<h4>getServerPort</h4>
+<p>
+<em>Function</em> <tt>[Number] getServerPort()</tt>
+</p>
+<p>Get the server port of this request.</p>
+<a name="N102AE"></a><a name="getRemoteAddr"></a>
+<h4>getRemoteAddr</h4>
+<p>
+<em>Function</em> <tt>[String] getRemoteAddr()</tt>
+</p>
+<p>Get the remote address of this request.</p>
+<a name="N102BA"></a><a name="isSecure"></a>
+<h4>isSecure</h4>
+<p>
+<em>Function</em> <tt>[Boolean] isSecure()</tt>
+</p>
+<p>Get the <tt>secure</tt> property of this request.</p>
+<a name="N102C9"></a><a name="getLocale"></a>
+<h4>getLocale</h4>
+<p>
+<em>Function</em> <tt>[String] getLocale()</tt>
+</p>
+<p>Get the locale of this request.</p>
+<a name="N102D5"></a><a name="getLocales"></a>
+<h4>getLocales</h4>
+<p>
+<em>Function</em> <tt>[Array [String]] getLocales()</tt>
+</p>
+<p>Get the locales of this request.</p>
+<a name="N102E1"></a><a name="getCookies"></a>
+<h4>getCookies</h4>
+<p>
+<em>Function</em> <tt>[Array [Cookie]] getCookies()</tt>
+</p>
+<p>Get the cookies associated with this request.</p>
+<a name="N102ED"></a><a name="getHeader"></a>
+<h4>getHeader</h4>
+<p>
+<em>Function</em> <tt>[String] getHeader([String] name)</tt>
+</p>
+<p>Get the header with <tt>name</tt> from this request.</p>
+<a name="N102FC"></a><a name="getHeaders"></a>
+<h4>getHeaders</h4>
+<p>
+<em>Function</em> <tt>[Array] getHeaders()</tt>
+</p>
+<p>Get the headers associated with this request.</p>
+<a name="N10308"></a><a name="getHeaderNames"></a>
+<h4>getHeaderNames</h4>
+<p>
+<em>Function</em> <tt>[java.util.Enumeration] getHeaderNames()</tt>
+</p>
+<p>Get an enumeration of header names from this request.</p>
+<a name="N10314"></a><a name="getRemoteUser"></a>
+<h4>getRemoteUser</h4>
+<p>
+<em>Function</em> <tt>[String] getRemoteUser()</tt>
+</p>
+<p>Get the remote user associated with this request.</p>
+<a name="N10320"></a><a name="getUserPrincipal"></a>
+<h4>getUserPrincipal</h4>
+<p>
+<em>Function</em> <tt>[String] getUserPrincipal()</tt>
+</p>
+<p>Get the user principal associated with this request.</p>
+<a name="N1032C"></a><a name="isUserInRole"></a>
+<h4>isUserInRole</h4>
+<p>
+<em>Function</em> <tt>[Boolean] isUserInRole([String] role)</tt>
+</p>
+<p>Returns whether the user associated with this request is in the specified
+<tt>role</tt>.</p>
+<a name="N1033B"></a><a name="Properties"></a>
+<h4>Properties</h4>
+<p>
+<tt>Request</tt> properties map to request parameters, i.e.
+<tt>request.blah</tt> is equivalent to <tt>request.getParameter("blah")</tt>.
+</p>
+<a name="N10349"></a><a name="Response+Object"></a>
+<h3 class="h4">Response Object</h3>
+<p>The <tt>Response</tt> object represents the Cocoon response associated with
+the current request.</p>
+<p>The response object contains hooks only to the cookies and to the response
+headers. Everything else will be controlled by the rest of the cocoon pipeline
+machinery (like output encoding, for example, which should *NOT* be determined
+by the flow).</p>
+<p>It provides the following functions and properties:</p>
+<a name="N10356"></a><a name="createCookie"></a>
+<h4>createCookie</h4>
+<p>
+<em>Function</em> <tt>[Cookie] createCookie([String] name, [String]
+value)</tt>
+</p>
+<p>Creates a new <a href="#cookie">Cookie</a>.</p>
+<a name="N10366"></a><a name="addCookie"></a>
+<h4>addCookie</h4>
+<p>
+<em>Function</em> <tt>addCookie([Cookie] cookie)</tt>
+</p>
+<p>Adds <tt>cookie</tt> to the current response.</p>
+<a name="N10375"></a><a name="containsHeader"></a>
+<h4>containsHeader</h4>
+<p>
+<em>Function</em> <tt>[Boolean] containsHeader([String] name)</tt>
+</p>
+<p>Returns whether the current response contains a header with the specified
+<tt>name</tt>.</p>
+<a name="N10384"></a><a name="setHeader"></a>
+<h4>setHeader</h4>
+<p>
+<em>Function</em> <tt>setHeader([String] name, [String] value)</tt>
+</p>
+<p>Replaces the value of the header with <tt>name</tt> with <tt>value</tt>.</p>
+<a name="N10396"></a><a name="addHeader"></a>
+<h4>addHeader</h4>
+<p>
+<em>Function</em> <tt>addHeader([String] name, [String] value)</tt>
+</p>
+<p>Creates a new header in the current response with the specified <tt>name</tt>
+and <tt>value</tt>.</p>
+<a name="N103A8"></a><a name="setStatus"></a>
+<h4>setStatus</h4>
+<p>
+<em>Function</em> <tt>setStatus([Number] sc)</tt>
+</p>
+<p>Sets the status code for this response.</p>
+<a name="N103B4"></a><a name="Session+Object"></a>
+<h3 class="h4">Session Object</h3>
+<p>The <tt>Session</tt> object represents the user session associated with the
+current Cocoon request.</p>
+<p>It provides the following functions and properties:</p>
+<a name="N103BF"></a><a name="getAttribute-N103BF"></a>
+<h4>getAttribute</h4>
+<p>
+<em>Function</em> <tt>[Object] getAttribute([String] name)</tt>
+</p>
+<p>Get the value of the session attribute with the specified <tt>name</tt>.</p>
+<a name="N103CE"></a><a name="setAttribute-N103CE"></a>
+<h4>setAttribute</h4>
+<p>
+<em>Function</em> <tt>setAttribute([String] name, [Object] value)</tt>
+</p>
+<p>Set the value of the session attribute with the specified <tt>name</tt> to
+<tt>value</tt>.</p>
+<a name="N103E0"></a><a name="removeAttribute-N103E0"></a>
+<h4>removeAttribute</h4>
+<p>
+<em>Function</em> <tt>removeAttribute([String] name)</tt>
+</p>
+<p>Remove the session attribute with the specified <tt>name</tt>.</p>
+<a name="N103EF"></a><a name="invalidate"></a>
+<h4>invalidate</h4>
+<p>
+<em>Function</em> <tt>invalidate()</tt>
+</p>
+<p>Invalidate this session, releasing all resources associated with it.</p>
+<a name="N103FB"></a><a name="isNew"></a>
+<h4>isNew</h4>
+<p>
+<em>Function</em> <tt>[Boolean] isNew()</tt>
+</p>
+<p>Returns <tt>true</tt> if the client does not yet know about the session or if
+the client chooses not to join the session. For example, if the server used only
+cookie-based sessions, and the client had disabled the use of cookies, then a
+session would be new on each request.</p>
+<a name="N1040A"></a><a name="getId"></a>
+<h4>getId</h4>
+<p>
+<em>Function</em> <tt>[String] getId()</tt>
+</p>
+<p>Returns the unique id associated with this session.</p>
+<a name="N10416"></a><a name="getCreationTime"></a>
+<h4>getCreationTime</h4>
+<p>
+<em>Function</em> <tt>[Number] getCreationTime()</tt>
+</p>
+<p>Returns the time when this session was created, measured in milliseconds
+since midnight January 1, 1970 GMT.</p>
+<a name="N10422"></a><a name="getLastAccessedTime"></a>
+<h4>getLastAccessedTime</h4>
+<p>
+<em>Function</em> <tt>[Number] getLastAccessedTime()</tt>
+</p>
+<p>Returns the last time the client sent a request associated with this session,
+as the number of milliseconds since midnight January 1, 1970 GMT.</p>
+<a name="N1042E"></a><a name="setMaxInactiveInterval"></a>
+<h4>setMaxInactiveInterval</h4>
+<p>
+<em>Function</em> <tt>setMaxInactiveInterval([Number] interval)</tt>
+</p>
+<p>Specifies the time, in seconds, between client requests before the
+contextcontainer will invalidate this session. A negative time indicates the
+session should never timeout.</p>
+<a name="N1043A"></a><a name="getMaxInactiveInterval"></a>
+<h4>getMaxInactiveInterval</h4>
+<p>
+<em>Function</em> <tt>[Number] getMaxInactiveInterval()</tt>
+</p>
+<p>Returns the maximum time interval, in seconds, that the context container
+will keep this session open between client accesses. After this interval, the
+context container will invalidate the session. The maximum time interval can be
+set with the <tt>setMaxInactiveInterval</tt> method. A negative time indicates
+the session should never timeout.</p>
+<a name="N10449"></a><a name="Properties-N10449"></a>
+<h4>Properties</h4>
+<p>
+<tt>Session</tt> properties map to session attributes, i.e.
+<tt>session.blah</tt> is equivalent to <tt>session.getAttribute("blah")</tt>.
+</p>
+<a name="N10457"></a><a name="Context+Object"></a>
+<h3 class="h4">Context Object</h3>
+<p>The <tt>Context</tt> object represents the client context associated with the
+current Cocoon request.</p>
+<p>It provides the following functions and properties:</p>
+<a name="N10462"></a><a name="getAttribute-N10462"></a>
+<h4>getAttribute</h4>
+<p>
+<em>Function</em> <tt>[Object] getAttribute([String] name)</tt>
+</p>
+<p>Get the value of the context attribute with the specified <tt>name</tt>.</p>
+<a name="N10471"></a><a name="setAttribute-N10471"></a>
+<h4>setAttribute</h4>
+<p>
+<em>Function</em> <tt>setAttribute([String] name, [Object] value)</tt>
+</p>
+<p>Set the value of the context attribute with the specified <tt>name</tt> to
+<tt>value</tt>.</p>
+<a name="N10483"></a><a name="removeAttribute-N10483"></a>
+<h4>removeAttribute</h4>
+<p>
+<em>Function</em> <tt>removeAttribute([String] name)</tt>
+</p>
+<p>Remove the context attribute with the specified <tt>name</tt>.</p>
+<a name="N10492"></a><a name="getInitParameter"></a>
+<h4>getInitParameter</h4>
+<p>
+<em>Function</em> <tt>getInitParameter([String] name)</tt>
+</p>
+<p>Get the value of the context initialization parameter with the specified
+<tt>name</tt>.</p>
+<a name="N104A1"></a><a name="Properties-N104A1"></a>
+<h4>Properties</h4>
+<p>
+<tt>Context</tt> properties map to context attributes, i.e.
+<tt>context.blah</tt> is equivalent to <tt>context.getAttribute("blah")</tt>.
+</p>
+<a name="N104AF"></a><a name="Cookie+Object"></a>
+<h3 class="h4">Cookie Object</h3>
+<p>
+<tt>Cookie</tt> provides the following functions and properties:</p>
+<a name="N104B7"></a><a name="getName"></a>
+<h4>getName</h4>
+<p>
+<em>Function</em> <tt>[String] getName()</tt>
+</p>
+<p>Get the name of this cookie.</p>
+<a name="N104C3"></a><a name="getVersion"></a>
+<h4>getVersion</h4>
+<p>
+<em>Function</em> <tt>[String] getVersion()</tt>
+</p>
+<p>Get the version of this cookie.</p>
+<a name="N104CF"></a><a name="setVersion"></a>
+<h4>setVersion</h4>
+<p>
+<em>Function</em> <tt>setVersion([String] version)</tt>
+</p>
+<p>Set the version of this cookie.</p>
+<a name="N104DB"></a><a name="getValue"></a>
+<h4>getValue</h4>
+<p>
+<em>Function</em> <tt>[String] getValue()</tt>
+</p>
+<p>Get the value of this cookie.</p>
+<a name="N104E7"></a><a name="setValue"></a>
+<h4>setValue</h4>
+<p>
+<em>Function</em> <tt>setValue([String] value)</tt>
+</p>
+<p>Set the value of this cookie.</p>
+<a name="N104F3"></a><a name="getComment"></a>
+<h4>getComment</h4>
+<p>
+<em>Function</em> <tt>[String] getComment()</tt>
+</p>
+<p>Get the comment of this cookie.</p>
+<a name="N104FF"></a><a name="setComment"></a>
+<h4>setComment</h4>
+<p>
+<em>Function</em> <tt>setComment([String] comment)</tt>
+</p>
+<p>Set the comment of this cookie.</p>
+<a name="N1050B"></a><a name="getDomain"></a>
+<h4>getDomain</h4>
+<p>
+<em>Function</em> <tt>[String] getDomain()</tt>
+</p>
+<p>Get the domain of this cookie.</p>
+<a name="N10517"></a><a name="setDomain"></a>
+<h4>setDomain</h4>
+<p>
+<em>Function</em> <tt>setDomain([String] domain)</tt>
+</p>
+<p>Set the domain of this cookie.</p>
+<a name="N10523"></a><a name="getPath"></a>
+<h4>getPath</h4>
+<p>
+<em>Function</em> <tt>[String] getPath()</tt>
+</p>
+<p>Get the path of this cookie.</p>
+<a name="N1052F"></a><a name="setPath"></a>
+<h4>setPath</h4>
+<p>
+<em>Function</em> <tt>setPath([String] path)</tt>
+</p>
+<p>Set the path of this cookie.</p>
+<a name="N1053B"></a><a name="getSecure"></a>
+<h4>getSecure</h4>
+<p>
+<em>Function</em> <tt>[Boolean] getSecure()</tt>
+</p>
+<p>Get the secure property of this cookie.</p>
+<a name="N10547"></a><a name="setSecure"></a>
+<h4>setSecure</h4>
+<p>
+<em>Function</em> <tt>setSecure([Boolean] value)</tt>
+</p>
+<p>Set the secure property of this cookie.</p>
+<a name="N10553"></a><a name="Log+Object"></a>
+<h3 class="h4">Log Object</h3>
+<p>The <tt>Log</tt> object provides an interface to the Cocoon logging system.
+</p>
+<p>It supports the following functions:</p>
+<a name="N1055E"></a><a name="error"></a>
+<h4>error</h4>
+<p>
+<em>Function</em> <tt>error([String] message, [java.lang.Throwable]
+exception)</tt>
+</p>
+<p>Log an error message. If <tt>exception</tt> is provided its stack trace will
+also be logged.</p>
+<a name="N1056D"></a><a name="debug"></a>
+<h4>debug</h4>
+<p>
+<em>Function</em> <tt>debug([String] message, [java.lang.Throwable]
+exception)</tt>
+</p>
+<p>Log a debug message. If <tt>exception</tt> is provided its stack trace will
+also be logged.</p>
+<a name="N1057C"></a><a name="warn"></a>
+<h4>warn</h4>
+<p>
+<em>Function</em> <tt>warn([String] message, [java.lang.Throwable]
+exception)</tt>
+</p>
+<p>Log a warning message. If <tt>exception</tt> is provided its stack trace will
+also be logged.</p>
+<a name="N1058B"></a><a name="info"></a>
+<h4>info</h4>
+<p>
+<em>Function</em> <tt>info([String] message, [java.lang.Throwable]
+exception)</tt>
+</p>
+<p>Log an information message. If <tt>exception</tt> is provided its stack trace
+will also be logged.</p>
+<a name="N1059A"></a><a name="isErrorEnabled"></a>
+<h4>isErrorEnabled</h4>
+<p>
+<em>Function</em> <tt>[Boolean] isErrorEnabled()</tt>
+</p>
+<p>Returns whether error message logging is enabled.</p>
+<a name="N105A6"></a><a name="isDebugEnabled"></a>
+<h4>isDebugEnabled</h4>
+<p>
+<em>Function</em> <tt>[Boolean] isDebugEnabled()</tt>
+</p>
+<p>Returns whether debug message logging is enabled.</p>
+<a name="N105B2"></a><a name="isWarnEnabled"></a>
+<h4>isWarnEnabled</h4>
+<p>
+<em>Function</em> <tt>[Boolean] isWarnEnabled()</tt>
+</p>
+<p>Returns whether warning message logging is enabled.</p>
+<a name="N105BE"></a><a name="isInfoEnabled"></a>
+<h4>isInfoEnabled</h4>
+<p>
+<em>Function</em> <tt>[Boolean] isInfoEnabled()</tt>
+</p>
+<p>Returns whether information message logging is enabled.</p>
+<a name="N105CA"></a><a name="WebContinuation"></a>
+<h3 class="h4">WebContinuation</h3>
+<p>A <tt>WebContinuation</tt> represents a continuation of a Flowscript. Because
+a user may click on the back button in the browser and restart a saved
+computation in a continuation, each <tt>WebContinuation</tt> becomes the parent
+of a subtree of continuations.</p>
+<p>If there is no parent <tt>WebContinuation</tt>, the created continuation
+becomes the root of a tree of <tt>WebContinuation</tt>s.</p>
+<p>
+<tt>WebContinuation</tt> objects support the following functions and
+properties:</p>
+<a name="N105E2"></a><a name="id"></a>
+<h4>id</h4>
+<p>
+<em>Property</em> <tt>[String] id</tt>
+</p>
+<p>Returns the unique string identifier of this Web Continuation.</p>
+<a name="N105EE"></a><a name="continuation"></a>
+<h4>continuation</h4>
+<p>
+<em>Property</em> <tt>[Continuation] continuation</tt>
+</p>
+<p>Returns the JavaScript continuation associated with this Web Continuation.
+</p>
+<a name="N105FA"></a><a name="previousBookmark"></a>
+<h4>previousBookmark</h4>
+<p>
+<em>Property</em> <tt>[WebContinuation] previousBookmark</tt>
+</p>
+<p>Returns a reference to the first bookmark continuation among the pages
+preceding the one associated with this object, or null if no such bookmark
+continuation exists. The returned object is the continuation you would invoke to
+implement a "Back" button.</p>
+<a name="N10606"></a><a name="isBookmark"></a>
+<h4>isBookmark</h4>
+<p>
+<em>Function</em> <tt>[Boolean] isBookmark()</tt>
+</p>
+<p>Returns <tt>true</tt> if this continuation was <em>not</em> created by
+<a href="#sendPageAndWait">sendPageAndWait</a>.</p>
+<a name="N1061C"></a><a name="getParent"></a>
+<h4>getParent</h4>
+<p>
+<em>Function</em> <tt>[WebContinuation] getParent()</tt>
+</p>
+<p>Get the parent continuation of this continuation.</p>
+<a name="N10628"></a><a name="getChildren"></a>
+<h4>getChildren</h4>
+<p>
+<em>Function</em> <tt>[Array [WebContinuation]] getChildren()</tt>
+</p>
+<p>Get the child continuations of this continuation.</p>
+<a name="N10634"></a><a name="invalidate-N10634"></a>
+<h4>invalidate</h4>
+<p>
+<em>Function</em> <tt>invalidate()</tt>
+</p>
+<p>Invalidates a <tt>WebContinuation</tt>. This effectively means that the
+continuation object associated with it will no longer be accessible from Web
+pages. Invalidating a <tt>WebContinuation</tt> invalidates all the
+<tt>WebContinuation</tt>s which are children of it.</p>
+<div class="daisy-edit-link">
+<p>
+<em>Errors and Improvements?</em>
+                 If you see any errors or potential improvements in this document
+                 please help us:
+                <a class="external" href="http://cocoon.zones.apache.org/daisy/legacydocs/518">
+                  View, Edit or comment on
+                </a> the latest development version (registration required).
+              </p>
+</div>
+</div>
+</div>
+<!--+
+    |end content
+    +-->
+<div class="clearboth">&nbsp;</div>
+</div>
+<div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
+<div class="lastmodified">
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+//  --></script>
+</div>
+<div class="copyright">
+        Copyright &copy;
+         1999-2005 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
+</div>
+<div id="feedback">
+    Send feedback about the website to:
+  <a id="feedbackto" href="mailto:dev@cocoon.apache.org?subject=[WEBSITE]%C2%A02.1/userdocs/flow/api.html">dev@cocoon.apache.org</a>
+</div>
+<!--+
+    |end bottomstrip
+    +-->
+</div>
+</body>
+</html>

Propchange: cocoon/site/site/2.1/userdocs/flow/api.html
------------------------------------------------------------------------------
    svn:eol-style = native



Mime
View raw message