You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@forrest.apache.org by je...@apache.org on 2003/03/15 07:14:24 UTC
cvs commit: xml-forrest/src/resources/conf/old sitemap.xmap cocoon.xconf
jefft 2003/03/14 22:14:24
Added: src/resources/conf/old sitemap.xmap cocoon.xconf
Removed: src/resources/conf old-sitemap.xmap
Log:
Move old sitemap/config to old/ directory
Revision Changes Path
1.1 xml-forrest/src/resources/conf/old/sitemap.xmap
Index: sitemap.xmap
===================================================================
<?xml version="1.0"?>
<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
<!-- =========================== Components ================================ -->
<map:components>
<map:generators default="file">
<map:generator name="file" src="org.apache.cocoon.generation.FileGenerator" label="content" />
<map:generator name="directory" src="org.apache.cocoon.generation.DirectoryGenerator" label="content" />
<map:generator name="html" src="org.apache.cocoon.generation.HTMLGenerator" label="content" />
<map:generator name="libre" src="org.apache.forrest.yer.use.cocoon.HierarchyGenerator" label="content" />
<map:generator name="nekodtd" src="org.apache.forrest.components.generator.XNIConfigurableFileGenerator" label="content" />
<map:generator name="textparser" src="org.apache.cocoon.generation.TextParserGenerator" label="content" />
<!-- FIXME: Change this once better view handling is implemented -->
<map:generator name="file-nolabel" src="org.apache.cocoon.generation.FileGenerator" />
</map:generators>
<map:transformers default="xslt">
<map:transformer name="idgen" src="org.apache.cocoon.transformation.IdGeneratorTransformer">
<element>//*[local-name() = 'section']</element>
<id>title/text()</id>
</map:transformer>
<map:transformer name="linkrewriter" src="org.apache.cocoon.transformation.LinkRewriterTransformer">
<input-module name="linkmap" src="{src}" reloadable="true" />
<input-module name="site">
<input-module name="linkmap" src="{src}" reloadable="true" />
<prefix>/site//</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.xsltc" 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>com.icl.saxon.TransformerFactoryImpl</transformer-factory -->
<!-- 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: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>
<encoding>ISO-8859-1</encoding>
</map:serializer>
<map:serializer name="xml" mime-type="text/xml" src="org.apache.cocoon.serialization.XMLSerializer">
<encoding>ISO-8859-1</encoding>
</map:serializer>
<map:serializer name="rss091" mime-type="text/xml" src="org.apache.cocoon.serialization.XMLSerializer">
<doctype-public>-//Netscape Communications//DTD RSS 0.91//EN</doctype-public>
<doctype-system>http://my.netscape.com/publish/formats/rss-0.91.dtd</doctype-system>
<encoding>ISO-8859-1</encoding>
</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="svg2jpeg" mime-type="image/jpeg" src="org.apache.cocoon.serialization.SVGSerializer">
<parameter name="quality" type="float" value="1.0" />
</map:serializer>
<map:serializer name="svg2png" mime-type="image/png" src="org.apache.cocoon.serialization.SVGSerializer" />
</map:serializers>
<map:matchers default="wildcard">
<map:matcher name="wildcard" src="org.apache.cocoon.matching.WildcardURIMatcher" />
</map:matchers>
<!--
<map:selectors default="skin-parameter">
<map:selector name="request-parameter" logger="sitemap.selector.request-parameter"
src="org.apache.cocoon.selection.RequestParameterSelector">
<parameter-name>skin</parameter-name>
</map:selector>
<map:selector name="style-parameter" logger="sitemap.selector.request-parameter"
src="org.apache.cocoon.selection.RequestParameterSelector">
<parameter-name>style</parameter-name>
</map:selector>
</map:selectors>
-->
<map:actions>
<!-- <map:action logger="sitemap.action.request" name="request" src="org.apache.cocoon.acting.RequestParamAction"/> -->
<map:action logger="sitemap.action.resource-exists" name="resource-exists" src="org.apache.cocoon.acting.ResourceExistsAction" />
<map:action logger="sitemap.action.sourcetype" name="sourcetype" src="org.apache.forrest.components.sourcetype.SourceTypeAction">
<sourcetype name="document-v11">
<document-declaration public-id="-//APACHE//DTD Documentation V1.1//EN" />
</sourcetype>
<sourcetype name="howto-v10">
<document-declaration public-id="-//APACHE//DTD How-to V1.0//EN" />
</sourcetype>
<sourcetype name="docbook-v4.2">
<document-declaration public-id="-//OASIS//DTD DocBook XML V4.2//EN" />
</sourcetype>
<sourcetype name="sdocbook-v1.0">
<document-declaration public-id="-//OASIS//DTD Simplified DocBook XML V1.0//EN" />
</sourcetype>
</map:action>
</map:actions>
<map:selectors>
<map:selector logger="sitemap.selector.parameter" name="parameter" src="org.apache.cocoon.selection.ParameterSelector" />
</map:selectors>
<!--
The different pipeline implementations
@todo use map:pipe and map:pipes with next cocoon CVS update
-->
<map:pipelines default="caching">
<map:pipeline name="caching" src="org.apache.cocoon.components.pipeline.impl.CachingProcessingPipeline" />
<map:pipeline name="noncaching" src="org.apache.cocoon.components.pipeline.impl.NonCachingProcessingPipeline" />
<!-- The following two can be used for profiling:
<map:pipeline name="profile-caching" src="org.apache.cocoon.components.profiler.ProfilingCachingProcessingPipeline"/>
<map:pipeline name="profile-noncaching" src="org.apache.cocoon.components.profiler.ProfilingNonCachingProcessingPipeline"/>
-->
</map:pipelines>
</map:components>
<!-- =========================== Views =================================== -->
<map:views>
<map:view name="content" from-label="content">
<map:serialize type="xml" />
</map:view>
<map:view name="pretty-content" from-label="content">
<map:transform src="library/xslt/simple-xml2html.xsl" />
<map:serialize type="html" />
</map:view>
<map:view name="links" from-position="last">
<map:transform src="library/xslt/filterlinks.xsl" />
<map:serialize type="links" />
</map:view>
</map:views>
<map:resources>
<map:resource name="skinit">
<map:transform src="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}" />
<!-- Can set an alternative project skinconfig here
<map:parameter name="config-file" value="../../../../skinconf.xml"/>
-->
</map:transform>
<map:serialize />
</map:resource>
<map:resource name="book">
<map:act type="resource-exists">
<!-- If a hand-created book.xml exists, use it -->
<map:parameter name="url" value="content/xdocs/{dir}book.xml" />
<map:generate src="content/xdocs/{../dir}book.xml" />
<map:transform type="linkrewriter" src="cocoon:/{../dir}linkmap" />
<map:call resource="skinit">
<map:parameter name="type" value="book2menu" />
<map:parameter name="path" value="{../path}" />
</map:call>
</map:act>
<!-- If no book.xml, generate it from the linkmap. -->
<map:generate src="cocoon:/{dir}linkmap/{dir}" />
<!-- The above generates the subset of the linkmap relevant to our
directory. -->
<map:transform src="library/xslt/site2book.xsl" />
<map:call resource="skinit">
<map:parameter name="type" value="book2menu" />
<map:parameter name="path" value="{path}" />
</map:call>
</map:resource>
<map:resource name="skin-read">
<map:read src="skins/{forrest:skin}/{path}" mime-type="{mime-type}" />
</map:resource>
<!-- Checks the document type of the resource passed in the "src" parameter
and converts it to document if necessary -->
<map:resource name="transform-to-document">
<map:transform type="xinclude" />
<map:transform type="linkrewriter" src="{linkmap}" />
<map:act type="sourcetype" src="{src}">
<map:select type="parameter">
<map:parameter name="parameter-selector-test" value="{sourcetype}" />
<map:when test="howto-v10">
<map:transform src="library/xslt/howto2document.xsl" label="content" />
</map:when>
<map:when test="docbook-v4.2">
<map:transform src="library/xslt/docbook2document.xsl" label="content" />
</map:when>
<map:when test="sdocbook-v1.0">
<map:transform src="library/xslt/docbook2document.xsl" label="content" />
</map:when>
<map:otherwise />
</map:select>
</map:act>
<map:transform type="idgen" />
</map:resource>
</map:resources>
<!-- =========================== Pipelines ================================= -->
<map:pipelines>
<!-- Utility Pipeline that creates the grammer for the Chaperon Wiki -->
<map:pipeline internal-only="true">
<!-- IMPORTANT! This pipeline sould be cachable -->
<map:match pattern="chaperon/*.grm">
<map:generate type="textparser" src="chaperon/{1}.rgrm">
<map:parameter name="grammar" value="chaperon/grammars/rgrm.grm" />
</map:generate>
<map:transform src="chaperon/stylesheets/rgrm2grm.xsl" />
<map:serialize type="xml" />
</map:match>
</map:pipeline>
<!-- Pipeline that manages the internal URI space
For the external URI space manager, see the next pipeline.
Set it to internal-only="true" in production environment -->
<map:pipeline internal-only="false">
<map:match pattern="**tab-**.xml">
<map:generate src="content/xdocs/tabs.xml" />
<map:transform type="linkrewriter" src="cocoon:/linkmap" />
<map:call resource="skinit">
<map:parameter name="type" value="tab2menu" />
<map:parameter name="path" value="{2}" />
</map:call>
</map:match>
<map:match pattern="**book-**/*.xml">
<map:call resource="book">
<map:parameter name="dir" value="{2}/" />
<map:parameter name="path" value="{2}/{3}.xml" />
</map:call>
</map:match>
<map:match pattern="**book-**.xml">
<map:call resource="book">
<map:parameter name="dir" value="" />
<map:parameter name="path" value="{2}.xml" />
</map:call>
</map:match>
<map:match pattern="body-todo.xml">
<map:generate type="file-nolabel" src="status.xml" />
<map:transform type="linkrewriter" src="cocoon:/linkmap" />
<map:transform src="library/xslt/todo2document.xsl" label="content" />
<map:call resource="skinit">
<map:parameter name="type" value="document2html" />
<map:parameter name="path" value="/todo.xml" />
</map:call>
</map:match>
<map:match pattern="body-forrest-issues.xml">
<map:generate type="file-nolabel" src="http://issues.cocoondev.org/jira/secure/IssueNavigator.jspa?pid=10000&resolutionIds=-1&view=rss&reset=true" />
<map:transform src="library/xslt/rssissues2document.xsl" label="content" />
<map:transform type="idgen" />
<map:call resource="skinit">
<map:parameter name="type" value="document2html" />
<map:parameter name="nopdf" value="true" />
<map:parameter name="path" value="/forrest-issues.xml" />
</map:call>
</map:match>
<map:match pattern="body-changes.xml">
<map:generate type="file-nolabel" src="status.xml" />
<map:transform type="linkrewriter" src="cocoon:/linkmap" />
<map:transform src="library/xslt/changes2document.xsl" label="content" />
<map:call resource="skinit">
<map:parameter name="type" value="document2html" />
<map:parameter name="path" value="/changes.xml" />
</map:call>
</map:match>
<map:match pattern="body-**/faq.xml">
<map:generate type="file-nolabel" src="content/xdocs/{1}/faq.xml" />
<map:transform type="linkrewriter" src="cocoon:/{1}/linkmap" />
<map:transform src="library/xslt/faq2document.xsl" label="content" />
<map:call resource="skinit">
<map:parameter name="type" value="document2html" />
<map:parameter name="path" value="{1}/faq.xml" />
<map:parameter name="notoc" value="true" />
</map:call>
</map:match>
<map:match pattern="body-faq.xml">
<map:generate type="file-nolabel" src="content/xdocs/faq.xml" />
<map:transform type="linkrewriter" src="cocoon:/linkmap" />
<map:transform src="library/xslt/faq2document.xsl" label="content" />
<map:call resource="skinit">
<map:parameter name="type" value="document2html" />
<map:parameter name="path" value="faq.xml" />
<map:parameter name="notoc" value="true" />
</map:call>
</map:match>
<!-- index pages for contribution categories -->
<map:match pattern="body-community/*/index.xml">
<map:generate src="content/xdocs/community/{1}/index.xml" />
<map:transform type="linkrewriter" src="cocoon:/community/{1}/linkmap" />
<map:transform type="idgen" />
<map:call resource="skinit">
<map:parameter name="type" value="document2html" />
<map:parameter name="path" value="community/{1}/index" />
</map:call>
</map:match>
<!-- no special transformation, yet, for revision pages -->
<map:match pattern="body-community**revision-*.xml">
<map:generate src="content/xdocs/community{1}revision-{2}.xml" />
<map:transform type="linkrewriter" src="cocoon:/community/{1}/linkmap" />
<map:transform type="idgen" />
<map:call resource="skinit">
<map:parameter name="type" value="document2html" />
<map:parameter name="path" value="community/{1}/revision-{2}" />
</map:call>
</map:match>
<!-- all contribution docs -->
<map:match pattern="body-community/*/*/**.xml">
<map:aggregate element="all">
<map:part src="content/xdocs/community/{1}/{2}/{3}.xml" />
<map:part src="cocoon:/revisions-community/{1}/{2}/{3}" />
</map:aggregate>
<map:transform type="linkrewriter" src="cocoon:/community/{1}/{2}/linkmap" />
<map:transform type="idgen" />
<map:transform src="library/xslt/{1}2document.xsl" label="content" />
<map:call resource="skinit">
<map:parameter name="type" value="document2html" />
<map:parameter name="path" value="community/{1}/{2}/{3}.xml" />
</map:call>
</map:match>
<!-- revisions only implemented for community pages -->
<map:match pattern="revisions-community/*/*/**">
<map:generate type="directory" src="content/xdocs/community/{1}/{2}">
<map:parameter name="dateFormat" value="yyyy-MM-dd hh:mm" />
</map:generate>
<map:transform src="library/xslt/directory2revisions.xsl" label="content">
<map:parameter name="use-request-parameters" value="true" />
<map:parameter name="page" value="{3}" />
</map:transform>
<map:serialize type="xml" />
</map:match>
<!-- HTML DTD Documentation generation pipeline, makes use of NekoDTD tool -->
<map:match pattern="body-**.dtdx.xml">
<map:generate type="nekodtd" src="resources/schema/dtd/{1}.dtd">
<map:parameter name="config-class" value="org.cyberneko.dtd.DTDConfiguration" />
</map:generate>
<map:transform src="library/xslt/dtdx2flat.xsl" />
<map:transform src="library/xslt/flat2document.xsl" />
<map:transform type="idgen" />
<map:call resource="skinit">
<map:parameter name="type" value="document2html" />
<map:parameter name="isfaq" value="true" />
<map:parameter name="notoc" value="true" />
<map:parameter name="path" value="{1}.dtdx.xml" />
</map:call>
</map:match>
<!-- Generates body HTML for files in subdirs -->
<map:match pattern="body-**/*.xml">
<!-- if the file is present as ihtml, convert to doc-v11... -->
<map:act type="resource-exists">
<map:parameter name="url" value="content/xdocs/{1}/{2}.ihtml" />
<map:generate src="content/xdocs/{../1}/{../2}.ihtml" type="html" />
<map:transform src="library/xslt/html2document.xsl" />
<map:transform type="linkrewriter" src="cocoon:/{../1}/linkmap" />
<map:transform type="idgen" />
<map:call resource="skinit">
<map:parameter name="type" value="document2html" />
<map:parameter name="path" value="{../1}/{../2}.xml" />
</map:call>
</map:act>
<!-- if the file is present as html, give that to the user... -->
<map:act type="resource-exists">
<map:parameter name="url" value="content/xdocs/{1}/{2}.ehtml" />
<map:generate src="content/xdocs/{../1}/{../2}.ehtml" />
<map:transform src="library/xslt/html2htmlbody.xsl" />
<map:transform type="linkrewriter" src="cocoon:/{../1}/linkmap" />
<map:serialize type="xml" />
</map:act>
<!-- if the file is present as .cwiki, give that to the user... -->
<map:act type="resource-exists">
<map:parameter name="url" value="content/xdocs/{1}/{2}.cwiki" />
<map:generate src="content/xdocs/{../1}/{../2}.cwiki" type="textparser">
<map:parameter name="grammar" value="chaperon/grammars/wiki.grm" />
<map:parameter name="includeignorabletokens" value="true" />
</map:generate>
<map:transform src="library/xslt/wiki2htmlpage.xsl" />
<map:transform src="library/xslt/wiki2html.xsl" />
<map:transform src="library/xslt/html2document.xsl" />
<map:transform type="linkrewriter" src="cocoon:/{../1}/linkmap" />
<map:transform type="idgen" />
<map:call resource="skinit">
<map:parameter name="type" value="document2html" />
<map:parameter name="path" value="{../1}/{../2}.xml" />
</map:call>
</map:act>
<map:generate src="content/xdocs/{1}/{2}.xml" />
<map:call resource="transform-to-document">
<map:parameter name="src" value="content/xdocs/{1}/{2}.xml" />
<map:parameter name="linkmap" value="cocoon:/{1}/linkmap" />
</map:call>
<map:call resource="skinit">
<map:parameter name="type" value="document2html" />
<map:parameter name="path" value="{1}/{2}.xml" />
</map:call>
</map:match>
<!-- Generates body HTML for root-level files -->
<map:match pattern="body-**.xml">
<!-- if the file is present as ihtml, give that to the user... -->
<map:act type="resource-exists">
<map:parameter name="url" value="content/xdocs/{1}.ihtml" />
<map:generate src="content/xdocs/{../1}.ihtml" type="html" />
<map:transform src="library/xslt/html2document.xsl" />
<map:transform type="linkrewriter" src="cocoon:/linkmap" />
<map:transform type="idgen" />
<map:call resource="skinit">
<map:parameter name="type" value="document2html" />
<map:parameter name="path" value="{../1}.xml" />
</map:call>
</map:act>
<!-- if the file is present as html, give that to the user... -->
<map:act type="resource-exists">
<map:parameter name="url" value="content/xdocs/{1}.ehtml" />
<map:generate src="content/xdocs/{../1}.ehtml" />
<map:transform src="library/xslt/html2htmlbody.xsl" />
<map:transform type="linkrewriter" src="cocoon:/linkmap" />
<map:serialize type="xml" />
</map:act>
<!-- if the file is present as .cwiki, give that to the user... -->
<map:act type="resource-exists">
<map:parameter name="url" value="content/xdocs/{1}.cwiki" />
<map:generate src="content/xdocs/{../1}.cwiki" type="textparser">
<map:parameter name="grammar" value="chaperon/grammars/wiki.grm" />
<map:parameter name="includeignorabletokens" value="true" />
</map:generate>
<map:transform src="library/xslt/wiki2htmlpage.xsl" />
<map:transform src="library/xslt/wiki2html.xsl" />
<map:transform src="library/xslt/html2document.xsl" />
<map:transform type="linkrewriter" src="cocoon:/linkmap" />
<map:transform type="idgen" />
<map:call resource="skinit">
<map:parameter name="type" value="document2html" />
<map:parameter name="path" value="{../1}.xml" />
</map:call>
</map:act>
<map:generate src="content/xdocs/{1}.xml" />
<map:call resource="transform-to-document">
<map:parameter name="src" value="content/xdocs/{1}.xml" />
<map:parameter name="linkmap" value="cocoon:/linkmap" />
</map:call>
<map:call resource="skinit">
<map:parameter name="type" value="document2html" />
<map:parameter name="path" value="{1}.xml" />
</map:call>
</map:match>
</map:pipeline>
<map:pipeline>
<map:match pattern="abs-linkmap">
<map:generate src="content/xdocs/site.xml" />
<map:transform src="library/xslt/absolutize-linkmap.xsl" />
<map:serialize type="xml" />
</map:match>
<map:match pattern="abs-linkmap/**">
<map:generate src="cocoon:/abs-linkmap" />
<map:transform type="xpath">
<map:parameter name="include" value="//*[@href='{1}']" />
</map:transform>
<map:serialize type="xml" />
</map:match>
<map:match pattern="**linkmap">
<map:generate src="cocoon:/abs-linkmap" />
<map:transform src="library/xslt/relativize-linkmap.xsl">
<map:parameter name="path" value="{0}" />
</map:transform>
<map:serialize type="xml" />
</map:match>
<!-- This derivation of '**linkmap' is used when generating book.xml from a
site.xml. The /** suffix identifies a @href prefix which all nodes in the
returned subtree must have. -->
<map:match pattern="**linkmap/**">
<map:generate src="cocoon:/abs-linkmap/{2}" />
<map:transform src="library/xslt/relativize-linkmap.xsl">
<map:parameter name="path" value="{1}linkmap" />
</map:transform>
<map:serialize type="xml" />
</map:match>
</map:pipeline>
<map:pipeline internal-only="false">
<!-- ====================== editor ============================== -->
<map:match pattern="edit**">
<map:mount uri-prefix="edit" src="editor.xmap" check-reload="yes" />
</map:match>
<!-- ================== External URI-space ========================= -->
<map:match pattern="">
<map:redirect-to uri="{request:contextPath}/index.html" />
</map:match>
<map:match pattern="**">
<!-- Generates printerfriendly HTML from the body (link rewriting) -->
<!-- NKB disabled temporarily till errors are fixed
<map:match pattern="printer-friendly/**.html">
<map:generate src="cocoon://body-{1}.xml"/>
<map:serialize/>
</map:match>
<map:match pattern="**/printer-friendly/*.html">
<map:generate src="cocoon://body-{1}/{2}.xml"/>
<map:serialize/>
</map:match>
-->
<!-- Generates source HTML from the body (link rewriting) -->
<!-- NKB disabled temporarily till errors are fixed
<map:match pattern="doc-source/**.html">
<map:generate src="content/xdocs/{1}.xml"/>
<map:serialize type="xml"/>
</map:match>
<map:match pattern="**/doc-source/*.html">
<map:generate src="content/xdocs/{1}/{2}.xml"/>
<map:serialize type="xml"/>
</map:match>
-->
<!-- if the file is present verbatim as content, give that to the user... -->
<map:act type="resource-exists">
<map:parameter name="url" value="content/{1}" />
<map:match pattern="**.html">
<!--
Use this instead if you don't want JTidy to clean up your HTML
<map:read src="content/{0}" mime-type="text/html"/>
-->
<map:generate type="html" src="content/{1}.html" />
<map:serialize type="html" />
</map:match>
<map:match pattern="**.xml">
<map:generate type="file" src="content/{1}.xml" />
<map:serialize type="xml" />
</map:match>
<map:match pattern="skin/**.css">
<map:read src="content/{1}.css" mime-type="text/css" />
</map:match>
<map:match pattern="**.js">
<map:read src="content/{1}.js" mime-type="application/javascript" />
</map:match>
<map:match pattern="**.gif">
<map:read src="content/{1}.gif" mime-type="image/gif" />
</map:match>
<map:match pattern="**.png">
<map:read src="content/{1}.png" mime-type="image/png" />
</map:match>
<map:match pattern="**.jpg">
<map:read src="content/{1}.jpg" mime-type="image/jpeg" />
</map:match>
<map:match pattern="**.jpeg">
<map:read src="content/{1}.jpeg" mime-type="image/jpeg" />
</map:match>
<map:match pattern="**.pdf">
<map:read src="content/{1}.pdf" mime-type="application/pdf" />
</map:match>
<map:match pattern="**.swf">
<map:read src="content/{1}.swf" mime-type="application/x-shockwave-flash" />
</map:match>
<map:match pattern="**">
<map:read src="content/{1}" mime-type="application/unknown" />
</map:match>
</map:act>
<!-- ... otherwise try to generate it using these rules. -->
<map:match pattern="apachestats">
<map:generate type="html" src="http://www.apache.org/~rubys/stats/xml.apache.org/">
<map:parameter name="xpath" value="/html/body//a[contains(@href,'.xml')]" />
</map:generate>
<map:serialize type="xml" />
</map:match>
<map:match pattern="*.html">
<map:aggregate element="site">
<map:part src="cocoon:/book-{1}.xml" />
<map:part src="cocoon:/tab-{1}.xml" />
<map:part src="cocoon:/body-{1}.xml" label="content" />
</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:/{1}/book-{1}/{2}.xml" />
<map:part src="cocoon:/{1}/tab-{1}/{2}.xml" />
<map:part src="cocoon:/body-{1}/{2}.xml" label="content" />
</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="*.dtdx.pdf">
<map:generate type="nekodtd" src="resources/schema/dtd/{1}.dtd">
<map:parameter name="config-class" value="org.cyberneko.dtd.DTDConfiguration" />
</map:generate>
<map:transform src="library/xslt/dtdx2flat.xsl" />
<map:transform src="library/xslt/flat2document.xsl" />
<map:transform src="skins/{forrest:skin}/xslt/fo/document2fo.xsl" />
<map:serialize type="fo2pdf" />
</map:match>
<map:match pattern="**/*.dtdx.pdf">
<map:generate type="nekodtd" src="resources/schema/dtd/{2}.dtd">
<map:parameter name="config-class" value="org.cyberneko.dtd.DTDConfiguration" />
</map:generate>
<map:transform src="library/xslt/dtdx2flat.xsl" />
<map:transform src="library/xslt/flat2document.xsl" />
<map:transform src="skins/{forrest:skin}/xslt/fo/document2fo.xsl" />
<map:serialize type="fo2pdf" />
</map:match>
<map:match pattern="changes.pdf">
<map:generate type="file-nolabel" src="status.xml" />
<map:transform src="library/xslt/changes2document.xsl" label="content" />
<map:transform src="skins/forrest-site/xslt/fo/document2fo.xsl" />
<map:serialize type="fo2pdf" />
</map:match>
<map:match pattern="changes.rss">
<map:generate type="file-nolabel" src="status.xml" />
<map:transform src="library/xslt/changes2rss.xsl" label="content" />
<map:serialize type="rss091" />
</map:match>
<map:match pattern="todo.pdf">
<map:generate type="file-nolabel" src="status.xml" />
<map:transform src="library/xslt/todo2document.xsl" label="content" />
<map:transform src="skins/forrest-site/xslt/fo/document2fo.xsl" />
<map:serialize type="fo2pdf" />
</map:match>
<map:match pattern="faq.pdf">
<map:generate type="file-nolabel" src="content/xdocs/faq.xml" />
<map:transform src="library/xslt/faq2document.xsl" label="content" />
<map:transform src="skins/forrest-site/xslt/fo/document2fo.xsl" />
<map:serialize type="fo2pdf" />
</map:match>
<map:match pattern="**.pdf">
<map:generate src="content/xdocs/{1}.xml" />
<map:call resource="transform-to-document">
<map:parameter name="src" value="content/xdocs/{1}.xml" />
<map:parameter name="linkmap" value="cocoon:/linkmap" />
</map:call>
<map:transform src="skins/{forrest:skin}/xslt/fo/document2fo.xsl" />
<map:serialize type="fo2pdf" />
</map:match>
<!-- ================ Directory redirects =========================== -->
<!-- Redirect any request for a directory to the directory's index.html file -->
<map:match pattern="**/">
<map:redirect-to uri="{request:contextPath}/{1}/index.html" />
</map:match>
<!-- ================ Libre =========================== -->
<map:match pattern="libre">
<map:generate type="libre" src="content/xdocs">
<map:parameter name="depth" value="-1" />
</map:generate>
<map:serialize type="xml" />
</map:match>
<!-- ================ Static =========================== -->
<map:match pattern="skin/**.js">
<map:call resource="skin-read">
<map:parameter name="path" value="scripts/{1}.js" />
<map:parameter name="mime-type" value="application/javascript" />
</map:call>
</map:match>
<map:match pattern="**/skin/**.js">
<map:call resource="skin-read">
<map:parameter name="path" value="scripts/{2}.js" />
<map:parameter name="mime-type" value="application/javascript" />
</map:call>
</map:match>
<map:match pattern="**.js">
<map:read src="resources/scripts/{1}.js" mime-type="application/javascript" />
</map:match>
<map:match pattern="skin/**.css">
<map:call resource="skin-read">
<map:parameter name="path" value="css/{1}.css" />
<map:parameter name="mime-type" value="text/css" />
</map:call>
</map:match>
<map:match pattern="**/skin/**.css">
<map:call resource="skin-read">
<map:parameter name="path" value="css/{2}.css" />
<map:parameter name="mime-type" value="text/css" />
</map:call>
</map:match>
<map:match pattern="**.css">
<map:read src="resources/css/{1}.css" mime-type="text/css" />
</map:match>
<map:match pattern="skin/images/**.*">
<map:call resource="skin-read">
<map:parameter name="path" value="images/{1}.{2}" />
<map:parameter name="mime-type" value="image/{2}" />
</map:call>
</map:match>
<!-- WARNING: You are strongly advised not to make use of this target, as it
leads to browsers having to cache multiple copies of the images, one per
directory. See the forrest-site skin XSLTs for an example of how to make
all image references use the 'skin/images/**.*' rule above -->
<map:match pattern="**/skin/images/**.*">
<map:call resource="skin-read">
<map:parameter name="path" value="images/{2}.{3}" />
<map:parameter name="mime-type" value="image/{3}" />
</map:call>
</map:match>
<!-- DS: handles images local to a contributor directory -->
<map:match pattern="**my-images/**.*">
<map:read src="content/xdocs/{1}my-images/{2}.{3}" mime-type="image/{3}" />
</map:match>
<map:match pattern="images/**.png">
<map:act type="resource-exists">
<map:parameter name="url" value="resources/images/{1}.svg" />
<map:generate src="resources/images/{../1}.svg" />
<map:serialize type="svg2png" />
</map:act>
<map:read src="resources/images/{1}.png" mime-type="image/png" />
</map:match>
<map:match pattern="images/**.*">
<map:read src="resources/images/{1}.{2}" mime-type="image/{2}" />
</map:match>
<!-- WARNING: See above: this target should not be made use of -->
<map:match pattern="**/images/**.*">
<map:read src="resources/images/{2}.{3}" mime-type="image/{3}" />
</map:match>
<map:match pattern="**favicon.ico">
<map:call resource="skin-read">
<map:parameter name="path" value="images/favicon.ico" />
<map:parameter name="mime-type" value="image/x-ico" />
</map:call>
</map:match>
</map:match>
</map:pipeline>
</map:pipelines>
</map:sitemap>
1.1 xml-forrest/src/resources/conf/old/cocoon.xconf
Index: cocoon.xconf
===================================================================
<?xml version="1.0" encoding="UTF-8"?>
<cocoon version="2.1">
<!--+
| This is the Apache Cocoon configuration file. This is the place
| where you configure the components that Cocoon uses internally (stuff
| like the cache) or handles to the pipeline components
| (stuff like XML parsers or XSLT processors).
+-->
<!-- =========================== Sitemap =============================== -->
<!--+
| New implementation of the sitemap. It is interpreted, so load times are super-fast,
| and request processing is slightly faster than with the compiled engine thanks to
| the HotSpot VM.
|
| Reloading of the sitemap:
| The check-reload attribute determines if the sitemap is reloaded on change.
| Set to "no", the sitemap is generated once at startup.
| Set to "yes", the sitemap is regenerated if it changes.
|
| For development environment, set the check-reload to yes.
| For production environment, it is advisable to set the check-reload to no.
+-->
<sitemap check-reload="yes" config="resource://org/apache/cocoon/components/treeprocessor/treeprocessor-builtins.xml" file="context://sitemap.xmap" logger="sitemap"/>
<!-- =================== Sitemap Input/Output Modules ====================== -->
<!--+
| InputModules are a replacement to reading values directly
| e.g. from request parameters. By using this abstraction and
| indirection, other components can be more generic and changes
| to the application logic are easier.
|
| A number of components already use InputModules: the sitemap processor,
| flow, some matchers, the linkrewriting transformer, database actions
| and more.
|
| For example the sitemap processor allows to obtain a value
| named "foo" from an the InputModule for request parameters by
| writing {request-param:foo} wherever a sitemap variable is
| allowed.
|
| Some InputModules need the help of other InputModules to
| obtain values and only apply a function to the obtained value
| or change the name of the attribute. These modules usually
| carry "Meta" in their name. An example is the ChainMetaModule
| which tries several other modules in turn until a non-null
| value is obtained or all modules are tied.
|
| For details and optional configuration parameters refer to the
| accompanying javadocs.
+-->
<input-modules>
<component-instance class="org.apache.cocoon.components.modules.input.GlobalInputModule" logger="core.modules.input" name="global"/>
<component-instance class="org.apache.cocoon.components.modules.input.RequestModule" logger="core.modules.input" name="request"/>
<component-instance class="org.apache.cocoon.components.modules.input.SessionModule" logger="core.modules.input" name="session"/>
<component-instance class="org.apache.cocoon.components.modules.input.RequestParameterModule" logger="core.modules.input" name="request-param"/>
<component-instance class="org.apache.cocoon.components.modules.input.RawRequestParameterModule" logger="core.modules.input" name="raw-request-param"/>
<component-instance class="org.apache.cocoon.components.modules.input.RequestAttributeModule" logger="core.modules.input" name="request-attr"/>
<component-instance class="org.apache.cocoon.components.modules.input.HeaderAttributeModule" logger="core.modules.input" name="request-header"/>
<component-instance class="org.apache.cocoon.components.modules.input.SessionAttributeModule" logger="core.modules.input" name="session-attr"/>
<component-instance class="org.apache.cocoon.components.modules.input.SystemPropertyModule" logger="core.modules.input" name="system-property"/>
<component-instance class="org.apache.cocoon.components.modules.input.StringConstantModule" logger="core.modules.input" name="constant"/>
<component-instance class="org.apache.cocoon.components.modules.input.RandomNumberModule" logger="core.modules.input" name="random"/>
<component-instance class="org.apache.cocoon.components.modules.input.DigestMetaModule" logger="core.modules.input" name="digest"/>
<component-instance class="org.apache.cocoon.components.modules.input.DateInputModule" logger="core.modules.input" name="date">
<!-- <format>EEE, d MMM yyyy HH:mm:ss Z</format> -->
<!--Eg: Mon, 28 Oct 2002 03:08:49 +1100 -->
</component-instance>
<component-instance class="org.apache.cocoon.components.modules.input.NullInputModule" logger="core.modules.input" name="nullinput"/>
<component-instance class="org.apache.cocoon.components.modules.input.XMLMetaModule" logger="core.modules.input" name="xmlmeta"/>
<component-instance class="org.apache.cocoon.components.modules.input.MapMetaModule" logger="core.modules.input" name="mapmeta"/>
<component-instance class="org.apache.cocoon.components.modules.input.DateMetaInputModule" logger="core.modules.input" name="datemeta"/>
<component-instance class="org.apache.cocoon.components.modules.input.XMLFormInput" logger="core.modules.input" name="xmlform"/>
<component-instance class="org.apache.cocoon.components.modules.input.JXPathMetaModule" logger="core.modules.input" name="jxpath"/>
<component-instance class="org.apache.cocoon.components.modules.input.SimpleMappingMetaModule" logger="core.modules.input" name="simplemap"/>
<component-instance name="defaults" class="org.apache.cocoon.components.modules.input.DefaultsMetaModule">
<values>
<skin>forrest-site</skin>
<base-url>/forrest</base-url>
</values>
</component-instance>
<component-instance logger="core.modules.input" name="forrest" class="org.apache.cocoon.components.modules.input.ChainMetaModule">
<input-module name="request-param"/>
<input-module name="request-attr"/>
<input-module name="session-attr"/>
<input-module name="defaults"/>
</component-instance>
<!-- For the site: scheme -->
<component-instance
class="org.apache.cocoon.components.modules.input.XMLFileModule"
logger="core.modules.xml" name="linkmap">
<file src="cocoon:/linkmap"/>
<!-- Shouldn't this be the default? -->
<reloadable>true</reloadable>
</component-instance>
<!-- Links to URIs within the site -->
<component-instance
class="org.apache.cocoon.components.modules.input.SimpleMappingMetaModule"
logger="core.modules.mapper" name="site">
<input-module name="linkmap"/>
<prefix>/site//</prefix>
<suffix>/@href</suffix>
</component-instance>
<!-- Links to external URIs, as distinct from 'site' URIs -->
<component-instance
class="org.apache.cocoon.components.modules.input.SimpleMappingMetaModule"
logger="core.modules.mapper" name="ext">
<input-module name="linkmap"/>
<prefix>/site/external-refs//</prefix>
<suffix>/@href</suffix>
</component-instance>
</input-modules>
<!-- ================================= XML ================================ -->
<!--+
| XML Parser
|
| The default parser used in Apache Cocoon is
| org.apache.excalibur.xml.impl.JaxpParser. Apache Cocoon requires a
| JAXP 1.1 parser.
| If you have problems because your servlet environment uses its own
| parser not conforming to JAXP 1.1 try using the alternative
| XercesParser instead of the JaxpParser. To activate the XercesParser,
| change the class attribute to
| class="org.apache.excalibur.xml.impl.XercesParser"
| You will also need to add a system property to your JVM,
| probably on the startup of your servlet engine like this:
| -Dorg.apache.excalibur.xml.sax.SAXParser=org.apache.excalibur.xml.impl.XercesParser
|
| Configuration for the JaxpParser (not the XercesParser!):
| - validate (boolean, default = false): This parameter causes the parser
| to be a validating parser.
| XML validation is only being used for the documentation build.
| (If you are going to use it elsewhere, then do so with caution.)
| You really should have validated all of your XML documents already,
| according to their proper DTD or schema. Do not expect Cocoon to do it.
| - namespace-prefixes (boolean, default = false) : do we want
| namespaces declarations also as 'xmlns:' attributes ?
| Note : setting this to true confuses some XSL processors (e.g. Saxon).
| - stop-on-warning (boolean, default = true) : should the parser
| stop parsing if a warning occurs ?
| - stop-on-recoverable-error (boolean, default = true) : should the parser
| stop parsing if a recoverable error occurs ?
| - reuse-parsers (boolean, default = true) : do we want to reuse
| parsers or create a new parser for each parse ?
| Note : even if this parameter is true, parsers are not
| recycled in case of parsing errors : some parsers (e.g. Xerces) don't like
| to be reused after failure.
| - sax-parser-factory (string) : the name of the SAXParserFactory
| implementation class to be used instead of using the standard JAXP mechanism
| (SAXParserFactory.newInstance()). This allows to choose
| unambiguously the JAXP implementation to be used when several of them are
| available in the classpath.
| - document-builder-factory (string) : the name of the
| DocumentBuilderFactory implementation to be used (similar to
| sax-parser-factory for DOM).
+-->
<!-- HSQLDB Server for samples:
Comment this section out if you don't care about the samples.
port : number port where the server is listening
silent : true/false display all queries
trace : true/false display JDBC trace messages
-->
<!--
<hsqldb-server class="org.apache.cocoon.components.hsqldb.ServerImpl" logger="core.hsqldb-server" pool-max="1" pool-min="1">
<parameter name="port" value="9002"/>
<parameter name="silent" value="true"/>
<parameter name="trace" value="false"/>
</hsqldb-server>
-->
<xml-parser class="org.apache.excalibur.xml.impl.JaxpParser" logger="core.xml-parser" pool-grow="4" pool-max="32" pool-min="8">
<parameter name="validate" value="false"/>
<parameter name="namespace-prefixes" value="false"/>
<parameter name="stop-on-warning" value="true"/>
<parameter name="stop-on-recoverable-error" value="true"/>
<parameter name="reuse-parsers" value="false"/>
<!--parameter name="sax-parser-factory" value="???"/-->
<!--parameter name="document-builder-factory" value="???"/-->
</xml-parser>
<!--+
| Entity resolution catalogs
|
| The default catalog is distributed at /WEB-INF/entities/catalog
| This is the contextual pathname for Cocoon resources.
| You can override this path, if necessary, using the "catalog" parameter:
|
| <parameter name="catalog" value="/WEB-INF/entities/catalog"/>
|
| However, it is probably desirable to leave this default catalog config
| and declare your own local catalogs, which are loaded in addition to
| the system catalog.
|
| There are various ways to do local configuration (see "Entity Catalogs"
| documentation). One way is via the CatalogManager.properties file.
| As an additional method, you can specify the "local-catalog" parameter here.
|
| local-catalog:
| The full filesystem pathname to a single local catalog file.
|
| <parameter name="local-catalog" value="/usr/local/sgml/mycatalog"/>
|
| verbosity:
| The level of messages for status/debug (messages go to standard output)
| The following messages are provided ...
| 0 = none
| 1 = ? (... not sure yet)
| 2 = 1+, Loading catalog, Resolved public, Resolved system
| 3 = 2+, Catalog does not exist, resolvePublic, resolveSystem
| 10 = 3+, List all catalog entries when loading a catalog
| (Cocoon also logs the "Resolved public" messages.)
|
| <parameter name="verbosity" value="2"/>
+-->
<entity-resolver class="org.apache.cocoon.components.resolver.ResolverImpl" logger="core.resolver">
<parameter name="catalog" value="/resources/schema/catalog"/>
<parameter name="local-catalog" value="/home/jeff/apache/xml/xml-forrest/src/documentation/resources/schema/catalog"/>
<parameter name="verbosity" value="1"/>
</entity-resolver>
<!--+
| XSLT Processor
|
| 'incremental-processing' (only works with Xalan) allows the XSLT
| processor to start the output of the transformation as soon as possible.
| if set to false, the transforer waits until the end of the
| transformation to deliver the output.
+-->
<xslt-processor logger="core.xslt-processor">
<parameter name="use-store" value="false"/>
<parameter name="incremental-processing" value="true"/>
</xslt-processor>
<!-- Xpath Processor: -->
<xpath-processor class="org.apache.excalibur.xml.xpath.XPathProcessorImpl" logger="core.xpath-processor"/>
<!-- The XMLizers converts different mime-types to XML -->
<xmlizer>
<parser mime-type="text/html" role="org.apache.excalibur.xml.sax.SAXParser/HTML"/>
<parser mime-type="text/xml" role="org.apache.excalibur.xml.sax.SAXParser"/>
<parser mime-type="text/plain" role="org.apache.excalibur.xml.sax.SAXParser/Text"/>
</xmlizer>
<!-- ============================ Object Stores =========================== -->
<!--+
| Transient Store: holds objects that don't have to survive shutdown
+-->
<transient-store logger="core.store.transient">
<!--+
| Indicates how many objects will be hold in the cache.
| When the number of maxobjects has been reached. The last object in the
| cache will be thrown out.
+-->
<parameter name="maxobjects" value="100"/>
<!-- Turns the swapping of the objects into persistent cache on and off. -->
<parameter name="use-persistent-cache" value="true"/>
</transient-store>
<!--+
| Persistent Store: holds objects that have to survive shutdown.
| WARNING: FilesystemStore is broken. Cocoon uses JispFilesystemStore instead.
|
| Common configuration parameters:
| use-cache-directory: Indicates that cache directory specified in
| web.xml should be used.
| use-work-directory: Indicates that work directory specified in
| web.xml should be used.
| directory: Specifies directory to use. Absolute or relative to the
| work directory.
|
| JispFilesystemStore configuration parameters:
| datafile: Name of the store file to use. Defaults to cocoon.dat
| indexfile: Name of the index file to use. Defaults to cocoon.idx
| order: FIXME: put description here.
+-->
<persistent-store class="org.apache.cocoon.components.store.JispFilesystemStore"
logger="core.store.persistent">
<parameter name="use-cache-directory" value="true"/>
<parameter name="order" value="2701"/>
</persistent-store>
<!--+
| Store Janitor: the store garbage collector and memory usage controller.
|
| Be careful with the heapsize and freememory parameters. Wrong values can
| cause high cpu usage. Example configuration:
| Jvm settings:
| -Xmx200000000
| store-janitor settings:
| <parameter name="freememory" value="5000000"/>
| <parameter name="heapsize" value="150000000"/>
|
| It is recommended to have heapsize equal to -Xmx, especially
| on Sun's JVM which are unable to shrink its heap once it grows above minimum.
| Freememory should be greater than amount of memory necessary for normal
| application operation.
+-->
<store-janitor logger="core.store.janitor">
<!-- How much free memory shall be available in the jvm -->
<parameter name="freememory" value="1000000"/>
<!-- Indicates the limit of the jvm memory consumption. The default max heapsize for Sun's JVM is 64Mb -->
<parameter name="heapsize" value="67108864"/>
<!-- How often shall the cleanup thread check memory -->
<parameter name="cleanupthreadinterval" value="10"/>
<!-- Indicates the thread priority of the cleanup thread -->
<parameter name="threadpriority" value="5"/>
<!-- How much percent of the elements of each registered Store shall be removed when low on memory. Default 10% -->
<parameter name="percent_to_free" value="10"/>
</store-janitor>
<!-- ========================= Protocol Handlers =========================== -->
<!--+
| Source Factories
|
| Each source factory adds a special uri protocol to the system.
+-->
<source-factories>
<component-instance class="org.apache.excalibur.source.impl.ResourceSourceFactory" name="resource"/>
<component-instance class="org.apache.cocoon.components.source.impl.ContextSourceFactory" name="context"/>
<component-instance class="org.apache.cocoon.components.source.impl.SitemapSourceFactory" name="cocoon"/>
<component-instance class="org.apache.cocoon.components.source.impl.FileSourceFactory" name="file"/>
<component-instance class="org.apache.excalibur.source.impl.URLSourceFactory" name="*"/>
</source-factories>
<!-- ====================== System Components =========================== -->
<!--+
| The core classloader implementation
+-->
<classloader class="org.apache.cocoon.components.classloader.ClassLoaderManagerImpl" logger="core.classloader"/>
<!--+
| XML compiler/decompiler
|
| these components are used to process SAX events and produce a binary
| representation that is much more compact and efficient for
| subsequent parsing. These are used by the cache system to save
| the intermediate results of the pipeline stages reducing the overhead
| of xml parsing/serialization.
+-->
<xml-serializer class="org.apache.cocoon.components.sax.XMLByteStreamCompiler" logger="core.xml-serializer" pool-grow="4" pool-max="32" pool-min="8"/>
<xml-deserializer class="org.apache.cocoon.components.sax.XMLByteStreamInterpreter" logger="core.xml-deserializer" pool-grow="4" pool-max="32" pool-min="8"/>
<!--+
| The Monitor keeps track on changes to a Resource.
+-->
<monitor logger="core.monitor">
<thread frequency="10000" priority="5"/>
</monitor>
<!--+
| The Cache Manager is a component that can be used to cache content.
| It is currently used by the cinclude transformer
+-->
<component class="org.apache.cocoon.transformation.helpers.DefaultIncludeCacheManager" role="org.apache.cocoon.transformation.helpers.IncludeCacheManager">
<!-- Set the preemptive-loader-url to a pipeline inside Cocoon that contains the
preemptive loader action. The URL must be absolute!
<parameter name="preemptive-loader-url"
value="http://localhost:8080/cocoon/samples/cinclude/loader"/>
-->
</component>
<!-- Profiler:
The profiler facilitates the gathering of statistics about timings of
different steps of pipelines. Profiler consists of several components:
profiling pipeline and profiler generator
which are used to generate the profile report. You need to enable all of
these components to use profiler.
-->
<profiler results="10"/>
</cocoon>