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

<!--+
    | Input Modules sample sitemap.
    | Author: Konstantin Piroumian "kpiroumian@apache.org"
    |
    | SVN $Id$
    +-->
<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">

  <!-- =========================== Components ============================== -->
  <map:components>
    <map:actions>
      <!-- Action to store locale name as cookie. -->
      <map:action name="cookie-locale" src="org.apache.cocoon.acting.LocaleAction">
        <store-in-cookie>true</store-in-cookie>
      </map:action>
    </map:actions>
  </map:components>

  <!-- =========================== Resources =============================== -->
  <map:resources>
    <!-- This resource is used to create a composite page from menu and content -->
    <map:resource name="composite">
      <map:aggregate element="site">
        <map:part src="cocoon:/menu/{../1}.html"/>
        <map:part src="cocoon:/content/{../1}.xml" label="content"/>
      </map:aggregate>
      <map:transform src="site2html.xsl">
        <map:parameter name="page" value="{../0}"/>
      </map:transform>
      <map:serialize/>
    </map:resource>
  </map:resources>

  <!-- =========================== Pipelines ================================= -->
  <map:pipelines>
    <map:component-configurations>
      <global-variables>
         <!--+
             | (Re)Define global parameters, used in the input modules GlobalInputModule demo.
             +-->
         <global-sub-sitemap>This value is defined in the samples/modules/sitemap.xmap</global-sub-sitemap>
         <global-sitemap-override>This value was defined in the samples/sitemap.xmap, but was overridden by samples/modules/sitemap.xmap</global-sitemap-override>
      </global-variables>
    </map:component-configurations>

    <map:pipeline>

      <!-- Default URL matcher. Matches '/' URLs-->
      <map:match pattern="">
        <map:redirect-to uri="index.html"/>
      </map:match>

      <map:match pattern="*.html">
        <map:call resource="composite"/>
      </map:match>

      <!-- Index page content -->
      <map:match pattern="content/index.xml">
        <map:generate src="menu.xml"/>
        <map:transform src="menu2content.xsl"/>
        <map:serialize/>
      </map:match>

      <!-- Menu -->
      <map:match pattern="menu/*">
        <map:generate src="menu.xml"/>
        <map:transform src="menu2navigation.xsl">
          <map:parameter name="page" value="{1}"/>
        </map:transform>
        <map:serialize/>
      </map:match>


      <map:match pattern="content/request.xml">
        <map:generate type="jx" src="properties.xml">
          <map:parameter name="attributeNames" value="{request:attributeNames}"/>
          <map:parameter name="authType" value="{request:authType}"/>
          <map:parameter name="characterEncoding" value="{request:characterEncoding}"/>
          <map:parameter name="cookieMap" value="{request:cookieMap}"/>
          <map:parameter name="cookies" value="{request:cookies}"/>
          <map:parameter name="contentLength" value="{request:contentLength}"/>
          <map:parameter name="contentType" value="{request:contentType}"/>
          <map:parameter name="contextPath" value="{request:contextPath}"/>
          <map:parameter name="headers" value="{request:headers}"/>
          <map:parameter name="headerNames" value="{request:headerNames}"/>
          <map:parameter name="locale" value="{request:locale}"/>
          <map:parameter name="locales" value="{request:locales}"/>
          <map:parameter name="method" value="{request:method}"/>
          <!--map:parameter name="parameter-map" value="{request:parameterMap}"/-->
          <map:parameter name="parameterNames" value="{request:parameterNames}"/>
          <map:parameter name="pathInfo" value="{request:pathInfo}"/>
          <map:parameter name="pathTranslated" value="{request:pathTranslated}"/>
          <map:parameter name="protocol" value="{request:protocol}"/>
          <map:parameter name="queryString" value="{request:queryString}"/>
          <map:parameter name="remoteAddr" value="{request:remoteAddr}"/>
          <map:parameter name="remoteHost" value="{request:remoteHost}"/>
          <map:parameter name="remoteUser" value="{request:remoteUser}"/>
          <map:parameter name="requestURI" value="{request:requestURI}"/>
          <map:parameter name="requestedSessionId" value="{request:requestedSessionId}"/>
          <map:parameter name="requestedSessionIdFromCookie" value="{request:requestedSessionIdFromCookie}"/>
          <map:parameter name="requestedSessionIdFromURL" value="{request:requestedSessionIdFromURL}"/>
          <map:parameter name="requestedSessionIdValid" value="{request:requestedSessionIdValid}"/>
          <map:parameter name="scheme" value="{request:scheme}"/>
          <map:parameter name="secure" value="{request:secure}"/>
          <map:parameter name="serverName" value="{request:serverName}"/>
          <map:parameter name="serverPort" value="{request:serverPort}"/>
          <map:parameter name="servletPath" value="{request:servletPath}"/>
          <map:parameter name="session [truncated]" value="{request:concat('org. ... .', substring(session, 36))}"/>
          <map:parameter name="sitemapURI" value="{request:sitemapURI}"/>
          <map:parameter name="userPrincipal" value="{request:userPrincipal}"/>
        </map:generate>
        <map:transform src="properties2html.xsl">
          <map:parameter name="title" value="Request Input Module (RequestModule)"/>
        </map:transform>
        <map:serialize/>
      </map:match>

      <map:match pattern="content/baselink.xml">
        <map:generate type="jx" src="properties.xml">
          <map:parameter name="sitemapAsBase" value="{baselink:SitemapBaseLink}"/>
          <map:parameter name="requestAsBase" value="{baselink:RequestBaseLink}"/>
        </map:generate>

        <map:transform src="properties2html.xsl">
          <map:parameter name="title" value="BaseLink Input Module (BaseLinkModule)"/>
          <map:parameter name="description" value="Returns a relative path (../,
            ../../, etc) linking to either the base of the current request URI or the base
            of the sitemap.
            In this demonstration, the request URI is {0} (an internal request not
            equivalent to what the user sees)"/>
        </map:transform>
        <map:serialize/>
      </map:match>

      <map:match pattern="requestparam">
        <map:redirect-to uri="content/requestparam.xml?foo=foo+param&amp;bar=bar+param"/>
      </map:match>
      <map:match pattern="content/requestparam.xml">
        <map:generate type="jx" src="properties.xml">
          <map:parameter name="foo" value="{request-param:foo}"/>
          <map:parameter name="bar" value="{request-param:bar}"/>
        </map:generate>
        <map:transform src="properties2html.xsl">
          <map:parameter name="title" value="Request Parameter Input Module (RequestParameterModule)"/>
          <map:parameter name="description" value="Provides access to request
            parameters. Edit the URL of this page to see the request parameter
            values change (parts after the '?' are request parameters) ."/>
        </map:transform>
        <map:serialize/>
      </map:match>

      <map:match pattern="content/session.xml">
        <map:generate type="jx" src="properties.xml">
          <map:parameter name="attributeNames" value="{session:attributeNames}"/>
          <map:parameter name="creationTime" value="{session:creationTime}"/>
          <map:parameter name="lastAccessedTime" value="{session:lastAccessedTime}"/>
          <map:parameter name="maxInactiveInterval" value="{session:maxInactiveInterval}"/>
          <map:parameter name="id" value="{session:id}"/>
          <map:parameter name="new" value="{session:new}"/>
        </map:generate>
        <map:transform src="properties2html.xsl">
          <map:parameter name="title" value="Session Input Module (SessionModule)"/>
          <map:parameter name="description" value="SessionModule provides access
            to Session object properties."/>
        </map:transform>
        <map:serialize/>
      </map:match>

      <map:match pattern="content/system-property.xml">
        <map:generate type="jx" src="properties.xml">
          <map:parameter name="java.version" value="{system-property:java.version}"/>
          <map:parameter name="java.vendor" value="{system-property:java.vendor}"/>
          <map:parameter name="java.vendor.url" value="{system-property:java.vendor.url}"/>
          <map:parameter name="java.home" value="{system-property:java.home}"/>
          <map:parameter name="java.vm.specification.version" value="{system-property:java.vm.specification.version}"/>
          <map:parameter name="java.vm.specification.vendor" value="{system-property:java.vm.specification.vendor}"/>
          <map:parameter name="java.vm.specification.name" value="{system-property:java.vm.specification.name}"/>
          <map:parameter name="java.vm.version" value="{system-property:java.vm.version}"/>
          <map:parameter name="java.vm.vendor" value="{system-property:java.vm.vendor}"/>
          <map:parameter name="java.vm.name" value="{system-property:java.vm.name}"/>
          <map:parameter name="java.specification.version" value="{system-property:java.specification.version}"/>
          <map:parameter name="java.specification.vendor" value="{system-property:java.specification.vendor}"/>
          <map:parameter name="java.specification.name" value="{system-property:java.specification.name}"/>
          <map:parameter name="java.specification.name" value="{system-property:java.specification.name}"/>
          <map:parameter name="java.class.path" value="{system-property:java.class.path}"/>
          <map:parameter name="java.ext.dirs" value="{system-property:java.ext.dirs}"/>
          <map:parameter name="os.name" value="{system-property:os.name}"/>
          <map:parameter name="os.arch" value="{system-property:os.arch}"/>
          <map:parameter name="os.version" value="{system-property:os.version}"/>
          <map:parameter name="file.separator" value="{system-property:file.separator}"/>
          <map:parameter name="path.separator" value="{system-property:path.separator}"/>
          <map:parameter name="line.separator" value="{system-property:line.separator}"/>
          <map:parameter name="user.name" value="{system-property:user.name}"/>
          <map:parameter name="user.home" value="{system-property:user.home}"/>
          <map:parameter name="user.dir" value="{system-property:user.dir}"/>
          <!-- Function call -->
          <map:parameter name="users-home-base" value="{system-property:substring-before(user.home, user.name)}"/>
        </map:generate>
        <map:transform src="properties2html.xsl">
          <map:parameter name="title" value="System Properties Input Module (SystemPropertiesModule)"/>
        </map:transform>
        <map:serialize/>
      </map:match>

       <map:match pattern="content/xxml.xml">
        <map:generate type="jx" src="properties.xml">
          <map:parameter name="/forrestconf/@version" value="{xmyxml:/forrestconf/@version}"/>
          <map:parameter name="/forrestconf/skin" value="{xmyxml:/forrestconf/skin}"/>
          <map:parameter name="/*/base-url" value="{xmyxml:/*/base-url}"/>
          <map:parameter name="a/forestconf/@version" value="{varxml:/forrestconf/@version}"/>
          <map:parameter name="a/forrestconf/skin" value="{varxml:/forrestconf/skin}"/>
          <map:parameter name="a/*/base-url" value="{varxml:/*/base-url}"/>
            <!--
            <map:parameter name="slashdot-headline" value="{slashdot:/*:RDF/item[1]/title}"/>
            -->
        </map:generate>
        <map:transform src="properties2html.xsl">
          <map:parameter name="title" value="Xpath XML File Input Module (XPathXMLFileModule)"/>
          <map:parameter name="description" value="XMLFileModule uses an XML
            file as a data source, with XPath expressions as the key values. In
            this example, the keys identify nodes in
            context://samples/modules/forrestconf.xml"/>
        </map:transform>
        <map:serialize/>
      </map:match>

      <map:match pattern="content/xml.xml">
        <map:generate type="jx" src="properties.xml">
          <map:parameter name="/forrestconf/@version" value="{myxml:/forrestconf/@version}"/>
          <map:parameter name="/forrestconf/skin" value="{myxml:/forrestconf/skin}"/>
          <map:parameter name="/*/base-url" value="{myxml:/*/base-url}"/>
          <!--
          <map:parameter name="slashdot-headline" value="{slashdot:/*:RDF/item[1]/title}"/>
          -->
        </map:generate>
        <map:transform src="properties2html.xsl">
          <map:parameter name="title" value="XML File Input Module (XMLFileModule)"/>
          <map:parameter name="description" value="XMLFileModule uses an XML
            file as a data source, with XPath expressions as the key values. In
            this example, the keys identify nodes in
            context://samples/modules/forrestconf.xml"/>
        </map:transform>
        <map:serialize/>
      </map:match>

      <map:match pattern="content/defaults.xml">
        <map:generate type="jx" src="properties.xml">
          <map:parameter name="skin" value="{defaults:skin}"/>
          <map:parameter name="base-url" value="{defaults:base-url}"/>
        </map:generate>
        <map:transform src="properties2html.xsl">
          <map:parameter name="title" value="Defaults Input Module (DefaultsModule)"/>
          <map:parameter name="description" value="DefaultsModule
            contains 'default' values, hardcoded into cocoon.xconf.
            It is simply a lookup table containing static values."/>
        </map:transform>
        <map:serialize/>
      </map:match>

      <map:match pattern="content/chain.xml">
        <map:generate type="jx" src="properties.xml">
          <map:parameter name="skin" value="{chain:skin}"/>
        </map:generate>
        <map:transform src="properties2html.xsl">
          <map:parameter name="title" value="Chaining Input module (ChainMetaModule)"/>
          <map:parameter name="description" value="ChainMetaModule
            iterates through a set of modules until one returns a
            non-null value for the specified key.  In this example, we
            chain together request-param, request-attr, session-attr
            and defaults modules.  The 'skin' value is taken from the
            first that returns a non-null value, usually 'defaults'.
            Try adding '?skin=myskin' to the URL, and it should
            change."/>
        </map:transform>
        <map:serialize/>
      </map:match>

      <map:match pattern="content/cookie.xml">
        <map:act type="cookie-locale"/>
        <map:generate type="jx" src="properties.xml">
          <map:parameter name="locale" value="{cookie:locale}"/>
        </map:generate>
        <map:transform src="properties2html.xsl">
          <map:parameter name="title" value="Cookie module (CookieModule)"/>
          <map:parameter name="description" value="Returns the value
            of the named HTTP cookie.
            The example used LocaleAction to store the current locale name as cookie.
            If the value is empty, use the browser's reload button.
            (Cookies just created cannot be read out. Only when the browser presents it
            on the next request, it will be available.)"/>
        </map:transform>
        <map:serialize/>
      </map:match>

      <map:match pattern="content/date.xml">
        <map:generate type="jx" src="properties.xml">
          <map:parameter name="format-in-config" value="{date:date}"/>
          <map:parameter name="format-inline" value="{date:MMM d, yyyy}"/>
        </map:generate>
        <map:transform src="properties2html.xsl">
          <map:parameter name="title" value="Date Input module (DateMetaModule)"/>
          <map:parameter name="description" value="Returns the current
            date and time.  The format is specified in cocoon.xconf or as the
            data specified in the input module reference"/>
        </map:transform>
        <map:serialize/>
      </map:match>

      <map:match pattern="content/session-attr.xml">
        <map:generate type="jx" src="properties.xml">
          <map:parameter name="fruit" value="{session-attr:fruit}"/>
        </map:generate>
        <map:transform src="properties2html.xsl">
          <map:parameter name="title" value="Session Attribute Input Module
            (SessionAttributeModule)"/>
          <map:parameter name="description" value="SessionAttributeModule provides access
            to Session attributes."/>
        </map:transform>
        <map:serialize/>
      </map:match>

      <map:match pattern="content/randomnumber.xml">
        <map:generate type="jx" src="properties.xml">
          <map:parameter name="default" value="{random:x}"/>
          <map:parameter name="from 100 to 500" value="{random-100-to-500:y}"/>
          <map:parameter name="from 5000 to 10000" value="{random-5000-to-10000:z}"/>
        </map:generate>
        <map:transform src="properties2html.xsl">
          <map:parameter name="title" value="Random number module (RandomNumberModule)"/>
          <map:parameter name="description" value="Returns a random number in a
            user-configurable range (by default 0 to (2^63)-1 (cca. 9.22337204 × 10^18)"/>
        </map:transform>
        <map:serialize/>
      </map:match>

      <map:match pattern="content/realpath.xml">
        <map:generate type="jx" src="properties.xml">
          <map:parameter name="/" value="{realpath:/}"/>
          <map:parameter name="/images" value="{realpath:/images}"/>
          <map:parameter name="/WEB-INF" value="{realpath:/WEB-INF}"/>
        </map:generate>
        <map:transform src="properties2html.xsl">
          <map:parameter name="title" value="RealPath Module (RealPathModule)"/>
          <map:parameter name="description" value="Returns the real path of a
            context-relative virtual path (if not deployed from a .war)."/>
        </map:transform>
        <map:serialize/>
      </map:match>

      <map:match pattern="content/properties.xml">
        <map:generate type="jx" src="properties.xml">
          <map:parameter name="name" value="{cocoon-properties:name}"/>
          <map:parameter name="Name" value="{cocoon-properties:Name}"/>
          <map:parameter name="fullname" value="{cocoon-properties:fullname}"/>
          <map:parameter name="version" value="{cocoon-properties:version}"/>
          <map:parameter name="released.version" value="{cocoon-properties:released.version}"/>
          <map:parameter name="year" value="{cocoon-properties:year}"/>
        </map:generate>
        <map:transform src="properties2html.xsl">
          <map:parameter name="title" value="Properties File Module
            (PropertiesFileModule)"/>
          <map:parameter name="description" value="PropertiesFileModule provides access
            to properties from a properties file. In this example the keys identify properties in
            resource://org/apache/cocoon/cocoon.properties"/>
        </map:transform>
        <map:serialize/>
      </map:match>

      <map:match pattern="content/url-encode.xml">
        <map:generate type="jx" src="properties.xml">
          <map:parameter name="foo bar" value="{url-encode:foo bar}"/>
          <map:parameter name="foo/bar" value="{url-encode:foo/bar}"/>
        </map:generate>
        <map:transform src="properties2html.xsl">
          <map:parameter name="title" value="URL Encoding Module (URLEncodeModule)"/>
          <map:parameter name="description" value="URLEncodeModule performs
            URL encoding of the passed parameter"/>
        </map:transform>
        <map:serialize/>
      </map:match>

      <map:match pattern="content/url-decode.xml">
        <map:generate type="jx" src="properties.xml">
          <map:parameter name="foo%20bar" value="{url-decode:foo%20bar}"/>
          <map:parameter name="foo%2Fbar" value="{url-decode:foo%2Fbar}"/>
        </map:generate>
        <map:transform src="properties2html.xsl">
          <map:parameter name="title" value="URL Decoding Module (URLDecodeModule)"/>
          <map:parameter name="description" value="URLDecodeModule performs
            URL decoding of the passed parameter"/>
        </map:transform>
        <map:serialize/>
      </map:match>

      <map:match pattern="content/naming.xml">
        <map:generate type="jx" src="properties.xml">
          <map:parameter name="java:comp/env/greeting" value="{naming:java:comp/env/greeting}"/>
        </map:generate>
        <map:transform src="properties2html.xsl">
          <map:parameter name="title" value="Naming Module (NamingInputModule)"/>
          <map:parameter name="description" value="NamingInputModule provides access
            to JNDI resources. This sample does not work with built-in Jetty as it does not provide JNDI."/>
        </map:transform>
        <map:serialize/>
      </map:match>

      <map:match pattern="content/global.xml">
        <map:generate type="jx" src="properties.xml">
          <map:parameter name="global-sitemap" value="{global:global-sitemap}"/>
          <map:parameter name="global-sub-sitemap" value="{global:global-sub-sitemap}"/>
          <map:parameter name="global-sitemap-override" value="{global:global-sitemap-override}"/>
        </map:generate>
        <map:transform src="properties2html.xsl">
          <map:parameter name="title" value="Global Input Module (GlobalInputModule)"/>
          <map:parameter name="description" value="GlobalInputModule
            contains 'global' values defined in the sitemap. Children sitemaps
            can override values defined in the parent sitemap."/>
        </map:transform>
        <map:serialize/>
      </map:match>

      <!-- Display this sitemap source-->
      <map:match pattern="sitemap.xmap">
        <map:generate src="sitemap.xmap"/>
        <map:transform src="context://stylesheets/system/xml2html.xslt"/>
        <map:serialize/>
      </map:match>

      <map:match pattern="*.css">
        <map:read src="{1}.css" mime-type="text/css"/>
      </map:match>

      <map:match pattern="images/*.gif">
        <map:read src="images/{1}.gif" mime-type="image/gif"/>
      </map:match>

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