sitemap.xmap

来自「Hippo CMS是一个以信息为中心的开源内容管理系统。Hippo CMS目标是」· XMAP 代码 · 共 362 行

XMAP
362
字号
<?xml version="1.0"?>
<!--
  Copyright 2001-2007 Hippo (www.hippo.nl)

  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.
-->
<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">

<!-- =========================== Components ================================ -->

  <map:components>
    <map:generators default="file"/>
    <map:transformers default="xslt">
      <map:transformer name="include"
                       logger="sitemap.transformer.include"
                       src="org.apache.cocoon.transformation.IncludeTransformer" />
      <map:transformer name="i18n" src="org.apache.cocoon.transformation.I18nTransformer" logger="sitemap.transformer.inter">
        <catalogues default="CFormsEditor">
          <catalogue id="CFormsEditor" name="CFormsEditor">
            <location>cocoon://extensions/translations</location>
            <location>messages</location>
          </catalogue>
          <catalogue id="other" name="OtherMessages" location="messages"/>
          <catalogue id="forms" name="FormsMessages" location="messages"/>
        </catalogues>
        <cache-at-startup>false</cache-at-startup>
      </map:transformer>
    </map:transformers>
    <map:serializers default="xhtml">
      <map:serializer name="xhtml" logger="sitemap.serializer.xml"
        mime-type="text/html" src="org.apache.cocoon.serialization.XMLSerializer">
        <omit-xml-declaration>no</omit-xml-declaration>
        <doctype-public>-//W3C//DTD XHTML 1.0 Transitional//EN</doctype-public>
        <doctype-system> http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</doctype-system>
        <encoding>UTF-8</encoding>
        <indent>no</indent>
      </map:serializer>      
    </map:serializers>
    <map:matchers default="wildcard"/>
    <map:selectors default="parameter"/>
    <map:pipes default="caching"/>
    <map:readers default="resource"/>
  </map:components>

<!-- ========================== Flowscript ================================= -->
  <!-- indicates what flowscript to attach to this sitemap -->
  <map:flow language="javascript">
    <map:script src="flow/common-forms.js"/>
    <map:script src="flow/registration.js"/>
    <map:script src="flow/editorHelper.js"/>
  </map:flow>

<!-- =========================== Views ===================================== -->

  <map:views>
    <map:view name="links" from-position="last">
      <map:serialize type="links"/>
    </map:view>
    <map:view name="content" from-label="content">
      <map:serialize type="xml"/>
    </map:view>
    <map:view name="dasl" from-label="dasl">
      <map:serialize type="xml"/>
    </map:view>
    <map:view name="webdav" from-label="webdav">
      <map:serialize type="xml"/>
    </map:view>
    <map:view name="aggregate" from-label="aggregate">
      <map:serialize type="xml"/>
    </map:view>
  </map:views>
  


<!-- =========================== Pipelines ================================= -->

  <map:pipelines>

    <map:component-configurations>
      <global-variables>
      </global-variables>
    </map:component-configurations>

