| <?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. |
| --> |
| <!-- =============================================== |
| Pipelines defining all Source XML types Forrest can handle. |
| Converts from arbitrary formats to standard Forrest doc-v12 XML. |
| |
| First, determines if a simple format file exists. |
| Candidates are: .html .ihtml .txt .sxw .jspwiki |
| |
| 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> |
| <map:actions> |
| <map:action logger="sitemap.action.sourcetype" name="sourcetype" src="org.apache.forrest.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="todo-v13"> |
| <document-declaration public-id="-//APACHE//DTD Todo V1.3//EN" /> |
| </sourcetype> |
| <sourcetype name="changes-v13"> |
| <document-declaration public-id="-//APACHE//DTD Changes V1.3//EN" /> |
| </sourcetype> |
| <sourcetype name="howto-v13"> |
| <document-declaration public-id="-//APACHE//DTD How-to V1.3//EN" /> |
| </sourcetype> |
| <sourcetype name="document-v20a"> |
| <document-declaration public-id="-//APACHE//DTD Documentation V2.0a//EN" /> |
| </sourcetype> |
| <sourcetype name="document-v20"> |
| <document-declaration public-id="-//APACHE//DTD Documentation V2.0//EN" /> |
| </sourcetype> |
| <sourcetype name="p-document-v20"> |
| <processing-instruction target="schema" |
| data="apache.org/forrest/schema/xdoc/document/2.0"/> |
| </sourcetype> |
| <sourcetype name="todo-v20"> |
| <document-declaration public-id="-//APACHE//DTD Todo V2.0//EN" /> |
| </sourcetype> |
| <sourcetype name="p-todo-v20"> |
| <processing-instruction target="schema" |
| data="apache.org/forrest/schema/xdoc/todo/2.0"/> |
| </sourcetype> |
| <sourcetype name="changes-v20"> |
| <document-declaration public-id="-//APACHE//DTD Changes V2.0//EN" /> |
| </sourcetype> |
| <sourcetype name="p-changes-v20"> |
| <processing-instruction target="schema" |
| data="apache.org/forrest/schema/xdoc/changes/2.0"/> |
| </sourcetype> |
| <sourcetype name="howto-v20"> |
| <document-declaration public-id="-//APACHE//DTD How-to V2.0//EN" /> |
| </sourcetype> |
| <sourcetype name="p-howto-v20"> |
| <processing-instruction target="schema" |
| data="apache.org/forrest/schema/xdoc/howto/2.0"/> |
| </sourcetype> |
| </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="{lm:transform.docv10.docv11}" /> |
| </map:when> |
| <map:when test="document-v20a"> |
| <map:transform src="{lm:transform.docv20.docv12}" /> |
| </map:when> |
| <map:when test="document-v20"> |
| <map:transform src="{lm:transform.docv20.docv13}" /> |
| </map:when> |
| <map:when test="p-document-v20"> |
| <map:transform src="{lm:transform.docv20.docv13}" /> |
| </map:when> |
| <map:when test="howto-v10"> |
| <map:transform src="{lm:transform.howto.document}" /> |
| </map:when> |
| <map:when test="howto-v11"> |
| <map:transform src="{lm:transform.howto.document}" /> |
| </map:when> |
| <map:when test="howto-v12"> |
| <map:transform src="{lm:transform.howto.document}" /> |
| </map:when> |
| <map:when test="howto-v13"> |
| <map:transform src="{lm:transform.howto.document}" /> |
| </map:when> |
| <map:when test="howto-v20"> |
| <map:transform src="{lm:transform.howto.document}" /> |
| <map:transform src="{lm:transform.docv20.docv13}" /> |
| </map:when> |
| <map:when test="p-howto-v20"> |
| <map:transform src="{lm:transform.howto.document}" /> |
| <map:transform src="{lm:transform.docv20.docv13}" /> |
| </map:when> |
| <map:when test="todo-v10"> |
| <map:transform src="{lm:transform.todo.document}" /> |
| </map:when> |
| <map:when test="todo-v11"> |
| <map:transform src="{lm:transform.todo.document}" /> |
| </map:when> |
| <map:when test="todo-v12"> |
| <map:transform src="{lm:transform.todo.document}" /> |
| </map:when> |
| <map:when test="todo-v13"> |
| <map:transform src="{lm:transform.todo.document}" /> |
| </map:when> |
| <map:when test="todo-v20"> |
| <map:transform src="{lm:transform.todo.document}" /> |
| </map:when> |
| <map:when test="p-todo-v20"> |
| <map:transform src="{lm:transform.todo.document}" /> |
| </map:when> |
| <map:when test="changes-v10"> |
| <map:transform src="{lm:transform.changesv10.changesv11}" /> |
| <map:transform src="{lm:transform.changesv.document}" /> |
| </map:when> |
| <map:when test="changes-v11"> |
| <map:transform src="{lm:transform.changesv.document}" /> |
| </map:when> |
| <map:when test="changes-v12"> |
| <map:transform src="{lm:transform.changesv.document}" /> |
| </map:when> |
| <map:when test="changes-v13"> |
| <map:transform src="{lm:transform.changesv.document}" /> |
| </map:when> |
| <map:when test="changes-v20"> |
| <map:transform src="{lm:transform.changesv.document}" /> |
| </map:when> |
| <map:when test="p-changes-v20"> |
| <map:transform src="{lm:transform.changesv.document}" /> |
| </map:when> |
| <map:otherwise /> |
| </map:select> |
| </map:act> |
| </map:resource> |
| </map:resources> |
| <map:pipelines> |
| <map:pipeline> |
| <!-- ============================================================ --> |
| <!-- INTERMEDIATE FORMATS --> |
| <!-- ============================================================ --> |
| <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:serialize type="xml" /> |
| </map:when> |
| </map:select> |
| </map:match> |
| <!-- ============================================================ --> |
| <!-- SOURCE FORMATS --> |
| <!-- ============================================================ --> |
| <map:match type="wildcard" pattern="**.xml"> |
| <map:select type="exists"> |
| <map:when test="{lm:plugin.xmap.input}"> |
| <map:mount uri-prefix="" |
| src="{lm:plugin.xmap.input}" |
| check-reload="yes" |
| pass-through="true"/> |
| </map:when> |
| </map:select> |
| <map:match type="i18n" pattern="{properties:content.xdocs}{1}.*.xml"> |
| <map:generate src="{source}" /> |
| <map:transform type="xinclude"/> |
| <map:call resource="transform-to-document"> |
| <map:parameter name="src" value="{source}" /> |
| </map:call> |
| <map:serialize type="xml-document"/> |
| </map:match> |
| <map:match type="i18n" pattern="{properties:content.xdocs}{1}.*.ihtml"> |
| <map:generate src="{source}" type="html" /> |
| <map:transform src="{lm:transform.html.document}" /> |
| <map:transform type="idgen" /> |
| <map:serialize type="xml-document"/> |
| </map:match> |
| <map:match type="i18n" pattern="{properties:content.xdocs}{1}.*.html"> |
| <map:generate src="{source}" type="html" /> |
| <map:transform src="{lm:transform.html.document}" /> |
| <map:serialize type="xml-document"/> |
| </map:match> |
| <map:match type="i18n" pattern="{properties:content.xdocs}{1}.*.txt"> |
| <map:generate type="text2xml" src="{source}" /> |
| <map:transform src="{lm:transform.text.document}"> |
| <map:parameter name="filename" value="{2}" /> |
| </map:transform> |
| <map:serialize type="xml-document"/> |
| </map:match> |
| <map:match type="i18n" pattern="{properties:content.xdocs}{1}.*.xml"> |
| <map:generate src="{source}" /> |
| <map:transform type="xinclude"/> |
| <map:call resource="transform-to-document"> |
| <map:parameter name="src" value="{source}" /> |
| </map:call> |
| <map:serialize type="xml-document"/> |
| </map:match> |
| <!-- if we got this far asking for the source.xml then it must be an XDoc --> |
| <map:match pattern="**.source.xml"> |
| <map:generate src="cocoon:/{1}.xml"/> |
| <map:serialize type="xml"/> |
| </map:match> |
| <map:match pattern="**.validation.xml"> |
| <map:generate src="cocoon://{1}.xml"/> |
| <map:transform type="validation-report" |
| src="{forrest:forrest.context}/resources/schema/relaxng/unstable/document-v13.rng"/> |
| <map:serialize type="xml"/> |
| </map:match> |
| <map:match pattern="**.xml"> |
| <map:generate src="{lm:project.{0}}"/> |
| <map:serialize type="xml"/> |
| </map:match> |
| </map:match> |
| </map:pipeline> |
| </map:pipelines> |
| </map:sitemap> |