blob: f8afb5f834e039d604cf957899cad488532f8a9f [file] [log] [blame]
<?xml version="1.0"?>
<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
<!-- indicates what flowscript to attach to this sitemap -->
<map:flow language="javascript">
<map:script src="calc.js"/>
</map:flow>
<map:pipelines>
<map:pipeline>
<!--+
| produces the screens called by the flowscript
+-->
<map:match pattern="page/*">
<map:generate type="serverpages" src="screens/{1}.xsp"/>
<map:transform src="context://samples/common/style/xsl/html/simple-page2html.xsl">
<map:parameter name="servletPath" value="{request:servletPath}"/>
<map:parameter name="sitemapURI" value="{request:sitemapURI}"/>
<map:parameter name="contextPath" value="{request:contextPath}"/>
<map:parameter name="file" value="/samples/flow/calc/screens/{1}.xsp"/>
<map:parameter name="remove" value="{0}"/>
</map:transform>
<map:serialize/>
</map:match>
</map:pipeline>
<map:pipeline>
<!--+
| matches the page with the continuation ID and calls the flowscript
| associated to this sitemap with the given continuation ID. The flow
| engine will then look into the continuation store, retrieve
| the correct continuation and resume execution of the flowscript
| with that continuation. This guarantees transparent state
| resumption between requests without the need for anything else
| (cookies or URL-encoded session IDs)
+-->
<map:match pattern="continue.*">
<map:call continuation="{1}"/>
</map:match>
<!--+
| matches the call to the beginning of the flow and calls the flow
| from its entry point which, in this case is the 'calculator()'
| javascript function.
+-->
<map:match pattern="">
<map:call function="calculator"/>
</map:match>
<map:match pattern="calc.js">
<map:read src="{0}" mime-type="text/plain"/>
</map:match>
</map:pipeline>
</map:pipelines>
</map:sitemap>