<?xml version="1.0" encoding="UTF-8"?>

<!--
  Copyright 1999-2004 The Apache Software Foundation

  Licensed 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.
-->

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

<!-- =========================== Components ================================ -->

  <map:components>
    <map:transformers default="xslt">
      <map:transformer name="taglib"
                       logger="sitemap.transformer.taglib"
                       src="org.apache.cocoon.transformation.TagTransformer"/>
    </map:transformers>

    <map:actions>
      <map:action name="faces"
                  logger="sitemap.action.faces"
                  src="org.apache.cocoon.faces.FacesAction">
        <!--
          - Specify how to transform view ID to sitemap URI (optional).
        <cut-prefix>/samples/blocks/faces</cut-prefix>
        <add-prefix>/path/to/view/pipeline</add-prefix>
        <cut-suffix>.faces</cut-suffix>
          -->
        <add-suffix>.view</add-suffix>
      </map:action>
    </map:actions>
  </map:components>

<!-- =========================== Views =================================== -->

  <map:views>
    <map:view from-label="content" name="content">
      <map:serialize type="xml"/>
    </map:view>

    <map:view from-label="content" name="pretty-content">
      <map:transform src="context://stylesheets/system/xml2html.xslt"/>
      <map:serialize type="html"/>
    </map:view>

    <map:view from-position="last" name="links">
      <map:serialize type="links"/>
    </map:view>
  </map:views>

<!-- =========================== Pipelines ================================= -->

  <map:pipelines>
    <map:pipeline>
      <map:match pattern="">
        <map:redirect-to uri="welcome"/>
      </map:match>

      <!--
        - Welcome page
        -->
      <map:match pattern="welcome">
        <map:generate src="samples.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>

      <!--
        - Pipeline generating JavaServer Faces view.
        - JSF 1.1 Specification 2.2.6 Render Response.
        -->
      <map:match pattern="*.view">
        <map:generate src="{1}.xml"/>
        <map:transform type="taglib"/>
        <map:transform src="context://samples/common/style/xsl/html/simple-page2html.xsl">
           <map:parameter name="contextPath" value="{request:contextPath}"/>
        </map:transform>
        <map:serialize/>
      </map:match>

      <!--
        - Action invoking JavaServer Faces lifecycle.
        - Render phase of the lifecycle dispatches view render request
        - back to the sitemap.
        -->
      <map:match pattern="*">
        <map:act type="faces"/>
      </map:match>

      <!--
        - Auto mount for demos in sub directories
        -->
      <map:match pattern="*/**">
        <map:mount check-reload="yes" src="{1}/" uri-prefix="{1}"/>
      </map:match>

    </map:pipeline>
  </map:pipelines>
</map:sitemap>