<!-- ========================= Private Resources =========================== -->

    <map:pipeline type="noncaching" internal-only="false">
			
			<!-- needed for any CForms -->
			
			<map:match pattern="*-display-pipeline">
       <!-- pipeline to show the form -->
       <map:generate src="cocoon:/{1}_jxtemplate.xml"/>
       <map:transform type="forms"/>
       <map:transform type="i18n">
         <map:parameter name="locale" value="{session-attr:locale}"/>
       </map:transform>
       <map:transform src="styling/simple-wrapper.xsl">
         <map:parameter name="name" value="{1}"/>
       </map:transform>
       <map:transform src="cocoon:/styling/cforms-hippo-styling.xsl">
         <map:parameter name="form-name" value="{1}"/>
         <map:parameter name="htmlarea-lang" value="{session-attr:locale}"/>
       </map:transform>
       <map:transform type="include"/>
       <map:serialize type="xhtml"/>
     </map:match>
     
     <map:match pattern="*.continue">
       <map:call continuation="{1}"/>
     </map:match>
     
     <!-- just shows the dom tree generated by CForms xml binding -->
     <map:match pattern="showxml">
       <map:generate type="jx" src="forms/result.xml"/>
       <map:serialize type="xml"/>
     </map:match>
     
     <!-- generates the form dynamically -->
     <map:match pattern="*.generated">
       <map:call function="handleForm">
         <map:parameter name="function" value="documentTypeForm"/>
         <map:parameter name="documentType" value="{1}"/>
         <map:parameter name="form-definition" value="cocoon:/{1}_def.xml"/>
         <map:parameter name="documentURI" value="forms/{1}_data.xml"/>
         <map:parameter name="bindingURI" value="cocoon:/{1}_bind.xml"/>
       </map:call>
     </map:match>
     
     <!-- a list data source -->
     <map:match pattern="list-data-*">
       <map:generate src="sources/list-source{1}.xml"/>
       <map:serialize type="xml"/>
     </map:match>
     
     <!-- a dynamic data source? -->
      <map:match pattern="datasource-platforms/**">
        <map:generate src="sources/list-source-platforms.xml"/>
        <map:transform src="transformers/patchvalues.xsl">
          <map:parameter name="prepend" value="{1}"/>
          <map:parameter name="append-label" value=" (path='{1}')"/>
        </map:transform>
        <map:serialize type="xml"/>
      </map:match>
     
     <!-- tests -->
     <map:match pattern="spikes/**">
			<map:mount src="spikes/sitemap.xmap" uri-prefix="spikes"/>
		 </map:match>
     
     
     <!-- debug stuff -->
     
     <map:match pattern="resources/**">
       <map:read src="resources/{1}"/>
     </map:match>
      <map:match pattern="cforms/resources/**">
        <map:read src="resources/{1}"/>
      </map:match>     
     <map:match pattern="forms/**">
       <map:read src="forms/{1}"/>
     </map:match>
     <map:match pattern="xsd/**">
       <map:read src="xsd/{1}"/>
     </map:match>
     <map:match pattern="css/**">
       <map:read src="css/{1}"/>
     </map:match>
     <map:match pattern="js/**">
       <map:read src="js/{1}"/>
     </map:match>
		
    </map:pipeline>

