blob: f51ac8b305b234de49fed56a64a7cdf7f0f3e031 [file] [log] [blame]
<?xml version="1.0"?>
<!--
Copyright 2002-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.
-->
<!-- ===============================================
Default Forrest sitemap, defining the whole site.
Delegates to the other *.xmap files. See
http://xml.apache.org/forrest/sitemap-ref.html
$Revision: 1.12 $
==================================================== -->
<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
<map:components>
<map:generators default="file">
<map:generator name="file" src="org.apache.cocoon.generation.FileGenerator" />
<map:generator name="exception"
src="org.apache.cocoon.generation.ParseExceptionGenerator"/>
<!--
<map:generator name="html" src="org.apache.cocoon.generation.HTMLGenerator">
<jtidy-config>jtidy.properties</jtidy-config>
</map:generator>
<map:generator name="directory" src="org.apache.cocoon.generation.DirectoryGenerator" />
-->
<map:generator name="notifier" src="org.apache.cocoon.sitemap.NotifyingGenerator" />
</map:generators>
<map:transformers default="xslt">
<!-- Add values to skinconf that need extra processing like the color shades -->
<map:transformer name="skinconf" src="org.apache.forrest.skinconf.SkinconfTransformer"/>
<!-- Generates @id attributes from <title> strings -->
<map:transformer name="idgen" src="org.apache.cocoon.transformation.IdGeneratorTransformer">
<element>//*[local-name() = 'section']</element>
<id>title/text()</id>
</map:transformer>
<!-- Rewrites links, e.g. transforming href="site:index" to href="../index.html" -->
<!-- See http://xml.apache.org/forrest/sitemap-ref.html#linkrewriting_impl -->
<map:transformer name="linkrewriter" logger="sitemap.transformer.linkrewriter" src="org.apache.cocoon.transformation.LinkRewriterTransformer">
<link-attrs>href src</link-attrs>
<schemes>site ext</schemes>
<input-module name="site">
<input-module name="linkmap">
<file src="{src}" reloadable="true" />
</input-module>
<prefix>/site//</prefix>
<suffix>/@href</suffix>
</input-module>
<input-module name="ext">
<input-module name="linkmap">
<file src="{src}" reloadable="true" />
</input-module>
<prefix>/site/external-refs//</prefix>
<suffix>/@href</suffix>
</input-module>
</map:transformer>
<map:transformer name="xpath" logger="sitemap.transformer.xpath" src="org.apache.cocoon.transformation.XPathTransformer" />
<map:transformer name="xslt" src="org.apache.cocoon.transformation.TraxTransformer" logger="sitemap.transformer.xslt" pool-max="32" pool-min="8" pool-grow="2">
<use-request-parameters>false</use-request-parameters>
<use-browser-capabilities-db>false</use-browser-capabilities-db>
<use-deli>false</use-deli>
<transformer-factory>org.apache.xalan.processor.TransformerFactoryImpl</transformer-factory>
<!--<transformer-factory>com.icl.saxon.TransformerFactoryImpl</transformer-factory>-->
<!--<transformer-factory>org.apache.xalan.xsltc.trax.TransformerFactoryImpl</transformer-factory>-->
</map:transformer>
<map:transformer name="xsltc" src="org.apache.cocoon.transformation.TraxTransformer" logger="sitemap.transformer.xslt" pool-max="32" pool-min="8" pool-grow="2">
<use-request-parameters>false</use-request-parameters>
<use-browser-capabilities-db>false</use-browser-capabilities-db>
<use-deli>false</use-deli>
<transformer-factory>org.apache.xalan.xsltc.trax.TransformerFactoryImpl</transformer-factory>
</map:transformer>
<map:transformer name="xinclude" src="org.apache.cocoon.transformation.XIncludeTransformer" logger="sitemap.transformer.xinclude" pool-grow="2" pool-max="16" pool-min="2" />
<map:transformer name="cinclude" pool-grow="2" pool-max="16" pool-min="2" src="org.apache.cocoon.transformation.CIncludeTransformer" logger="sitemap.transformer.cinclude"/>
<map:transformer name="pattern"
src="org.apache.cocoon.transformation.PatternTransformer"
logger="sitemap.transformer.pattern">
<parameter name="groups" value="true"/>
</map:transformer>
<map:transformer name="lexer"
src="org.apache.cocoon.transformation.LexicalTransformer"
logger="sitemap.transformer.lexer">
<parameter name="localizable" value="true"/>
</map:transformer>
<map:transformer name="parser"
src="org.apache.cocoon.transformation.ParserTransformer"
logger="sitemap.transformer.parser">
<parameter name="flatten" value="true"/>
<parameter name="recovery" value="true"/>
<parameter name="localizable" value="true"/>
</map:transformer>
</map:transformers>
<map:readers default="resource">
<map:reader name="resource" src="org.apache.cocoon.reading.ResourceReader"/>
</map:readers>
<map:serializers default="html">
<map:serializer name="html" mime-type="text/html" src="org.apache.cocoon.serialization.HTMLSerializer">
<doctype-public>-//W3C//DTD HTML 4.01 Transitional//EN</doctype-public>
<doctype-system>http://www.w3.org/TR/html4/loose.dtd</doctype-system>
</map:serializer>
<map:serializer name="xml" mime-type="text/xml" src="org.apache.cocoon.serialization.XMLSerializer"/>
<map:serializer name="xml-document" mime-type="text/xml" src="org.apache.cocoon.serialization.XMLSerializer">
<cdata-section-elements>source</cdata-section-elements>
<doctype-public>-//APACHE//DTD Documentation V1.2//EN</doctype-public>
<doctype-system>document-v12.dtd</doctype-system>
</map:serializer>
<map:serializer name="fo2pdf" src="org.apache.cocoon.serialization.FOPSerializer" mime-type="application/pdf" />
<map:serializer name="links" src="org.apache.cocoon.serialization.LinkSerializer">
<encoding>ISO-8859-1</encoding>
</map:serializer>
<map:serializer name="svgxml" src="org.apache.cocoon.serialization.XMLSerializer" mime-type="image/svg+xml">
<doctype-public>-//W3C//DTD SVG 1.0//EN</doctype-public>
<doctype-system>http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd</doctype-system>
</map:serializer>
<!--
<map:serializer mime-type="application/x-shockwave-flash" name="swf" src="org.apache.cocoon.serialization.SWFSerializer"/>
<map:serializer mime-type="application/msword" name="fo2rtf" src="org.apache.cocoon.serialization.RTFSerializer"/>
-->
</map:serializers>
<map:matchers default="wildcard">
<map:matcher name="wildcard" src="org.apache.cocoon.matching.WildcardURIMatcher"/>
<map:matcher name="regexp" src="org.apache.cocoon.matching.RegexpURIMatcher"/>
</map:matchers>
<map:selectors>
<map:selector logger="sitemap.selector.exists" name="exists" src="org.apache.cocoon.selection.SourceExistsSelector" />
<map:selector logger="sitemap.selector.exception" name="exception"
src="org.apache.cocoon.selection.ExceptionSelector">
<exception name="syntax" class="net.sourceforge.chaperon.process.ParseException"/>
<exception class="java.lang.Throwable" unroll="true"/>
</map:selector>
</map:selectors>
<map:pipes default="caching">
<map:pipe name="caching" src="org.apache.cocoon.components.pipeline.impl.CachingProcessingPipeline"/>
<!--
<map:pipe name="noncaching" src="org.apache.cocoon.components.pipeline.impl.NonCachingProcessingPipeline"/>
<map:pipe name="profile-caching" src="org.apache.cocoon.components.profiler.ProfilingCachingProcessingPipeline"/>
<map:pipe name="profile-noncaching" src="org.apache.cocoon.components.profiler.ProfilingNonCachingProcessingPipeline"/>
-->
</map:pipes>
</map:components>
<!-- NOTE: the 'links view' is no longer used to discover a page's links.
Instead of filterlinks.xsl, use cli.xconf include/exclude nodes to define which pages to render.
<map:views>
<map:view name="links" from-position="last">
<map:transform src="{forrest:stylesheets}/filterlinks.xsl">
<map:parameter name="ctxbasedir" value="{realpath:.}/"/>
</map:transform>
<map:serialize type="links"/>
</map:view>
</map:views>
-->
<map:resources>
<map:resource name="skinit">
<map:select type="exists">
<map:when test="{project:skins-dir}{forrest:skin}/xslt/html/{type}.xsl">
<map:transform src="{project:skins-dir}{forrest:skin}/xslt/html/{type}.xsl">
<map:parameter name="notoc" value="{notoc}"/>
<!-- For backwards-compat with 0.2 - 0.4 skins -->
<map:parameter name="isfaq" value="{notoc}"/>
<map:parameter name="nopdf" value="{nopdf}"/>
<map:parameter name="path" value="{path}"/>
<map:parameter name="config-file" value="{project:skinconf}"/>
</map:transform>
</map:when>
<map:otherwise>
<map:transform src="{forrest:context}/skins/{forrest:skin}/xslt/html/{type}.xsl">
<map:parameter name="notoc" value="{notoc}"/>
<!-- For backwards-compat with 0.2 - 0.4 skins -->
<map:parameter name="isfaq" value="{notoc}"/>
<map:parameter name="nopdf" value="{nopdf}"/>
<map:parameter name="path" value="{path}"/>
<map:parameter name="config-file" value="{project:skinconf}"/>
</map:transform>
</map:otherwise>
</map:select>
<map:serialize/>
</map:resource>
</map:resources>
<!-- =========================== Pipelines ================================= -->
<map:pipelines>
<map:pipeline internal-only="false">
<map:match pattern="skinconf.xml">
<map:generate src="{project:skinconf}" />
<map:select type="exists">
<map:when test="{project:skins-dir}{forrest:skin}/skinconf.xsl">
<map:transform src="{project:skins-dir}{forrest:skin}/skinconf.xsl"/>
</map:when>
</map:select>
<map:select type="exists">
<map:when test="{forrest:context}/skins/{forrest:skin}/skinconf.xsl">
<map:transform src="{forrest:context}/skins/{forrest:skin}/skinconf.xsl"/>
</map:when>
</map:select>
<map:transform src="{forrest:context}/skins/common/skinconf.xsl"/>
<map:transform type="skinconf"/>
<map:serialize type="xml" />
</map:match>
</map:pipeline>
<map:pipeline internal-only="false">
<!-- ============================================================ -->
<!-- SOURCE FORMATS -->
<!-- Raw XML sources, typically doc-v12 format -->
<!-- ============================================================ -->
<!-- http://xml.apache.org/forrest/sitemap-ref.html#source_pipelines -->
<!-- Body content -->
<map:match pattern="**.xml">
<map:match pattern="changes.xml">
<map:mount uri-prefix="" src="status.xmap" check-reload="yes" />
</map:match>
<map:match pattern="todo.xml">
<map:mount uri-prefix="" src="status.xmap" check-reload="yes" />
</map:match>
<map:match pattern="**dtdx.xml">
<map:mount uri-prefix="" src="dtd.xmap" check-reload="yes" />
</map:match>
<map:match pattern="forrest-issues.xml">
<map:mount uri-prefix="" src="issues.xmap" check-reload="yes" />
</map:match>
<map:match pattern="**faq.xml">
<map:mount uri-prefix="" src="faq.xmap" check-reload="yes" />
</map:match>
<map:match pattern="community/**index.xml">
<map:mount uri-prefix="" src="forrest.xmap" check-reload="yes" />
</map:match>
<map:match pattern="community/*/**.xml">
<map:mount uri-prefix="" src="revisions.xmap" check-reload="yes" />
</map:match>
<map:match pattern="site.xml">
<map:mount uri-prefix="" src="aggregate.xmap" check-reload="yes" />
</map:match>
<!-- Default source types -->
<map:mount uri-prefix="" src="forrest.xmap" check-reload="yes" />
</map:match>
<!-- Menu content -->
<map:match pattern="abs-menulinks">
<map:mount uri-prefix="" src="menu.xmap" check-reload="yes" />
</map:match>
<map:match pattern="**menulinks-*">
<map:mount uri-prefix="" src="menu.xmap" check-reload="yes" />
</map:match>
<!-- Link maps -->
<map:match pattern="abs-linkmap">
<map:mount uri-prefix="" src="linkmap.xmap"/>
</map:match>
<map:match pattern="**linkmap-*">
<map:match pattern="linkmap-site.*">
<map:mount uri-prefix="" src="aggregate.xmap" check-reload="yes" />
</map:match>
<map:mount uri-prefix="" src="linkmap.xmap" check-reload="yes" />
</map:match>
</map:pipeline>
<!-- ============================================================ -->
<!-- INTERMEDIATE FORMATS -->
<!-- Tabs, menus and body HTML. -->
<!-- Called from output format pipelines -->
<!-- ============================================================ -->
<!-- http://xml.apache.org/forrest/sitemap-ref.html#intermediate_pipelines -->
<map:pipeline internal-only="false">
<!-- External matches -->
<!-- (HTML rendered directly from special formats) -->
<map:match pattern="**body-faq.html">
<map:mount uri-prefix="" src="faq.xmap" check-reload="yes" />
</map:match>
<map:match pattern="**body-*.html">
<map:select type="exists">
<map:when test="{project:content.xdocs}{1}{2}.ehtml">
<map:generate src="{project:content.xdocs}{1}{2}.ehtml" />
<map:transform src="{forrest:stylesheets}/html2htmlbody.xsl" />
<map:transform type="linkrewriter" src="cocoon:/{1}linkmap-{2}.html"/>
<map:serialize type="xml" />
</map:when>
</map:select>
</map:match>
<!-- Default matches -->
<!-- (HTML rendered from doc-v11 intermediate format -->
<map:match pattern="**body-*.html">
<map:generate src="cocoon:/{1}{2}.xml"/>
<map:transform type="idgen"/>
<map:transform type="xinclude"/>
<map:transform type="linkrewriter" src="cocoon:/{1}linkmap-{2}.html"/>
<map:call resource="skinit">
<map:parameter name="type" value="document2html"/>
<map:parameter name="path" value="{1}{2}.html"/>
<map:parameter name="notoc" value="false"/>
</map:call>
</map:match>
<map:match pattern="**menu-*.html">
<map:generate src="cocoon:/{1}book-{2}.html"/>
<map:transform type="linkrewriter" src="cocoon:/{1}linkmap-{2}.html"/>
<map:call resource="skinit">
<map:parameter name="type" value="book2menu"/>
<map:parameter name="path" value="{1}{2}.html"/>
</map:call>
</map:match>
<map:match pattern="**tab-*.html">
<map:mount uri-prefix="" src="tabs.xmap" check-reload="yes" />
</map:match>
<map:match pattern="**i18n-*.html">
<map:mount uri-prefix="" src="i18n.xmap" check-reload="yes" />
</map:match>
<map:match pattern="**book-*.html">
<map:mount uri-prefix="" src="menu.xmap" check-reload="yes" />
</map:match>
</map:pipeline>
<map:pipeline internal-only="false">
<!-- ============================================================ -->
<!-- OUTPUT FORMATS -->
<!-- Serves content directly to the user -->
<!-- +==========================================================+ -->
<!-- http://xml.apache.org/forrest/sitemap-ref.html#output_pipelines -->
<map:match type="regexp" pattern="^.+$">
<map:select type="exists">
<map:when test="{project:content}/{0}">
<map:mount uri-prefix="" src="raw.xmap" check-reload="yes" />
</map:when>
</map:select>
</map:match>
<map:match pattern="*.html">
<map:aggregate element="site">
<map:part src="cocoon:/skinconf.xml"/>
<map:part src="cocoon:/tab-{0}"/>
<map:part src="cocoon:/menu-{0}"/>
<map:part src="cocoon:/body-{0}"/>
</map:aggregate>
<map:call resource="skinit">
<map:parameter name="type" value="site2xhtml"/>
<map:parameter name="path" value="{0}"/>
</map:call>
</map:match>
<map:match pattern="**/*.html">
<map:aggregate element="site">
<map:part src="cocoon:/skinconf.xml"/>
<map:part src="cocoon:/{1}/tab-{2}.html"/>
<map:part src="cocoon:/{1}/menu-{2}.html"/>
<map:part src="cocoon:/{1}/body-{2}.html"/>
</map:aggregate>
<map:call resource="skinit">
<map:parameter name="type" value="site2xhtml"/>
<map:parameter name="path" value="{0}"/>
</map:call>
</map:match>
<map:match pattern="**faq.pdf">
<map:mount uri-prefix="" src="faq.xmap" check-reload="yes" />
</map:match>
<map:match type="regexp" pattern="^(.*?)([^/]*).pdf$">
<map:generate src="cocoon:/{1}{2}.xml"/>
<!-- <map:transform type="idgen"/> -->
<map:transform type="xinclude"/>
<map:transform type="linkrewriter" src="cocoon://{1}linkmap-{2}.pdf"/>
<map:select type="exists">
<map:when test="{project:skins-dir}{forrest:skin}/xslt/fo/document2fo.xsl">
<map:transform src="{project:skins-dir}{forrest:skin}/xslt/fo/document2fo.xsl">
<map:parameter name="config-file" value="{project:skinconf}"/>
<map:parameter name="imagesdir" value="{project:resources.images}/"/>
<map:parameter name="xmlbasedir" value="{project:content.xdocs}{1}"/>
</map:transform>
</map:when>
<map:when test="{forrest:context}/skins/{forrest:skin}/xslt/fo/document2fo.xsl">
<map:transform src="{forrest:context}/skins/{forrest:skin}/xslt/fo/document2fo.xsl">
<map:parameter name="config-file" value="{project:skinconf}"/>
<map:parameter name="imagesdir" value="{project:resources.images}/"/>
<map:parameter name="xmlbasedir" value="{project:content.xdocs}{1}"/>
</map:transform>
</map:when>
<map:otherwise>
<map:transform src="{forrest:context}/skins/common/xslt/fo/document2fo.xsl">
<map:parameter name="config-file" value="{project:skinconf}"/>
<map:parameter name="imagesdir" value="{project:resources.images}/"/>
<map:parameter name="xmlbasedir" value="{project:content.xdocs}{1}"/>
</map:transform>
</map:otherwise>
</map:select>
<map:serialize type="fo2pdf"/>
</map:match>
<map:match type="regexp" pattern="^(.*?)([^/]*).svg$">
<map:generate src="cocoon:/{1}{2}.xml"/>
<!-- <map:transform type="idgen"/> -->
<map:transform type="xinclude"/>
<map:transform type="linkrewriter" src="cocoon://{1}linkmap-{2}.svg"/>
<map:select type="exists">
<map:when test="{project:skins-dir}{forrest:skin}/xslt/svg/document2svg.xsl">
<map:transform src="{project:skins-dir}{forrest:skin}/xslt/svg/document2svg.xsl">
<map:parameter name="imagesdir" value="{project:resources.images}/"/>
<map:parameter name="xmlbasedir" value="{project:content.xdocs}{1}"/>
</map:transform>
</map:when>
<map:when test="{forrest:context}/skins/{forrest:skin}/xslt/svg/document2svg.xsl">
<map:transform src="{forrest:context}/skins/{forrest:skin}/xslt/svg/document2svg.xsl">
<map:parameter name="imagesdir" value="{project:resources.images}/"/>
<map:parameter name="xmlbasedir" value="{project:content.xdocs}{1}"/>
</map:transform>
</map:when>
<map:otherwise>
<map:transform src="{forrest:context}/skins/common/xslt/svg/document2svg.xsl">
<map:parameter name="imagesdir" value="{project:resources.images}/"/>
<map:parameter name="xmlbasedir" value="{project:content.xdocs}{1}"/>
</map:transform>
</map:otherwise>
</map:select>
<map:serialize type="svgxml"/>
</map:match>
<map:match pattern="**changes.rss">
<map:mount uri-prefix="" src="status.xmap" check-reload="yes" />
</map:match>
<map:match pattern="profiler">
<map:mount uri-prefix="" src="profiler.xmap" check-reload="yes" />
</map:match>
<map:match pattern="**.js">
<map:mount uri-prefix="" src="resources.xmap" check-reload="yes" />
</map:match>
<map:match pattern="**.css">
<map:mount uri-prefix="" src="resources.xmap" check-reload="yes" />
</map:match>
<map:match pattern="**images**">
<map:mount uri-prefix="" src="resources.xmap" check-reload="yes" />
</map:match>
<map:match pattern="**.png">
<map:mount uri-prefix="" src="resources.xmap" check-reload="yes" />
</map:match>
<map:match pattern="**.ico">
<map:mount uri-prefix="" src="resources.xmap" check-reload="yes" />
</map:match>
</map:pipeline>
<!-- ============================================================ -->
<!-- REDIRECTS -->
<!-- ============================================================ -->
<map:pipeline internal-only="false">
<map:match pattern="">
<map:redirect-to uri="index.html" />
</map:match>
<map:match type="regexp" pattern="^.+/$">
<map:redirect-to uri="index.html"/>
</map:match>
</map:pipeline>
</map:pipelines>
</map:sitemap>