| <?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. |
| --> |
| <!-- =============================================== |
| Default Forrest sitemap, defining the whole site. |
| Delegates to the other *.xmap files. See |
| http://forrest.apache.org/docs/sitemap-ref.html |
| |
| $Revision: 1.12 $ |
| ==================================================== --> |
| <!DOCTYPE map:sitemap [ |
| <!ENTITY % symbols-project |
| PUBLIC "-//Apache Forrest//ENTITIES Symbols Project v1.0//EN" |
| "symbols-project-v10.ent"> |
| %symbols-project; |
| <!ENTITY % symbols-core |
| PUBLIC "-//Apache Forrest//ENTITIES Symbols Core v1.0//EN" |
| "symbols-core-v10.ent"> |
| %symbols-core; |
| ]> |
| <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="html" src="org.apache.cocoon.generation.HTMLGenerator"> |
| <jtidy-config>&generator-html-jtidy-properties;</jtidy-config> |
| </map:generator> |
| <map:generator name="exception" |
| src="org.apache.cocoon.generation.ExceptionGenerator"/> |
| <map:generator name="notifier" src="org.apache.cocoon.sitemap.NotifyingGenerator" /> |
| <map:generator name="text2xml" logger="sitemap.generator.textgenerator" |
| src="org.apache.cocoon.generation.TextGenerator"> |
| <parameter name="localizable" value="true"/> |
| </map:generator> |
| <map:generator name="module" |
| src="org.apache.forrest.generation.ModuleGenerator"/> |
| </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.conf.SkinconfTransformer"/> |
| <!-- Generates @id attributes from <title> strings --> |
| <map:transformer name="idgen" src="org.apache.forrest.util.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://forrest.apache.org/docs/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 lm</schemes> |
| <input-module name="lm"/> |
| <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.forrest.util.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>net.sf.saxon.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="xslt-saxon" |
| pool-grow="2" pool-max="32" pool-min="8" |
| src="org.apache.cocoon.transformation.TraxTransformer"> |
| <use-request-parameters>false</use-request-parameters> |
| <use-browser-capabilities-db>false</use-browser-capabilities-db> |
| <xslt-processor-role>saxon</xslt-processor-role> |
| </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="extparser" |
| src="org.apache.cocoon.transformation.ExtendedParserTransformer" |
| logger="sitemap.transformer.extendedparser"></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:transformer name="i18n" src="org.apache.cocoon.transformation.I18nTransformer"> |
| <catalogues default="common"> |
| <catalogue id="common" name="CommonMessages" location="{lm:project.translations}"/> |
| </catalogues> |
| <cache-at-startup>true</cache-at-startup> |
| </map:transformer> |
| <map:transformer name="log" |
| src="org.apache.cocoon.transformation.LogTransformer" |
| logger="sitemap.transformer.log" pool-max="16"/> |
| <map:transformer name="validate" |
| logger="sitemap.transformer.validate" |
| src="org.apache.cocoon.transformation.ValidatingTransformer"> |
| <!--+ The "grammar" an optional configuration element specifying the default |
| | grammar used by the validator. When the "grammar" element is specified, |
| | the automatic detection of schema types will be disabled. |
| | |
| | This can also be specifed in pipelines as a parameter: |
| | <map:parameter name="grammar" value="... grammar identifier ..."/> |
| | |
| | For a list of well known grammars, see the JavaDoc documentation for the |
| | org.apache.cocoon.components.validation.Validator interface. |
| +--> |
| <!-- <grammar>... grammar identifier ...</grammar> --> |
| </map:transformer> |
| <map:transformer name="validation-report" |
| logger="sitemap.transformer.validate" |
| src="org.apache.cocoon.transformation.ValidationReportTransformer"> |
| <!--+ The "grammar" an optional configuration element specifying the default |
| | grammar used by the validator. When the "grammar" element is specified, |
| | the automatic detection of schema types will be disabled. |
| | |
| | This can also be specifed in pipelines as a parameter: |
| | <map:parameter name="grammar" value="... grammar identifier ..."/> |
| | |
| | For a list of well known grammars, see the JavaDoc documentation for the |
| | org.apache.cocoon.components.validation.Validator interface. |
| +--> |
| <!-- <grammar>... grammar identifier ...</grammar> --> |
| </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>&serializer-html-doctype-public;</doctype-public> |
| <doctype-system>&serializer-html-doctype-system;</doctype-system> |
| <encoding>&serializer-html-encoding;</encoding> |
| </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.3//EN</doctype-public> |
| <doctype-system>document-v13.dtd</doctype-system> |
| </map:serializer> |
| <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 logger="sitemap.serializer.text" mime-type="text/plain" name="text" src="org.apache.cocoon.serialization.TextSerializer"> |
| <encoding>UTF-8</encoding> |
| </map:serializer> |
| <map:serializer name="json" mime-type="application/json; charset=UTF-8" src="org.apache.cocoon.serialization.TextSerializer"> |
| <encoding>UTF-8</encoding> |
| </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:matcher name="i18n" src="org.apache.cocoon.matching.LocaleMatcher"> |
| <!-- FIXME (FOR-887): make these configurable, using same parameters for LocaleMatcher and LocaleAction --> |
| <!-- See http://cocoon.apache.org/2.1/apidocs/org/apache/cocoon/matching/LocaleMatcher.html for a description of these parameters --> |
| <default-locale language="en" country="US"/> |
| <negotiate>true</negotiate> |
| <use-locale>true</use-locale> |
| <use-locales>false</use-locales> |
| <use-blank-locale>true</use-blank-locale> |
| <locale-attribute>locale</locale-attribute> |
| </map:matcher> |
| </map:matchers> |
| <map:actions> |
| <map:action name="locale" src="org.apache.cocoon.acting.LocaleAction"> |
| <!-- See http://cocoon.apache.org/2.1/apidocs/org/apache/cocoon/acting/LocaleAction.html for a description of these parameters --> |
| <!-- FIXME (FOR-887): make these configurable, using same parameters for LocaleMatcher and LocaleAction --> |
| <default-locale language="en" country="US"/> |
| <use-locale>true</use-locale> |
| <store-in-request>false</store-in-request> |
| <create-session>false</create-session> |
| <store-in-session>false</store-in-session> |
| <store-in-cookie>false</store-in-cookie> |
| <locale-attribute>locale</locale-attribute> |
| </map:action> |
| </map:actions> |
| <map:selectors> |
| <map:selector name="exists" logger="sitemap.selector.exists" |
| src="org.apache.forrest.sourceexists.SourceExistsSelector" /> |
| <map:selector name="exception" logger="sitemap.selector.exception" src="org.apache.cocoon.selection.ExceptionSelector"> |
| <exception name="resourceNotFound" class="org.apache.cocoon.ResourceNotFoundException"/> |
| <exception name="transformer" class="javax.xml.transform.TransformerException"/> |
| <exception class="java.lang.Throwable" unroll="true"/> |
| </map:selector> |
| <map:selector name="config" logger="sitemap.selector.config" |
| src="org.apache.cocoon.selection.SimpleSelector" /> |
| &sitemap-selectors; |
| </map:selectors> |
| <map:pipes default="caching"> |
| <!-- standard pipes --> |
| <map:pipe name="caching" src="org.apache.cocoon.components.pipeline.impl.CachingProcessingPipeline"/> |
| <map:pipe name="noncaching" src="org.apache.cocoon.components.pipeline.impl.NonCachingProcessingPipeline"/> |
| <!-- profiling pipes --> |
| <!-- When you want to do profiling, then replace the |
| standard map:pipes above. |
| See docs/howto/howto-dev.html#debug-cocoon-profiler |
| See FOR-572 |
| --> |
| <!-- |
| <map:pipe name="caching" src="org.apache.cocoon.components.profiler.ProfilingCachingProcessingPipeline"/> |
| <map:pipe name="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: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:transform src="{lm:{type}}"> |
| <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="{properties:skinconf}"/> |
| </map:transform> |
| <map:select type="config"> |
| <map:parameter name="value" value="{properties:forrest.i18n}"/> |
| <map:when test="true"> |
| <map:act type="locale"> |
| <map:transform type="i18n"> |
| <map:parameter name="locale" value="{locale}"/> |
| </map:transform> |
| </map:act> |
| </map:when> |
| <map:otherwise> |
| <!-- |
| FIXME: strip remaining i18n elements and attributes. |
| workaround for http://issues.apache.org/jira/browse/FOR-592 |
| --> |
| <map:transform src="{lm:transform.xml.xml-i18n-stripped}"/> |
| </map:otherwise> |
| </map:select> |
| <!-- |
| FIXME: strip_namespace is because this bug: |
| https://issues.apache.org/jira/browse/COCOON-1529 |
| --> |
| <map:transform src="{lm:transform.xml.xml-namespace-stripped}"/> |
| <map:serialize/> |
| </map:resource> |
| </map:resources> |
| <!-- =========================== Pipelines ================================= --> |
| <map:pipelines> |
| <!-- Cocoon sitemap profiler --> |
| <map:pipeline internal-only="false"> |
| <map:match pattern="cprofile.*"> |
| <map:mount uri-prefix="" src="profiler.xmap" check-reload="yes" /> |
| </map:match> |
| </map:pipeline> |
| <!-- The navigation and links file "site.xml" --> |
| <map:pipeline internal-only="true"> |
| <map:match pattern="site.navigation.links.xml"> |
| <map:select type="exists"> |
| <map:when test="{lm:project.xml.site}"> |
| <map:generate src="{lm:project.xml.site}"/> |
| </map:when> |
| <map:when test="{lm:site.xml}"> |
| <map:generate src="{lm:site.xml}"/> |
| </map:when> |
| </map:select> |
| <map:transform type="xinclude"/> |
| <!-- FIXME: This is a workaround to Issue FOR-675 and commons-jxpath-1.2 --> |
| <map:transform src="{lm:transform.xml.xml-namespace-stripped}"/> |
| <!-- end FIXME: FOR-675 --> |
| <map:serialize type="xml"/> |
| </map:match> |
| </map:pipeline> |
| <map:pipeline type="caching" internal-only="true"> |
| <map:match pattern="*.xlex"> |
| <map:select type="exists"> |
| <map:when test="{lm:chaperon.lexicon.{1}}"> |
| <map:read src="{lm:chaperon.lexicon.{1}}"/> |
| </map:when> |
| <map:otherwise> |
| <!-- FIXME: FOR-718 "The Chaperon grammars were mistakenly moved to the Wiki plugin" |
| So this autogenerated *.xlex will fail. |
| --> |
| <map:generate type="text2xml" src="{lm:chaperon.grammar.{1}}"/> |
| <map:transform type="lexer" src="{lm:chaperon.lexicon.grm}"/> |
| <map:transform type="parser" src="{lm:chaperon.xgrammar.grm}"/> |
| <map:transform src="{lm:transform.chaperon.text4regex}"/> |
| <map:transform type="lexer" src="{lm:chaperon.lexicon.regex}"/> |
| <map:transform type="parser" src="{lm:chaperon.xgrammar.regex}"/> |
| <map:transform src="{lm:transform.chaperon.grammar.lexicon}"/> |
| <map:serialize type="xml"/> |
| </map:otherwise> |
| </map:select> |
| </map:match> |
| </map:pipeline> |
| <!-- |
| This is the user pipeline, that can answer requests instead |
| of the Forrest one, or let requests pass through. |
| To take over the rendering of a file it must match the file name and path. |
| To take over the generation of the intermediate format, it must give |
| Forrest the same filename but ending with xml, and a DTD that Forrest |
| recognizes. |
| --> |
| <map:pipeline internal-only="false"> |
| <map:select type="exists"> |
| <map:when test="{properties:sitemap}"> |
| <map:mount uri-prefix="" |
| src="{properties:sitemap}" |
| check-reload="yes" |
| pass-through="true"/> |
| </map:when> |
| </map:select> |
| </map:pipeline> |
| <!-- |
| This is the Plugin Sitemap that is responsible for calling |
| all the configured plug-ins before default processing takes place. |
| --> |
| <map:pipeline internal-only="false"> |
| <map:select type="exists"> |
| <map:when test="{properties:temp-dir}/internal.xmap"> |
| <map:mount uri-prefix="" src="{properties:temp-dir}/internal.xmap" check-reload="yes" pass-through="true"/> |
| </map:when> |
| </map:select> |
| </map:pipeline> |
| <!-- Project supplied locationmap. Projects can override this |
| matcher if they want to generate the locationmap dynamically --> |
| <map:pipeline internal-only="true"> |
| <map:match pattern="locationmap-project.xml"> |
| <map:generate src="{properties:content}locationmap.xml"/> |
| <map:serialize type="xml"/> |
| </map:match> |
| </map:pipeline> |
| <map:pipeline internal-only="false"> |
| <!-- |
| Delivers skin configuration information in a usable form |
| --> |
| <map:match pattern="skinconf.xml"> |
| <map:generate src="{lm:project.skinconf}" /> |
| <map:transform src="{lm:transform.xml.xml-doctype-stripped}"/> |
| <map:transform src="{lm:transform.old-skinconf.new-skinconf}"/> |
| <map:select type="exists"> |
| <map:when test="{lm:project-skinconf.xsl}"> |
| <map:transform src="{lm:project-skinconf.xsl}"/> |
| </map:when> |
| <map:when test="{lm:forrest-skinconf.xsl}"> |
| <map:transform src="{lm:forrest-skinconf.xsl}"/> |
| </map:when> |
| </map:select> |
| <map:transform src="{lm:common-skinconf.xsl}"/> |
| <map:transform type="skinconf"/> |
| <map:serialize type="xml" /> |
| </map:match> |
| <!-- Add some build information, which is added to the html head --> |
| <map:match pattern="build-info"> |
| <map:generate src="{lm:project.build-info}"/> |
| <map:serialize type="xml"/> |
| </map:match> |
| </map:pipeline> |
| <map:pipeline internal-only="false"> |
| <!-- ============================================================ --> |
| <!-- SOURCE FORMATS --> |
| <!-- Raw XML sources, typically doc-v12 format --> |
| <!-- ============================================================ --> |
| <!-- http://forrest.apache.org/docs/sitemap-ref.html#source_pipelines --> |
| <!-- Body content --> |
| <map:match pattern="**.xml"> |
| <map:match pattern="locationmap.xml"> |
| <map:generate src="{forrest:forrest.locationmap}" /> |
| <map:serialize type="xml"/> |
| </map:match> |
| <map:match pattern="plugins.xml"> |
| <map:mount uri-prefix="" src="plugins.xmap" check-reload="yes" /> |
| </map:match> |
| <map:match pattern="pluginDocs/plugins_(.*)/index(|\.source).xml" type="regexp"> |
| <map:mount uri-prefix="" src="plugins.xmap" check-reload="yes" /> |
| </map:match> |
| <map:match pattern="linkmap.*"> |
| <map:mount uri-prefix="" src="linkmap.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> |
| <!-- wholesite is preferred; site is here for compatibility --> |
| <map:match pattern="wholesite.xml"> |
| <map:mount uri-prefix="" src="aggregate.xmap" check-reload="yes" /> |
| </map:match> |
| <map:match pattern="site.xml"> |
| <map:mount uri-prefix="" src="aggregate.xmap" check-reload="yes" /> |
| </map:match> |
| <!-- Lucene index update and search --> |
| <map:match pattern="lucene-*.xml"> |
| <map:mount uri-prefix="" src="search.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-wholesite.*"> |
| <map:mount uri-prefix="" src="aggregate.xmap" check-reload="yes" /> |
| </map:match> |
| <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://forrest.apache.org/docs/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="{lm:project.{1}{2}.ehtml}"> |
| <map:generate src="{lm:project.{1}{2}.ehtml}" /> |
| <map:transform src="{lm:transform.html.htmlbody}" /> |
| <map:transform type="linkrewriter" src="cocoon:/{1}linkmap-{2}.html"/> |
| <map:transform src="{lm:transform.html.broken-links}" /> |
| <map:serialize type="xml" /> |
| </map:when> |
| </map:select> |
| </map:match> |
| |
| <!-- Default matches --> |
| |
| <!-- (HTML rendered from doc-v13 intermediate format --> |
| <map:match pattern="**body-*.html"> |
| <map:generate src="cocoon:/{1}{2}.xml"/> |
| <map:transform type="idgen"/> |
| <!-- Start fix for FOR-1088 --> |
| <map:transform src="{lm:transform.xml.xml-xpointer-attributes}"/> |
| <!-- End fix for FOR-1088 --> |
| <map:transform type="xinclude"/> |
| <map:transform type="linkrewriter" src="cocoon:/{1}linkmap-{2}.html"/> |
| <map:transform src="{lm:transform.html.broken-links}" /> |
| <map:call resource="skinit"> |
| <map:parameter name="type" value="transform.xdoc.html"/> |
| <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:transform src="{lm:transform.html.broken-links}" /> |
| <map:call resource="skinit"> |
| <map:parameter name="type" value="transform.book.menu"/> |
| <map:parameter name="path" value="{1}{2}.html"/> |
| </map:call> |
| <map:serialize type="xml"/> |
| </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> |
| <!-- ============================================================ --> |
| <!-- OUTPUT FORMATS --> |
| <!-- Serves content directly to the user --> |
| <!-- +==========================================================+ --> |
| <!-- http://forrest.apache.org/docs/sitemap-ref.html#output_pipelines --> |
| <map:pipeline internal-only="false"> |
| <map:select type="exists"> |
| <map:when test="{lm:plugin.xmap.output}"> |
| <map:mount uri-prefix="" src="{lm:plugin.xmap.output}" check-reload="yes" pass-through="true"/> |
| </map:when> |
| </map:select> |
| </map:pipeline> |
| <map:pipeline internal-only="false"> |
| <!--pipeline that "marries" the docs in the root dir with the skin to produce html--> |
| <map:match pattern="*.html"> |
| <map:aggregate element="site"> |
| <map:part src="cocoon:/skinconf.xml"/> |
| <map:part src="cocoon:/build-info"/> |
| <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="transform.site.xhtml"/> |
| <map:parameter name="path" value="{0}"/> |
| </map:call> |
| </map:match> |
| <!--pipeline that "marries" the docs in all other dirs then root with the skin to produce html--> |
| <map:match pattern="**/*.html"> |
| <map:aggregate element="site"> |
| <map:part src="cocoon:/skinconf.xml"/> |
| <map:part src="cocoon:/build-info"/> |
| <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="transform.site.xhtml"/> |
| <map:parameter name="path" value="{0}"/> |
| </map:call> |
| </map:match> |
| <!-- generate faq.fo specially --> |
| <map:match pattern="**faq.fo"> |
| <map:mount uri-prefix="" src="faq.xmap" check-reload="yes" /> |
| </map:match> |
| |
| <!-- handle PHP --> |
| <map:match type="regexp" pattern="^(.*?)([^/]*).php$"> |
| <map:generate src="cocoon://{1}{2}.html"/> |
| <map:serialize type="html"/> |
| </map:match> |
| <!-- handle Lucene requests --> |
| <map:match pattern="**.lucene"> |
| <map:mount uri-prefix="" src="search.xmap" check-reload="yes" /> |
| </map:match> |
| <!-- resources for plugins --> |
| <map:select type="exists"> |
| <map:when test="{lm:plugin.xmap.resources}"> |
| <map:mount uri-prefix="" |
| src="{lm:plugin.xmap.resources}" |
| check-reload="yes" |
| pass-through="true"/> |
| </map:when> |
| </map:select> |
| <!-- various other resources --> |
| <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="**.css.map"> |
| <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:match type="regexp" pattern="^(.+)?fonts/.+\.(woff2|woff|svg|eot|ttf)$"> |
| <map:mount uri-prefix="" src="resources.xmap" check-reload="yes" /> |
| </map:match> |
| <map:match type="regexp" pattern="^.+$"> |
| <map:select type="exists"> |
| <map:when test="{lm:project.{0}}"> |
| <map:mount uri-prefix="" src="raw.xmap" check-reload="yes" /> |
| </map:when> |
| </map:select> |
| </map:match> |
| </map:pipeline> |
| <!-- ============================================================ --> |
| <!-- input-module properties file --> |
| <!-- ============================================================ --> |
| <map:pipeline internal-only="false"> |
| <map:match pattern="module.*.properties"> |
| <map:generate type="module"> |
| <map:parameter name="input-module" value="{1}"/> |
| </map:generate> |
| <map:serialize type="xml"/> |
| </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> |
| <!-- Enable Cocoon error handling. See FOR-1245. --> |
| &sitemap-handle-errors; |
| </map:pipelines> |
| </map:sitemap> |