sitemap.xmap

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

XMAP
296
字号
<?xml version="1.0"?>
<!-- ========================= New Document Wizard subsitemap ============================== -->
<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
  
  <!-- =========================== Components ================================ -->
  <map:components>
    <map:generators default="file">
      <map:generator label="content" logger="sitemap.generator.status" name="status" pool-max="16" src="org.apache.cocoon.generation.StatusGenerator"/>
      <map:generator label="content" logger="sitemap.generator.jx" name="jx" pool-max="16" src="org.apache.cocoon.generation.JXTemplateGenerator"/>
    </map:generators>
    <map:transformers default="xslt">
      <map:transformer name="browser-update" src="org.apache.cocoon.ajax.BrowserUpdateTransformer"/>
      <map:transformer name="forms" src="org.apache.cocoon.forms.transformation.FormsTemplateTransformer" logger="forms"/>
      <map:transformer name="i18n" src="org.apache.cocoon.transformation.I18nTransformer">
        <catalogues default="messages">
          <catalogue id="other" name="OtherMessages" location="site://cforms/messages"/>
          <catalogue id="forms" name="FormsMessages" location="site://cforms/messages"/>
          <catalogue id="messages" name="messages">
            <location>cocoon://extensions/translations</location>
            <location>translations</location>
          </catalogue>
          <catalogue id="types" name="TypesMessages" location="{globalconstants:cms-types-dir}/i18n"/>
        </catalogues>
        <cache-at-startup>false</cache-at-startup>
      </map:transformer>
    </map:transformers>
    <map:serializers default="html">
      <map:serializer logger="sitemap.serializer.html" mime-type="text/html" name="html" pool-grow="4" pool-max="32" pool-min="4" 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>
        <buffer-size>1024</buffer-size>
        <encoding>UTF-8</encoding>
      </map:serializer>
      <map:serializer logger="sitemap.serializer.xml" mime-type="text/xml" name="xml" src="org.apache.cocoon.serialization.XMLSerializer">
        <buffer-size>1024</buffer-size>
        <encoding>UTF-8</encoding>
      </map:serializer>
    </map:serializers>
    <map:matchers default="wildcard">
      <map:matcher logger="sitemap.matcher.request-parameter" name="request-parameter" src="org.apache.cocoon.matching.RequestParameterMatcher"/>
      <map:matcher name="regexp" src="org.apache.cocoon.matching.RegexpURIMatcher" logger="sitemap.matching.regexp"/>
    </map:matchers>
    <map:selectors default="parameter">
      <map:selector name="ajax-request" src="org.apache.cocoon.ajax.AjaxRequestSelector"/>
      <map:selector logger="sitemap.selector.request-parameter" name="request-parameter" src="org.apache.cocoon.selection.RequestParameterSelector"/>
    </map:selectors>
    <map:pipes default="noncaching"/>
  </map:components>
  
  <!-- ========================== Flowscript ================================= -->
  <map:flow language="javascript">
    <map:script src="flow/wizard.js"/>
  </map:flow>
  
  <map:views>
    <map:view name="mycontent" from-label="mycontent">
      <map:serialize type="xml"/>
    </map:view>
    <map:view name="mycontent1" from-label="mycontent1">
      <map:serialize type="xml"/>
    </map:view>
    <map:view name="mycontent2" from-label="mycontent2">
      <map:serialize type="xml"/>
    </map:view>
  </map:views>
  
  <!-- =========================== Resources ================================= -->
  <map:resources>
    <map:resource name="html">
      <map:transform type="browser-update"/>
      <map:transform type="i18n">
        <map:parameter name="locale" value="{session-attr:locale}"/>
      </map:transform>
      <map:transform src="stylesheets/page2html.xsl"/>
    </map:resource>
  </map:resources>
  
  <!-- =========================== Views ===================================== -->
  <map:views/>
  
  <!-- =========================== Pipelines ================================= -->
  <map:pipelines>
    
    <!-- ========================= Private Resources =========================== -->
    <map:pipeline type="ecaching" internal-only="false">
      
      <map:match pattern="overridable/**">
        <map:select type="resource-exists">
          <map:when test="extensions://wizard/{1}">
            <map:generate src="extensions://wizard/{1}"/>
          </map:when>
          <map:otherwise>
            <map:generate src="site:/wizard/{1}"/>
          </map:otherwise>
        </map:select>
        <map:serialize type="xml"/>          
      </map:match>
    </map:pipeline>
    
    <map:pipeline type="noncaching" internal-only="false">
      <!-- cforms template render pipeline -->
      <map:match pattern="display-form/**.xml">
        <map:generate src="cocoon:/generateTpl/forms/{1}.xml"  type="jx" label="mycontent"/>
        <map:call resource="html"/>
        <map:transform src="stylesheets/cforms-hippo-styling.xsl" label="mycontent1"/>
        <map:transform src="cocoon:/overridable/stylesheets/forms.xsl" label="mycontent2">
          <!--<map:parameter name="dojo-debug" value="true"/>-->
        </map:transform>
        <map:select type="request-parameter">
          <map:parameter name="parameter-name" value="cocoon-ajax"/>
          <map:when test="true">
            <map:serialize type="xml"/>
          </map:when>
          <map:otherwise>
            <map:serialize type="html"/>
          </map:otherwise>
        </map:select>
      </map:match>
      
      <!-- Dynamically create a cforms template and add the cforms-import with an xsl -->  
      <map:match pattern="generateTpl/forms/**.xml">
        <map:generate src="cocoon:/overridable/forms/{1}.xml" type="jx"/>
        <map:transform src="stylesheets/add-import.xsl"/>
        <map:serialize type="xml"/>
      </map:match>
      
      <map:match pattern="bare-configuration">
        <map:select type="parameter">
          <map:parameter name="parameter-selector-test" value="{globalconstants:cms-wizard-configuration-src}"/>
          <map:when test="">
            <map:generate src="{globalconstants:cms-types-dir}/{globalconstants:cms-types}"/>
            <map:transform src="cocoon:/overridable/stylesheets/sitemenu2config.xsl" />
          </map:when>
          <map:otherwise>
            <map:generate src="{globalconstants:cms-wizard-configuration-src}"/>
            <map:select type="parameter">
              <map:parameter name="parameter-selector-test" value="{globalconstants:cms-wizard-configuration-xsl}"/>
              <map:when test=""></map:when>
              <map:otherwise>
                <map:transform src="{globalconstants:cms-wizard-configuration-xsl}"/>
              </map:otherwise>
            </map:select>
          </map:otherwise>
        </map:select>
        <map:transform src="stylesheets/component-ids.xsl"/>
        <map:serialize type="xml"/>
      </map:match>
      
      <map:match pattern="configuration">
        <map:generate src="cocoon:/bare-configuration"/>
        <map:transform src="stylesheets/inject-wizconfig.xsl"/>
        <map:transform type="include"/>
        <map:serialize type="xml"/>
      </map:match>
      
      <map:match pattern="includes">
        <map:generate src="cocoon:/bare-configuration"/>
        <map:transform src="stylesheets/config2includes.xsl"/>
        <map:serialize type="xml"/>
      </map:match>
      
      <map:match pattern="injectSelect/*">
        <map:generate src="{wizard-includes:/includes/include[@id='{1}']/@src}"/>
        <map:select type="parameter">
          <map:parameter name="parameter-selector-test" value="{wizard-includes:/includes/include[@id='{1}']/@xsl}"/>
          <map:when test=""></map:when>
          <map:otherwise>
            <map:transform src="{wizard-includes:/includes/include[@id='{1}']/@xsl}"/>
          </map:otherwise>
        </map:select>
        <map:serialize type="xml"/>
      </map:match>
      
      <!-- 
        Generate document content from repository and transform it with the  
        content injector xsl. This xsl will have a template for each xpath
        that is in the wizard-model. It will inject the values form the model
        into the document.
      -->              
      <map:match pattern="addContent/**.xml">
        <map:generate src="repository://{1}.xml"/>
        <map:transform src="cocoon:/injectContent.xsl"/>
        <map:serialize type="xml"/>
      </map:match>
      
      <!-- 
        Generate xsl that injectes the Xpath values in matching templates
        TODO: - add attribute 
      -->
      <map:match pattern="injectContent.xsl">
        <map:generate src="resources/jx/injectContent.xml" type="jx"/>
        <map:serialize type="xml"/>
      </map:match>
      
    </map:pipeline>
    
    <!-- ========================= Public Resources ============================ -->
    <map:pipeline type="noncaching" internal-only="false">
      <!-- Cocoon Cforms resources -->
      <map:match pattern="resources/ajax/js/cocoon-ajax.js">
        <map:read src="resources/js/cocoon-ajax.js"/>
      </map:match>
      
      <map:match pattern="resources/dojo/**.*">
        <map:read src="resources/dojo/{1}.{2}"/>
      </map:match>
      
      <!-- 
        We use a customised AjaxForm class so load it from our sources,
        instead of from the cocoon-forms jar
      -->
      <map:match pattern="resources/forms/js/AjaxForm.js">
        <map:read src="resources/js/CustomAjaxForm.js"/>
      </map:match>
      
      <map:match type="regexp" pattern="resources/(ajax)/(.*)">
        <map:read src="resource://org/apache/cocoon/{1}/resources/{2}"/>
      </map:match>
      
      <map:match pattern="resources/*/**">
        <map:read src="resource://org/apache/cocoon/{1}/resources/{2}"/>
      </map:match>
      
      <!-- images -->
      <map:match pattern="images/**">
        <map:read src="resources/images/{1}"/>
      </map:match>
      
      <!-- js -->
      <map:match pattern="js/**.js">
        <map:read src="resources/js/{1}.js" mime-type="text/javascript"/>
      </map:match>
      
      <!-- css -->
      <map:match pattern="css/**.css">
        <map:read src="resources/css/{1}.css" mime-type="text/css"/>
      </map:match>
      
      <!-- continuations -->
      <map:match type="request-parameter" pattern="continuation-id">
        <map:call continuation="{1}"/>
      </map:match>
      
      <!-- Goto start wizard -->
      <map:match pattern="">
        <map:redirect-to uri="wizard"/>
      </map:match>
      
      <!-- 
        Main entry point for the cms View, load wizard in an iframe
        TODO: - Add auto-size code for iframe
        - Rewrite view to support form locally
      -->              
      <map:match pattern="wizard-iframe">
        <map:generate src="resources/jx/iframe.xml" type="jx"/>
        <map:transform type="i18n">
          <map:parameter name="locale" value="{session-attr:locale}"/>
        </map:transform>
        <map:serialize type="xhtml"/>
      </map:match>
      
      <!--
        Start the wizard
      -->
      <map:match pattern="wizard">
        <map:call function="do_wizardChooser">
          <map:parameter name="repository-prefix" value="{repository:files}"/>
        </map:call>
      </map:match>
      
      <map:match pattern="status">
        <map:generate type="status"/>
        <map:serialize/>
      </map:match>
      
      <!-- Match def and bnd sources -->
      <map:match pattern="forms/wizard/*.xml">
        <map:generate src="cocoon:/overridable/forms/wizard/{1}.xml" type="jx"/>
        <map:transform type="i18n">
          <map:parameter name="locale" value="{session-attr:locale}"/>
        </map:transform>
        <map:serialize type="xml"/>
      </map:match>
      
      <map:match pattern="**.xml">
        <map:generate src="{1}.xml"/>
        <map:serialize type="xml"/>
      </map:match>
      
      <map:match pattern="**">
        <map:read src="{1}"/>
      </map:match>
      
    </map:pipeline>
  </map:pipelines>
</map:sitemap>

⌨️ 快捷键说明

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