<!-- ========================= Private Pipelines for the generation of CForms things ============================ -->

    <map:pipeline type="noncaching" internal-only="false">

      <map:match pattern="skin/images/**">
        <map:read src="resources/{1}"/>  
      </map:match>
      
      <map:match pattern="includeSchema/*.xsd">
        <map:generate src="xsd/{1}.xsd"/>
        <map:transform src="transformers/util/includeSchema.xsl"/>
        <map:transform type="include"/>
        <map:serialize type="xml"/>
      </map:match>
      
      <map:match pattern="*.xsd">
        <map:aggregate element="root">
          <map:part element="content" src="cocoon:/includeSchema/{1}.xsd"/>
          <map:part src="inclusion/definitions/schema.xml"/>
        </map:aggregate>
        <map:transform src="inclusion/include.xsl"/>
        <map:serialize type="xml"/>
      </map:match>

      <map:match pattern="includeLayout/**">
        <map:generate src="forms/{1}.xml"/>
        <map:transform src="transformers/util/includeLayout.xsl"/>
        <map:transform type="include"/>
        <map:serialize type="xml"/>
      </map:match>
      
      <map:match pattern="layout/**">
        <map:aggregate element="root">
          <map:part element="content" src="cocoon:/includeLayout/{1}"/>
          <map:part src="inclusion/definitions/layout.xml"/>
        </map:aggregate>
        <map:transform src="macro/pre-include/layout.xsl"/>
        <map:transform src="inclusion/include.xsl"/>
        <map:serialize type="xml"/>
      </map:match>

      <map:match pattern="includeBL/**">
        <map:generate src="forms/{1}.xml"/>
        <map:transform src="transformers/util/includeBusinessLogic.xsl"/>
        <map:transform type="include"/>
        <map:transform src="macro/business-logic.xsl"/>
        <map:serialize type="xml"/>
      </map:match>
      
      <map:match pattern="BL/**">
        <map:aggregate element="root">
          <map:part element="content" src="cocoon:/includeBL/{1}"/>
          <map:part src="inclusion/definitions/business-logic.xml"/>
        </map:aggregate>
        <map:transform src="macro/pre-include/business-logic.xsl"/>
        <map:transform src="inclusion/include.xsl"/>
        <map:serialize type="xml"/>
      </map:match>      

      <map:match pattern="datasource/*">
        <map:generate src="{request-param:source}"/>
        <map:transform src="transformers/{1}2selectionlist.xsl">
          <map:parameter name="chooseitem" value="{request-param:choose-item}"/>
        </map:transform>
        <map:serialize type="xml"/>
      </map:match>

      <map:match pattern="pickers/*.js">
        <map:generate src="forms/{1}_bl.xml"/>
        <map:transform src="transformers/xsd2form_pickers.xsl"/>
        <map:serialize type="text"/>
      </map:match>

      <map:match pattern="*_bind.xml">
       <map:aggregate element="root">
         <map:part src="cocoon:/{1}.xsd"/>
         <map:part src="cocoon:/BL/{1}_bl"/>
         <map:part src="cocoon:/layout/{1}_layout"/>
       </map:aggregate>
       <map:transform src="transformers/xsd2formbinding.xsl"/>
       <map:serialize type="xml"/>
     </map:match>
     
     <map:match pattern="*_def.xml">
       <map:aggregate element="root">
         <map:part src="cocoon:/{1}.xsd"/>
         <map:part src="cocoon:/BL/{1}_bl"/>
         <map:part src="cocoon:/layout/{1}_layout"/>
       </map:aggregate>
       <map:transform src="transformers/xsd2formdefinition.xsl"/>
       <map:serialize type="xml"/>
     </map:match>
     
     <map:match pattern="*_template.xml">
       <map:aggregate element="root">
         <map:part src="cocoon:/{1}.xsd"/>
         <map:part src="cocoon:/BL/{1}_bl"/>
         <map:part src="cocoon:/layout/{1}_layout"/>
         <map:part src="cocoon:/{1}_def.xml" element="definition"/>
       </map:aggregate>
       <map:transform src="transformers/xsd2formtemplate.xsl"/>
       <map:serialize type="xml"/>
     </map:match>

     <map:match pattern="*_jxtemplate.xml">
       <map:generate src="cocoon:/{1}_template.xml" type="jx"/>
       <map:serialize type="xml"/>
     </map:match>
     
      <map:match pattern="cocoon-cform-xmleditor/**">
       <map:redirect-to uri="cocoon:/{1}"/>
      </map:match>
     
    </map:pipeline> 
    
    <map:pipeline type="ecaching">
      
     <map:match pattern="styling/**">
       <map:select type="resource-exists">
         <!-- cocoon:deploy path -->
         <map:when test="{globalconstants:cms-extensionspath}/editing/transformers/{1}">
           <map:generate src="{globalconstants:cms-extensionspath}/editing/transformers/{1}" type="file"/>
         </map:when>
         <!-- cocoon:install path -->
         <map:when test="../../../{globalconstants:cms-extensionspath}/editing/transformers/{1}">
           <map:generate src="../../../{globalconstants:cms-extensionspath}/editing/transformers/{1}" type="file"/>
         </map:when>
         <map:otherwise>
           <map:generate src="styling/{1}" type="file"/>
         </map:otherwise>
       </map:select>
       <map:serialize type="xml"/>
     </map:match>
      
     <!-- used to include transformers which are not translated -->
     <map:match pattern="transformers/**">
       <map:select type="resource-exists">
         <!-- cocoon:deploy path -->
         <map:when test="{globalconstants:cms-extensionspath}/editing/transformers/{1}">
           <map:generate src="{globalconstants:cms-extensionspath}/editing/transformers/{1}" type="file"/>
         </map:when>
         <!-- cocoon:install path -->
         <map:when test="../../../{globalconstants:cms-extensionspath}/editing/transformers/{1}">
           <map:generate src="../../../{globalconstants:cms-extensionspath}/editing/transformers/{1}" type="file"/>
         </map:when>
         <map:otherwise>
       <map:generate src="transformers/{1}" type="file"/>
         </map:otherwise>
       </map:select>       
       <map:serialize type="xml"/>
     </map:match>
     
     <!-- used for transformers which are translated -->
     <map:match pattern="translated-transformers/**">
       <map:select type="resource-exists">
         <!-- cocoon:deploy path -->
         <map:when test="{globalconstants:cms-extensionspath}/editing/transformers/{1}">
           <map:generate src="{globalconstants:cms-extensionspath}/editing/transformers/{1}" type="file"/>
         </map:when>
         <!-- cocoon:install path -->
         <map:when test="../../../{globalconstants:cms-extensionspath}/editing/transformers/{1}">
           <map:generate src="../../../{globalconstants:cms-extensionspath}/editing/transformers/{1}" type="file"/>
         </map:when>
         <map:otherwise>
           <map:generate src="transformers/{1}" type="file"/>
         </map:otherwise>
       </map:select>       
       <map:transform type="i18n">
         <map:parameter name="locale" value="{session-attr:locale}"/>
       </map:transform>                
       <map:serialize type="xml"/>       
     </map:match>
    </map:pipeline> 
    

  </map:pipelines>

</map:sitemap>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?