<?xml version="1.0"?>
<!-- ===============================================
Support for HOWTO documents that want 'revisions'.  Revisions are XML snippets containing
comments on the main XML file.  The main pipeline here automatically appends a page's
revisions to the bottom.

For example, in content/xdocs/community/howto/xmlform we have:

howto-xmlform.xml
revision-howto-xmlform-2002-05-20.xml
revision-howto-xmlform-2002-05-25.xml

The **/*.xml pipeline would append the revision-*.xml snippets to howto-xmlform.xml before
serving it.

Generates  :  Source XML
Example URL:  http://localhost:8888/community/howto/xmlform/howto-xmlform.xml
Used by    :  sitemap.xmap
Uses       :  content/xdocs/**.xml, and content/xdocs/**/revision-*.xml

$Revision$
==================================================== -->

<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
  <map:components>
    <map:generators default="file">
      <map:generator name="directory" src="org.apache.cocoon.generation.DirectoryGenerator" />
    </map:generators>
    <map:serializers default="html"/>
    <map:transformers default="xslt"/>
    <map:matchers default="wildcard"/>
  </map:components>

  <map:pipelines>
    <map:pipeline>

      <map:match pattern="**index.xml">
        <map:generate src="content/xdocs/{0}" />
        <map:transform type="idgen" />
        <map:serialize type="xml"/>
      </map:match>

      <map:match pattern="**revision-*.xml">
        <map:generate src="content/xdocs/{1}revision-{2}.xml" />
        <map:transform type="idgen" />
        <map:serialize type="xml"/>
      </map:match>

      <map:match pattern="**revisions-**">
        <map:generate type="directory" src="content/xdocs/{1}">
          <map:parameter name="dateFormat" value="yyyy-MM-dd hh:mm" />
        </map:generate>
        <map:transform src="resources/stylesheets/directory2revisions.xsl">
          <map:parameter name="use-request-parameters" value="true" />
          <map:parameter name="page" value="{2}" />
        </map:transform>
        <map:serialize type="xml" />
      </map:match>

      <map:match pattern="**/*.xml">
        <map:aggregate element="all">
          <map:part src="content/xdocs/{0}" />
          <map:part src="cocoon:/{1}/revisions-{2}" />
        </map:aggregate>
        <map:transform src="resources/stylesheets/howto2document.xsl" />
        <map:serialize type="xml-document"/>
      </map:match>

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