<?xml version="1.0"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->

<!-- $Id$ -->
<!--
    This sitemap handles calls to usecases which are registered in the
    usecase framework.
-->

<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">

  <map:components>
    <map:transformers default="xslt">    
      <map:transformer name="browser-update" src="org.apache.cocoon.ajax.BrowserUpdateTransformer"/>
      <map:transformer name="usecase-proxy" logger="lenya.sitemap.transformer.proxy"
        src="org.apache.lenya.cms.cocoon.transformation.ProxyTransformer">
        <transform namespace="http://apache.org/lenya/proxy/1.0" element="url" attribute="href"/>
      </map:transformer>
    </map:transformers>
    <map:selectors>
      <map:selector name="ajax-request" src="org.apache.cocoon.ajax.AjaxRequestSelector"/>
    </map:selectors>
  </map:components>
  
  <!-- =========================== FlowScript =============================== -->

  <map:flow language="javascript">
    <map:script src="fallback://lenya/modules/usecase/usecases.js"/>
  </map:flow>
  
  <!-- =========================== Pipelines ================================ -->

  <map:pipelines>
    
    <map:pipeline type="noncaching" internal-only="true">
      <!-- 
        This internal pipeline renders the usecase, once the
        executeUsecase() flowscript has completed and issued a redirect,
        which is matched here.
        -->
      <map:match pattern="usecases-view/*/**">
        
        <map:generate type="jx" src="fallback://lenya/{2}"/>
        <map:transform type="browser-update"/>
        <map:transform type="cinclude"/>
        <map:transform type="forms" />
        
        <map:transform type="usecase-proxy"/>
        <map:transform src="xslt/proxyUrl2text.xsl"/>
        
        <map:transform src="cocoon://lenya-screen.xsl"/>
        <map:transform type="i18n">
          <map:parameter name="locale" value="{request:locale}"/>
        </map:transform>
        <!-- Strip xhtml namespace from <head> and <body> element -->
        <map:transform src="fallback://lenya/xslt/cforms/strip-xhtml-namespace.xsl"/>
        <map:transform src="fallback://lenya/xslt/cforms/forms-samples-styling.xsl">
          <map:parameter name="resources-uri" value="{page-envelope:context-prefix}/cforms"/>
        </map:transform>
        <map:transform src="fallback://lenya/xslt/cforms/add-xhtml-namespace.xsl"/>
        <map:match pattern="usecases-view/menu/**">
          <map:transform src="cocoon://lenya-page/{page-envelope:publication-id}/{page-envelope:area}/default.xml"/>
        </map:match>
        <map:select type="ajax-request">
          <map:when test="true">
            <map:serialize type="xml"/>
          </map:when>
        </map:select>
        <map:select type="request-parameter">
          <map:parameter name="parameter-name" value="asXML"/>
          <map:when test="true">
            <map:serialize type="xml"/>
          </map:when>
        </map:select>
        
        <map:transform type="proxy"/>
        <map:transform src="fallback://lenya/xslt/util/strip_namespaces.xsl"/>
        <map:serialize type="xhtml"/>

     </map:match>
      
    </map:pipeline>

    <map:pipeline>
      <map:match type="request-parameter" pattern="lenya.continuation">
        <map:call continuation="{1}"/>
      </map:match>
      <map:match type="usecase" pattern="*">
        <map:call function="executeUsecase">
          <map:parameter name="usecaseName" value="{request-param:lenya.usecase}"/>
        </map:call>
      </map:match>
    </map:pipeline>
    
  </map:pipelines>
	
</map:sitemap>
