-<map:match pattern="">
<map:generate src="welcome.xml"/>
-<map:transform src="context://samples/common/style/xsl/html/simple-samples2html.xsl">
<map:parameter name="contextPath" value="{request:contextPath}"/>
</map:transform>
<map:serialize/>
</map:match>
-<!--
| "Form1" example, demonstrates all kinds of features
-->
-<map:match pattern="form1">
-<!-- Here we use the HTTP method, GET or POST, to make distinction between
the initial form display and a form submit. In both cases the same publishing
pipeline will be used, which is below the selector.
-->
-<map:select type="request-method">
-<map:when test="GET">
-<!-- Here we use an action especially created for the "form1" example
which will initialise the form with some data.
-->
-<map:act type="init-form">
<map:parameter name="form-definition" value="forms/form1.xml"/>
<map:parameter name="attribute-name" value="form1"/>
</map:act>
</map:when>
-<map:when test="POST">
-<map:act type="handle-form-submit">
<map:parameter name="form-definition" value="forms/form1.xml"/>
<map:parameter name="attribute-name" value="form1"/>
<map:parameter name="formhandler" value="org.apache.cocoon.forms.samples.Form1Handler"/>
-<!-- the content of this action is only executed in case validation
succeeded, thus if the form handling is completed
-->
<map:generate type="jx" src="forms/form1_success_jx.xml"/>
-<map:call resource="simple-page2html">
<map:parameter name="file" value="forms/form1_success_jx.xml"/>
</map:call>
<map:serialize/>
</map:act>
</map:when>
-<map:otherwise>
-<!-- todo: do something here
-->
</map:otherwise>
</map:select>
-<!-- pipeline to show the form
-->
-<map:generate src="forms/form1_template_action.xml">
<map:parameter name="attribute-name" value="form1"/>
</map:generate>
-<!-- <map:serialize type="xml"/>
-->
-<map:transform type="forms" label="content1">
<map:parameter name="attribute-name" value="form1"/>
</map:transform>
<map:transform type="i18n">
</map:transform>
-<map:call resource="simple-page2html">
<map:parameter name="file" value="forms/form1_success.xsp"/>
</map:call>
<map:transform type="i18n">
</map:transform>
-<map:transform src="resources/forms-samples-styling.xsl">
<map:parameter name="resources-uri" value="{request:contextPath}/_cocoon/resources"/>
</map:transform>
<map:transform type="i18n">
</map:transform>
<map:serialize/>
</map:match>
-<!-- Flowscript Sample
-->
-<map:match pattern="form1.flow">
-<map:call function="handleForm">
<map:parameter name="function" value="form1"/>
<map:parameter name="renderMode" value="jx"/>
<map:parameter name="definitionURI" value="forms/form1.xml"/>
</map:call>
</map:match>
-<!-- Start a flowscript scenario
-->
-<map:match pattern="do-*.flow">
<map:call function="do_{1}"/>
</map:match>
-<!-- Continue a scenario. The continuation id is passed in the URL
(typically used for GET requests)
-->
-<map:match pattern="*.continue">
<map:call continuation="{1}"/>
</map:match>
-<!-- Continue a scenario. The continuation id is passed as a request
parameter (typically used for POST request)
-->
-<map:match pattern="continue">
<map:call continuation="{request-param:continuation-id}"/>
</map:match>
-<!--
| Show a suggestion list
-->
-<map:match pattern="_cocoon/forms/suggest">
<map:generate type="suggestion-list"/>
<map:transform type="i18n"/>
<map:transform src="resource://org/apache/cocoon/forms/resources/selection-list2json.xsl"/>
<map:serialize type="json"/>
</map:match>
-<map:match pattern="_cocoon/forms/suggest/*">
<map:call function="{1}Lookup"/>
</map:match>
-<map:match pattern="*.json-combo-data">
<map:generate type="jx" src="forms/{1}json.xml"/>
<map:transform src="resource://org/apache/cocoon/forms/resources/selection-list2json.xsl"/>
<map:serialize type="json"/>
</map:match>
-<!--
| Show a form, using the forms transformer
-->
-<map:match pattern="*-display-pipeline">
<map:generate src="forms/{1}_template.xml"/>
<map:transform type="forms" label="content1"/>
-<map:transform type="i18n">
-<!--map:parameter name="locale" value="en-US"/
-->
</map:transform>
-<map:call resource="simple-page2html">
<map:parameter name="file" value="forms/{1}_template.xml"/>
</map:call>
-<map:transform src="resources/forms-samples-styling.xsl">
<map:parameter name="resources-uri" value="{request:contextPath}/_cocoon/resources"/>
<map:parameter name="dojo-locale" value="{flow-attr:locale}"/>
</map:transform>
<map:transform type="i18n">
</map:transform>
<map:serialize/>
</map:match>
-<!--
| Show a form, using the jx template macros
-->
-<map:match pattern="*-display-pipeline.jx">
-<map:generate type="jx" src="forms/{1}_template.xml" label="content1">
<map:parameter name="locale" value="{flow-attribute:locale}"/>
</map:generate>
-<map:transform type="log">
<map:parameter name="logfile" value="logfile.log"/>
<map:parameter name="append" value="no"/>
</map:transform>
<map:transform type="browser-update"/>
-<!-- AJAX-style form update
-->
-<map:transform type="i18n">
<map:parameter name="locale" value="{flow-attribute:locale}"/>
</map:transform>
-<map:call resource="simple-page2html">
<map:parameter name="file" value="forms/{1}_template.xml"/>
</map:call>
-<map:transform src="resources/forms-samples-styling.xsl">
<map:parameter name="resources-uri" value="{request:contextPath}/_cocoon/resources"/>
<map:parameter name="dojo-debug" value="true"/>
-<!-- set to true to turn on dojo debugging in the Browser
-->
<map:parameter name="dojo-locale" value="{flow-attr:locale}"/>
</map:transform>
-<map:transform type="i18n">
<map:parameter name="locale" value="{flow-attribute:locale}"/>
</map:transform>
-<map:select type="ajax-request">
-<map:when test="true">
-<!-- sending a partial Browser Update
-->
-<map:select type="request-parameter">
<map:parameter name="parameter-name" value="dojo.transport"/>
-<map:when test="iframe">
-<!-- sending BU via iFrameIO
-->
<map:transform src="resource://org/apache/cocoon/forms/resources/IframeTransport-bu-styling.xsl"/>
<map:serialize type="xhtml"/>
-<!-- this is REALLY important
-->
</map:when>
-<map:otherwise>
-<!-- sending BU via XHR
-->
<map:serialize type="xml"/>
</map:otherwise>
</map:select>
</map:when>
-<map:otherwise>
-<!-- sending a complete page
-->
<map:serialize type="html"/>
</map:otherwise>
</map:select>
</map:match>
-<!--
| Display a success page using XSP
-->
-<map:match pattern="*-success-pipeline.xsp">
<map:generate type="jx" src="forms/{1}_success_jx.xml"/>
-<map:call resource="simple-page2html">
<map:parameter name="file" value="forms/{1}_template_jx.xml"/>
</map:call>
<map:serialize/>
</map:match>
-<!-- Upload Widget Samples
-->
-<map:match pattern="upload">
<map:call function="upload"/>
</map:match>
-<map:match pattern="uploadprogress">
<map:call function="uploadprogress"/>
</map:match>
-<map:match pattern="*.continue">
<map:call continuation="{1}"/>
</map:match>
-<map:match pattern="*-success-pipeline.jx">
<map:generate type="jx" src="forms/{1}_success_jx.xml"/>
-<map:call resource="simple-page2html">
<map:parameter name="file" value="forms/{1}_success_jx.xml"/>
</map:call>
<map:serialize/>
</map:match>
-<!--
| Binding form sample, using flowscript
-->
-<map:match pattern="form2xml.flow">
-<map:call function="handleForm">
<map:parameter name="function" value="form2xml"/>
<map:parameter name="definitionURI" value="forms/form2_model.xml"/>
<map:parameter name="documentURI" value="forms/form2_data.xml"/>
<map:parameter name="bindingURI" value="forms/form2_bind_xml.xml"/>
</map:call>
</map:match>
-<map:match pattern="form2simpleXML.flow">
-<map:call function="handleForm">
<map:parameter name="function" value="form2simpleXML"/>
<map:parameter name="definitionURI" value="forms/form2_model.xml"/>
<map:parameter name="documentURI" value="forms/form2_simple_data.xml"/>
</map:call>
</map:match>
-<map:match pattern="form2bean.flow">
-<map:call function="handleForm">
<map:parameter name="function" value="form2bean"/>
<map:parameter name="definitionURI" value="forms/form2_model.xml"/>
<map:parameter name="bindingURI" value="forms/form2_bind_bean.xml"/>
</map:call>
</map:match>
-<map:match pattern="form2-success-pipeline">
<map:generate src="forms/form2_data-result.xml"/>
-<map:transform type="i18n">
-<!--map:parameter name="locale" value="en-US"/
-->
</map:transform>
<map:serialize type="xml"/>
</map:match>
-<map:match pattern="form2simpleXML-success-pipeline">
<map:generate type="jx" src="forms/form2simpleXML_result.xml"/>
<map:serialize type="xml"/>
</map:match>
-<map:match pattern="form2bean-success-pipeline">
<map:generate type="jx" src="forms/form2_jx.xml"/>
-<map:transform type="i18n">
-<!--map:parameter name="locale" value="en-US"/
-->
</map:transform>
<map:serialize/>
</map:match>
-<!--
| Registration form example
-->
-<map:match pattern="registration">
<map:call function="registration"/>
</map:match>
-<!--
| ImageMap form example
-->
-<map:match pattern="imagemap">
<map:call function="imagemap"/>
</map:match>
-<!--
| Car selector sample.
-->
-<map:match pattern="cars">
<map:generate src="forms/car-db.xml"/>
-<map:transform src="xsl/carfilter.xsl">
<map:parameter name="list" value="makes"/>
</map:transform>
<map:serialize type="xml"/>
</map:match>
-<map:match pattern="cars/*">
<map:generate src="forms/car-db.xml"/>
-<map:transform src="xsl/carfilter.xsl">
<map:parameter name="list" value="types"/>
<map:parameter name="make" value="{1}"/>
</map:transform>
<map:serialize type="xml"/>
</map:match>
-<map:match pattern="cars/*/*">
<map:generate src="forms/car-db.xml"/>
-<map:transform src="xsl/carfilter.xsl">
<map:parameter name="list" value="models"/>
<map:parameter name="make" value="{1}"/>
<map:parameter name="type" value="{2}"/>
</map:transform>
<map:serialize type="xml"/>
</map:match>
-<map:match pattern="carselector">
-<map:call function="selectCar">
<map:parameter name="defaultMake" value="Maserati"/>
</map:call>
</map:match>
-<!--
| Car selector sample with XMLHTTPRequest
-->
-<map:match pattern="xhr_carselector">
-<map:select type="request-method">
-<map:when test="POST">
<map:call continuation="{request-param:continuation-id}"/>
</map:when>
-<map:otherwise>
-<map:call function="xhrSelectCar">
<map:parameter name="defaultMake" value="Maserati"/>
</map:call>
</map:otherwise>
</map:select>
</map:match>
-<map:match pattern="xhr_cars">
<map:generate src="forms/car-db.xml"/>
-<map:transform src="xsl/xhr_carfilter.xsl">
<map:parameter name="list" value="makes"/>
</map:transform>
<map:serialize type="xml"/>
</map:match>
-<map:match pattern="xhr_cars/*">
<map:generate src="forms/car-db.xml"/>
-<map:transform src="xsl/xhr_carfilter.xsl">
<map:parameter name="list" value="types"/>
<map:parameter name="make" value="{1}"/>
</map:transform>
<map:serialize type="xml"/>
</map:match>
-<map:match pattern="xhr_cars/*/*">
<map:generate src="forms/car-db.xml"/>
-<map:transform src="xsl/xhr_carfilter.xsl">
<map:parameter name="list" value="models"/>
<map:parameter name="make" value="{1}"/>
<map:parameter name="type" value="{2}"/>
</map:transform>
<map:serialize type="xml"/>
</map:match>
-<!--
| Country selector sample.
-->
-<map:match pattern="countryselector">
-<map:select type="request-method">
-<map:when test="GET">
<map:call function="selectCountry"/>
</map:when>
-<map:when test="POST">
<map:call continuation="{request-param:continuation-id}"/>
</map:when>
-<map:otherwise>
-<!-- todo: do something here
-->
</map:otherwise>
</map:select>
</map:match>
-<!--
| HTMLArea example
-->
-<map:match pattern="htmlarea">
<map:call function="htmlarea"/>
</map:match>
-<map:match pattern="htmlarea-display-pipeline">
<map:generate src="forms/htmlarea_template.xml"/>
<map:transform type="forms"/>
-<map:transform type="i18n">
-<!--map:parameter name="locale" value="en-US"/
-->
</map:transform>
-<map:transform src="context://samples/common/style/xsl/html/simple-page2html.xsl">
<map:parameter name="contextPath" value="{request:contextPath}"/>
<map:parameter name="servletPath" value="{request:servletPath}"/>
<map:parameter name="sitemapURI" value="{request:sitemapURI}"/>
<map:parameter name="file" value="forms/htmlarea_template.xml"/>
<map:parameter name="remove" value="{0}"/>
</map:transform>
-<map:transform src="resources/forms-samples-styling.xsl">
<map:parameter name="resources-uri" value="{request:contextPath}/_cocoon/resources"/>
</map:transform>
<map:serialize/>
</map:match>
-<map:match pattern="htmlarea-success-pipeline">
<map:generate type="jx" src="forms/htmlarea_success.jx"/>
<map:serialize type="xml"/>
</map:match>
-<!-- System-provided resources
If needed, you can override them with your own pipelines before
-->
-<!-- for developers: load directly from the source tree, rather than from the jars
<map:match pattern="resources/*/**">
<map:read src="file://{realpath:}/../../src/blocks/{1}/trunk/java/org/apache/cocoon/{1}/resources/{2}"/>
</map:match>
-->
-<map:match pattern="resources/*/**">
<map:read src="resource://org/apache/cocoon/{1}/resources/{2}"/>
</map:match>
-<!--
| Sample building a forms-form-gui editor in forms
| Doubles as a showcase for class, new, struct, union widgets
-->
-<map:match pattern="form_model_gui.flow">
-<map:call function="handleForm">
<map:parameter name="function" value="form_model_gui"/>
<map:parameter name="definitionURI" value="forms/form_model_gui_model.xml"/>
<map:parameter name="attribute-name" value="form_model_gui"/>
<map:parameter name="documentURI" value="forms/form_model_gui_data.xml"/>
<map:parameter name="bindingURI" value="forms/form_model_gui_binding.xml"/>
</map:call>
</map:match>
-<!--
| Group of Binding feature samples...
-->
-<map:match pattern="binding-*-*.flow">
-<map:call function="bindingSample">
<map:parameter name="sample-code" value="{1}"/>
<map:parameter name="backend-type" value="{2}"/>
</map:call>
</map:match>
-<map:match pattern="binding-*.flow">
<map:redirect-to uri="binding-{1}-JS.flow"/>
</map:match>
-<map:match pattern="binding.form.*">
-<map:select type="resource-exists">
-<map:when test="forms/binding/{1}-template.xml">
<map:generate type="file" src="forms/binding/{1}-template.xml"/>
-<map:transform type="forms">
<map:parameter name="form-action" value="{flow-continuation:id}.continue"/>
<map:parameter name="form-method" value="POST"/>
</map:transform>
</map:when>
-<!--
| If the template file does not exist, the code below generates the
| form, but results in a document fragment rather than a correct HTML
| tagged page (i.e. it lacks the HTML, HEAD and BODY tags).
|
| To simplify the samples, all template files exist and the code
| below is not executed.
-->
-<map:otherwise>
-<map:generate type="forms">
<map:parameter name="form-action" value="{flow-continuation:id}.continue"/>
<map:parameter name="form-method" value="POST"/>
</map:generate>
</map:otherwise>
</map:select>
-<map:call resource="simple-page2html">
<map:parameter name="file" value="forms/{1}_template.xml"/>
</map:call>
-<map:transform src="resources/forms-samples-styling.xsl">
<map:parameter name="resources-uri" value="{request:contextPath}/_cocoon/resources"/>
</map:transform>
<map:serialize type="html"/>
</map:match>
-<map:match pattern="binding.done">
<map:generate type="jx" src="forms/binding/done.jx"/>
-<!-- generic dump of flow data via jx?
-->
-<map:call resource="simple-page2html">
<map:parameter name="file" value="forms/binding/done.jx"/>
</map:call>
<map:serialize/>
</map:match>
-<!-- **************************** profiling ****************************
-->
-<map:match pattern="form1-cforms-transformer">
-<map:act type="init-form">
<map:parameter name="form-definition" value="forms/form1.xml"/>
<map:parameter name="attribute-name" value="form1"/>
</map:act>
<map:generate src="forms/form1_template_action.xml"/>
-<map:transform type="forms" label="content1">
<map:parameter name="attribute-name" value="form1"/>
</map:transform>
<map:serialize type="xml"/>
</map:match>
-<map:match pattern="form1-jx-macro">
-<map:act type="init-form">
<map:parameter name="form-definition" value="forms/form1.xml"/>
<map:parameter name="attribute-name" value="form1"/>
</map:act>
-<map:generate src="forms/form1_template_action_jx-macro.xml" type="jx">
<map:parameter name="attribute-name" value="form1"/>
</map:generate>
<map:serialize type="xml"/>
</map:match>
-<!-- **************************** mounts ****************************
-->
-<map:match pattern="*">
<map:redirect-to uri="{1}/"/>
</map:match>
-<map:match pattern="*/**">
<map:mount src="{1}/" uri-prefix="{1}"/>
</map:match>
</map:pipeline>