|  | <?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. | 
|  | --> | 
|  | <!-- =============================================== | 
|  | 'faq' pipelines.  Implements source XML, body HTML and output PDF pipelines. | 
|  |  | 
|  | Handles different FAQ DTD versions by sniffing the DOCTYPE, and | 
|  | applying an appropriate transformation. | 
|  |  | 
|  | Generates  :  Source XML, body HTML, output PDF | 
|  | Example URL:  http://localhost:8888/faq.xml       # Source XML for FAQ | 
|  | Example URL:  http://localhost:8888/body-faq.html # Body HTML for FAQ | 
|  | Example URL:  http://localhost:8888/faq.pdf       # PDF of FAQ | 
|  | Used by    :  sitemap.xmap, which binds these generic pipelines to URLs. | 
|  | Uses       :  content/xdocs/**.xml, depending on URL binding. | 
|  |  | 
|  | $Revision: 1.5 $ | 
|  | ==================================================== --> | 
|  |  | 
|  |  | 
|  | <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0"> | 
|  | <map:components> | 
|  | <map:generators default="file"/> | 
|  | <map:serializers default="html"/> | 
|  | <map:transformers default="xslt"/> | 
|  | <map:matchers default="wildcard"/> | 
|  | <map:actions> | 
|  | <map:action logger="sitemap.action.sourcetype" name="sourcetype" src="org.apache.cocoon.acting.sourcetype.SourceTypeAction"> | 
|  | <sourcetype name="faq-v10"> | 
|  | <document-declaration public-id="-//APACHE//DTD FAQ V1.0//EN" /> | 
|  | </sourcetype> | 
|  | <sourcetype name="faq-v11"> | 
|  | <document-declaration public-id="-//APACHE//DTD FAQ V1.1//EN" /> | 
|  | </sourcetype> | 
|  | <sourcetype name="faq-v12"> | 
|  | <document-declaration public-id="-//APACHE//DTD FAQ V1.2//EN" /> | 
|  | </sourcetype> | 
|  | <sourcetype name="faq-v20a"> | 
|  | <document-declaration public-id="-//APACHE//DTD FAQ V2.0a//EN" /> | 
|  | </sourcetype> | 
|  | </map:action> | 
|  | </map:actions> | 
|  |  | 
|  | <map:selectors default="browser"> | 
|  | <map:selector logger="sitemap.selector.parameter" name="parameter" src="org.apache.cocoon.selection.ParameterSelector" /> | 
|  | </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="faq-v10"> | 
|  | <map:transform src="{forrest:stylesheets}/faqv10tofaqv11.xsl" /> | 
|  | <map:transform src="{forrest:stylesheets}/faq2document.xsl" /> | 
|  | </map:when> | 
|  | <map:when test="faq-v11"> | 
|  | <map:transform src="{forrest:stylesheets}/faq2document.xsl" /> | 
|  | </map:when> | 
|  | <map:when test="faq-v12"> | 
|  | <map:transform src="{forrest:stylesheets}/faq2document.xsl" /> | 
|  | </map:when> | 
|  | <map:when test="faq-v20a"> | 
|  | <map:transform src="{forrest:stylesheets}/faqv20tofaqv12.xsl" /> | 
|  | <map:transform src="{forrest:stylesheets}/faq2document.xsl" /> | 
|  | </map:when> | 
|  | <map:otherwise /> | 
|  | </map:select> | 
|  | </map:act> | 
|  | <map:transform type="idgen" /> | 
|  | </map:resource> | 
|  |  | 
|  | <map:resource name="skinit"> | 
|  | <map:select type="exists"> | 
|  | <map:when test="{project:skins-dir}{forrest:skin}/xslt/html/{type}.xsl"> | 
|  | <map:transform src="{project:skins-dir}{forrest:skin}/xslt/html/{type}.xsl"> | 
|  | <map:parameter name="notoc" value="{notoc}"/> | 
|  | <!-- For backwards-compat with 0.2 - 0.4 skins --> | 
|  | <map:parameter name="isfaq" value="{notoc}"/> | 
|  | <map:parameter name="nopdf" value="{nopdf}"/> | 
|  | <map:parameter name="path" value="{path}"/> | 
|  | <map:parameter name="config-file" value="{project:skinconf}"/> | 
|  | </map:transform> | 
|  | </map:when> | 
|  | <map:otherwise> | 
|  | <map:transform src="{forrest:context}/skins/{forrest:skin}/xslt/html/{type}.xsl"> | 
|  | <map:parameter name="notoc" value="{notoc}"/> | 
|  | <!-- For backwards-compat with 0.2 - 0.4 skins --> | 
|  | <map:parameter name="isfaq" value="{notoc}"/> | 
|  | <map:parameter name="nopdf" value="{nopdf}"/> | 
|  | <map:parameter name="path" value="{path}"/> | 
|  | <map:parameter name="config-file" value="{project:skinconf}"/> | 
|  | </map:transform> | 
|  | </map:otherwise> | 
|  | </map:select> | 
|  | <map:serialize/> | 
|  | </map:resource> | 
|  |  | 
|  | </map:resources> | 
|  |  | 
|  | <map:pipelines> | 
|  |  | 
|  | <map:pipeline> | 
|  |  | 
|  | <!-- ============================================================ --> | 
|  | <!-- OUTPUT FORMATS                                               --> | 
|  | <!-- ============================================================ --> | 
|  |  | 
|  | <!-- Special matcher for FAQ PDFs, so we can pass an extra | 
|  | 'numbersections' param into document2fo.xsl --> | 
|  | <map:match pattern="**.pdf"> | 
|  | <map:generate src="cocoon:/{1}.xml"/> | 
|  | <map:select type="exists"> | 
|  | <map:when  test="{project:skins-dir}{forrest:skin}/xslt/fo/document2fo.xsl"> | 
|  | <map:transform src="{project:skins-dir}{forrest:skin}/xslt/fo/document2fo.xsl"> | 
|  | <map:parameter name="numbersections" value="false"/> | 
|  | <map:parameter name="imagesdir" value="{project:resources.images}/"/> | 
|  | <map:parameter name="xmlbasedir" value="{project:content.xdocs}{1}"/> | 
|  | </map:transform> | 
|  | </map:when> | 
|  | <map:otherwise> | 
|  | <map:transform src="{forrest:context}/skins/{forrest:skin}/xslt/fo/document2fo.xsl"> | 
|  | <map:parameter name="numbersections" value="false"/> | 
|  | <map:parameter name="imagesdir" value="{project:resources.images}/"/> | 
|  | <map:parameter name="xmlbasedir" value="{project:content.xdocs}{1}"/> | 
|  | </map:transform> | 
|  | </map:otherwise> | 
|  | </map:select> | 
|  | <map:serialize type="fo2pdf"/> | 
|  | </map:match> | 
|  |  | 
|  | <!-- ============================================================ --> | 
|  | <!-- INTERMEDIATE FORMATS                                         --> | 
|  | <!-- ============================================================ --> | 
|  |  | 
|  | <!--Unfortunately we need to override all the document2html stuff too, | 
|  | since notoc must be set to true. --> | 
|  | <map:match pattern="**body-*.html"> | 
|  | <map:generate src="cocoon:/{1}{2}.xml"/> | 
|  | <map:transform type="xinclude"/> | 
|  | <map:transform type="linkrewriter" src="cocoon://{1}linkmap-{2}.html"/> | 
|  | <map:call resource="skinit"> | 
|  | <map:parameter name="type" value="document2html"/> | 
|  | <map:parameter name="path" value="/{1}{2}.html"/> | 
|  | <map:parameter name="notoc" value="true"/> | 
|  | </map:call> | 
|  | </map:match> | 
|  |  | 
|  |  | 
|  | <!-- ============================================================ --> | 
|  | <!-- SOURCE FORMATS                                               --> | 
|  | <!-- ============================================================ --> | 
|  |  | 
|  | <map:match pattern="**.xml"> | 
|  | <map:generate type="file" src="{project:content.xdocs}{0}" /> | 
|  | <map:call resource="transform-to-document"> | 
|  | <map:parameter name="src" value="{project:content.xdocs}{0}" /> | 
|  | </map:call> | 
|  | <map:serialize type="xml-document"/> | 
|  | </map:match> | 
|  |  | 
|  | </map:pipeline> | 
|  | </map:pipelines> | 
|  | </map:sitemap> |