| <?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. |
| --> |
| <!-- =============================================== |
| Pipelines defining all Source XML types Forrest can handle. |
| Converts from arbitrary formats to standard Forrest doc-v12 XML. |
| |
| First, checks if *.cwiki or *.ihtml exists, and uses them if present. |
| Otherwise, the default *.xml handling is used. The XML's DTD type is |
| discovered using the SourceTypeAction, and an appropriate transformation |
| applied. Thus to add new XML types, just define a new <sourcetype> |
| and an appropriate <map:when> handler. |
| |
| Generates : Source XML, Body HTML for *.ehtml |
| Example URL: http://localhost:8888/index.xml |
| Used by : *.html and *.pdf pipelines in sitemap.xmap |
| Uses : content/xdocs/**.xml |
| |
| $Revision: 1.8 $ |
| ==================================================== --> |
| |
| <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0"> |
| <map:components> |
| <!-- FIXME (JJP): This should not be here. Should be define on sitemap --> |
| <map:generators default="file"> |
| <map:generator name="html" src="org.apache.cocoon.generation.HTMLGenerator"> |
| <jtidy-config>WEB-INF/jtidy.properties</jtidy-config> |
| </map:generator> |
| <map:generator name="text2xml" logger="sitemap.generator.textgenerator" |
| src="org.apache.cocoon.generation.TextGenerator"> |
| <parameter name="localizable" value="true"/> |
| </map:generator> |
| <map:generator name="exception" |
| src="org.apache.cocoon.generation.ParseExceptionGenerator"/> |
| |
| </map:generators> |
| <map:serializers default="html"/> |
| <map:matchers default="wildcard"/> |
| |
| <map:transformers default="xslt"> |
| <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:transformer name="extparser" |
| src="org.apache.cocoon.transformation.ExtendedParserTransformer" |
| logger="sitemap.transformer.extendedparser"> |
| </map:transformer> |
| </map:transformers> |
| |
| <map:actions> |
| <map:action logger="sitemap.action.sourcetype" name="sourcetype" src="org.apache.cocoon.acting.sourcetype.SourceTypeAction"> |
| <sourcetype name="document-v10"> |
| <document-declaration public-id="-//APACHE//DTD Documentation V1.0//EN" /> |
| </sourcetype> |
| <sourcetype name="howto-v10"> |
| <document-declaration public-id="-//APACHE//DTD How-to V1.0//EN" /> |
| </sourcetype> |
| <sourcetype name="todo-v10"> |
| <document-declaration public-id="-//APACHE//DTD Todo V1.0//EN" /> |
| </sourcetype> |
| <sourcetype name="changes-v10"> |
| <document-declaration public-id="-//APACHE//DTD Changes V1.0//EN" /> |
| </sourcetype> |
| <sourcetype name="document-v11"> |
| <document-declaration public-id="-//APACHE//DTD Documentation V1.1//EN" /> |
| </sourcetype> |
| <sourcetype name="howto-v11"> |
| <document-declaration public-id="-//APACHE//DTD How-to V1.1//EN" /> |
| </sourcetype> |
| <sourcetype name="todo-v11"> |
| <document-declaration public-id="-//APACHE//DTD Todo V1.1//EN" /> |
| </sourcetype> |
| <sourcetype name="changes-v11"> |
| <document-declaration public-id="-//APACHE//DTD Changes V1.1//EN" /> |
| </sourcetype> |
| <sourcetype name="todo-v12"> |
| <document-declaration public-id="-//APACHE//DTD Todo V1.2//EN" /> |
| </sourcetype> |
| <sourcetype name="changes-v12"> |
| <document-declaration public-id="-//APACHE//DTD Changes V1.2//EN" /> |
| </sourcetype> |
| <sourcetype name="howto-v12"> |
| <document-declaration public-id="-//APACHE//DTD How-to V1.2//EN" /> |
| </sourcetype> |
| <sourcetype name="document-v20a"> |
| <document-declaration public-id="-//APACHE//DTD Documentation V2.0a//EN" /> |
| </sourcetype> |
| <sourcetype name="docbook-v4.2"> |
| <document-declaration public-id="-//OASIS//DTD DocBook XML V4.2//EN" /> |
| </sourcetype> |
| <sourcetype name="docbook-v4.1.2"> |
| <document-declaration public-id="-//OASIS//DTD DocBook XML V4.1.2//EN" /> |
| </sourcetype> |
| <sourcetype name="sdocbook-v1.0"> |
| <document-declaration public-id="-//OASIS//DTD Simplified DocBook XML V1.0//EN" /> |
| </sourcetype> |
| </map:action> |
| <map:action logger="sitemap.action.locale" name="locale" src="org.apache.cocoon.acting.LocaleAction"> |
| </map:action> |
| </map:actions> |
| <map:selectors default="parameter"> |
| <map:selector logger="sitemap.selector.parameter" name="parameter" src="org.apache.cocoon.selection.ParameterSelector" /> |
| <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:selector logger="sitemap.selector.config" name="config" src="org.apache.cocoon.selection.SimpleSelector" /> |
| </map:selectors> |
| </map:components> |
| |
| <map:resources> |
| <map:resource name="transform-to-document"> |
| <map:act type="sourcetype" src="{src}"> |
| <map:select type="parameter"> |
| <map:parameter name="parameter-selector-test" value="{sourcetype}" /> |
| |
| <map:when test="document-v10"> |
| <!-- FIXME (JJP): This should use the v12 now--> |
| <map:transform src="{forrest:stylesheets}/docv10todocv11.xsl" /> |
| </map:when> |
| |
| <map:when test="document-v20a"> |
| <map:transform src="{forrest:stylesheets}/docv20todocv12.xsl" /> |
| </map:when> |
| |
| <map:when test="howto-v10"> |
| <map:transform src="{forrest:stylesheets}/howto2document.xsl" /> |
| </map:when> |
| |
| <map:when test="howto-v11"> |
| <map:transform src="{forrest:stylesheets}/howto2document.xsl" /> |
| </map:when> |
| <map:when test="howto-v12"> |
| <map:transform src="{forrest:stylesheets}/howto2document.xsl" /> |
| </map:when> |
| |
| <map:when test="todo-v10"> |
| <map:transform src="{forrest:stylesheets}/todo2document.xsl" /> |
| </map:when> |
| |
| <map:when test="todo-v11"> |
| <map:transform src="{forrest:stylesheets}/todo2document.xsl" /> |
| </map:when> |
| |
| <map:when test="todo-v12"> |
| <map:transform src="{forrest:stylesheets}/todo2document.xsl" /> |
| </map:when> |
| |
| <map:when test="changes-v10"> |
| <map:transform src="{forrest:stylesheets}/changesv10tochangesv11.xsl" /> |
| <map:transform src="{forrest:stylesheets}/changes2document.xsl" /> |
| </map:when> |
| |
| <map:when test="changes-v11"> |
| <map:transform src="{forrest:stylesheets}/changes2document.xsl" /> |
| </map:when> |
| |
| <map:when test="changes-v12"> |
| <map:transform src="{forrest:stylesheets}/changes2document.xsl" /> |
| </map:when> |
| |
| <map:when test="docbook-v4.1.2"> |
| <map:transform src="{forrest:stylesheets}/docbook2document.xsl" /> |
| </map:when> |
| |
| <map:when test="docbook-v4.2"> |
| <map:transform src="{forrest:stylesheets}/docbook2document.xsl" /> |
| </map:when> |
| |
| <map:when test="sdocbook-v1.0"> |
| <map:transform src="{forrest:stylesheets}/docbook2document.xsl" /> |
| </map:when> |
| |
| <map:otherwise /> |
| </map:select> |
| </map:act> |
| </map:resource> |
| <map:resource name="file-resolver"> |
| <map:select type="exists"> |
| <map:when test="{project:content.xdocs}{uri}.ihtml"> |
| <map:generate src="{project:content.xdocs}{uri}.ihtml" type="html" /> |
| <map:transform src="{forrest:stylesheets}/html2document.xsl" /> |
| <map:transform type="idgen" /> |
| <map:serialize type="xml-document"/> |
| </map:when> |
| <map:when test="{project:content.xdocs}{uri}.cwiki"> |
| <map:match type="regexp" pattern="^(.*?)([^/]*).xml$"> |
| <map:generate type="text2xml" src="{project:content.xdocs}{1}{2}.cwiki" /> |
| <map:transform type="lexer" src="cocoon:/wiki.xlex"/> |
| <map:transform type="parser" src="cocoon:/wiki.xgrm"/> |
| <map:transform type="xsltc" |
| src="{forrest:context}/resources/chaperon/stylesheets/wiki2xdoc.xsl"> |
| <map:parameter name="name" value="{2}" /> |
| </map:transform> |
| <map:serialize type="xml-document"/> |
| </map:match> |
| </map:when> |
| <map:when test="{project:content.xdocs}{uri}.txt"> |
| <map:match type="regexp" pattern="^(.*?)([^/]*).xml$"> |
| <map:generate type="text2xml" src="{project:content.xdocs}{1}{2}.txt" /> |
| <map:transform src="{forrest:stylesheets}/text2document.xsl"> |
| <map:parameter name="filename" value="{2}" /> |
| </map:transform> |
| <map:serialize type="xml-document"/> |
| </map:match> |
| </map:when> |
| <map:when test="{project:content.xdocs}{uri}.sxw"> |
| <map:match type="regexp" pattern="^(.*?)([^/]*).xml$"> |
| <map:generate src="{forrest:stylesheets}/aggregates/openoffice-writer.xml"/> |
| <map:transform src="{forrest:stylesheets}/aggregates/openoffice-writer.xsl"> |
| <map:parameter name="src" value="{project:content.xdocs}{1}{2}.sxw"/> |
| </map:transform> |
| <map:transform type="cinclude"/> |
| <map:transform src="{forrest:stylesheets}/openoffice-writer2forrest.xsl"> |
| <map:parameter name="filename" value="{2}" /> |
| </map:transform> |
| <map:serialize type="xml-document"/> |
| </map:match> |
| </map:when> |
| <map:otherwise> |
| <map:generate src="{project:content.xdocs}{uri}.xml" /> |
| <map:call resource="transform-to-document"> |
| <map:parameter name="src" value="{project:content.xdocs}{uri}.xml" /> |
| </map:call> |
| <map:serialize type="xml-document"/> |
| </map:otherwise> |
| </map:select> |
| </map:resource> |
| </map:resources> |
| |
| <map:pipelines> |
| <map:pipeline> |
| |
| <!-- ============================================================ --> |
| <!-- INTERMEDIATE FORMATS --> |
| <!-- ============================================================ --> |
| |
| <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:serialize type="xml" /> |
| </map:when> |
| </map:select> |
| </map:match> |
| |
| <!-- ============================================================ --> |
| <!-- SOURCE FORMATS --> |
| <!-- ============================================================ --> |
| |
| <map:match pattern="**.xml"> |
| <map:select type="config"> |
| <map:parameter name="value" value="{defaults:i18n}"/> |
| <map:when test="true"> |
| <map:act type="locale"> |
| <map:call resource="file-resolver"> |
| <map:parameter name="uri" value="{../1}_{lang}"/> |
| </map:call> |
| </map:act> |
| </map:when> |
| <map:otherwise> |
| <map:call resource="file-resolver"> |
| <map:parameter name="uri" value="{1}"/> |
| </map:call> |
| </map:otherwise> |
| </map:select> |
| </map:match> |
| |
| </map:pipeline> |
| |
| <map:pipeline type="caching" internal-only="true"> |
| |
| <map:match pattern="*.xlex"> |
| <map:select type="exists"> |
| <map:when test="resources/chaperon/grammars/{1}.xlex"> |
| <map:read src="resources/chaperon/grammars/{1}.xlex"/> |
| </map:when> |
| <map:otherwise> |
| <map:generate type="text2xml" src="{forrest:context}/resources/chaperon/grammars/{1}.grm"/> |
| <map:transform type="lexer" src="{forrest:context}/resources/chaperon/grammars/grm.xlex"/> |
| <map:transform type="parser" src="{forrest:context}/resources/chaperon/grammars/grm.xgrm"/> |
| <map:transform src="{forrest:context}/resources/chaperon/stylesheets/text4regex.xsl"/> |
| <map:transform type="lexer" src="{forrest:context}/resources/chaperon/grammars/regex.xlex"/> |
| <map:transform type="parser" src="{forrest:context}/resources/chaperon/grammars/regex.xgrm"/> |
| <map:transform src="{forrest:context}/resources/chaperon/stylesheets/grm2xlex.xsl"/> |
| <map:serialize type="xml"/> |
| </map:otherwise> |
| </map:select> |
| </map:match> |
| |
| <map:match pattern="*.xgrm"> |
| <map:select type="exists"> |
| <map:when test="resources/chaperon/grammars/{1}.xgrm"> |
| <map:read src="resources/chaperon/grammars/{1}.xgrm"/> |
| </map:when> |
| <map:otherwise> |
| <map:generate type="text2xml" src="{forrest:context}/resources/chaperon/grammars/{1}.grm"/> |
| <map:transform type="lexer" src="{forrest:context}/resources/chaperon/grammars/grm.xlex"/> |
| <map:transform type="parser" src="{forrest:context}/resources/chaperon/grammars/grm.xgrm"/> |
| <map:transform src="{forrest:context}/resources/chaperon/stylesheets/text4regex.xsl"/> |
| <map:transform type="lexer" src="{forrest:context}/resources/chaperon/grammars/regex.xlex"/> |
| <map:transform type="parser" src="{forrest:context}/resources/chaperon/grammars/regex.xgrm"/> |
| <map:transform src="{forrest:context}/resources/chaperon/stylesheets/grm2xgrm.xsl"/> |
| <map:serialize type="xml"/> |
| </map:otherwise> |
| </map:select> |
| </map:match> |
| |
| <map:match pattern="*.xegrm"> |
| <map:select type="exists"> |
| <map:when test="{forrest:context}/resources/chaperon/grammars/{1}.xegrm"> |
| <map:read src="{forrest:context}/resources/chaperon/grammars/{1}.xegrm"/> |
| </map:when> |
| <map:otherwise> |
| <map:generate type="text2xml" src="{forrest:context}/resources/chaperon/grammars/{1}.egrm"/> |
| <map:transform type="extparser" src="{forrest:context}/resources/chaperon/grammars/egrm.xegrm"/> |
| <map:transform src="{forrest:context}/resources/chaperon/stylesheets/egrm2xegrm.xsl"/> |
| <map:serialize type="xml"/> |
| </map:otherwise> |
| </map:select> |
| </map:match> |
| </map:pipeline> |
| |
| </map:pipelines> |
| </map:sitemap> |