You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by di...@apache.org on 2001/08/21 14:43:39 UTC

cvs commit: xml-cocoon2/webapp/sitebuilder/stylesheets #sitemap.edit.xsl# fragmentExtractor.xsl layout.2.xsl match.edit.xsl menu.main.xsl operation-result.xsl pipeline.edit.xsl replacer.xsp simple-page2html.xsl sitemap.edit.xsl sitemap.openSubSite.xsl sitemap.view.xsl sitemapEditHelper.xsl staticSnippet.xsl xfdl-html.xsl

dims        01/08/21 05:43:39

  Modified:    webapp   sitemap.xmap
               webapp/docs/samples samples.xml
  Added:       webapp/sitebuilder sitemap.skel.xmap sitemap.xmap
                        sitemap.xmap~
               webapp/sitebuilder/datasources addElement.jsp
                        cocoon_prefix.jspinclude deleteElement.jsp
                        menu.main.xml
               webapp/sitebuilder/datasources/forms newMatchAggregate.xfdl
                        newMatchGenerate.xfdl newMatchGeneratePart.xfdl
                        newMatchRead.xfdl newMatchSerialize.xfdl
                        newMatchTransform.xfdl newPipelineMatch.xfdl
                        newSitemapAction.xfdl newSitemapGenerator.xfdl
                        newSitemapMatcher.xfdl newSitemapPipeline.xfdl
                        newSitemapReader.xfdl newSitemapSelector.xfdl
                        newSitemapSerializer.xfdl
                        newSitemapTransformer.xfdl
               webapp/sitebuilder/staticContent openSite.html
                        sitebuilder.css
               webapp/sitebuilder/stylesheets #sitemap.edit.xsl#
                        fragmentExtractor.xsl layout.2.xsl match.edit.xsl
                        menu.main.xsl operation-result.xsl
                        pipeline.edit.xsl replacer.xsp simple-page2html.xsl
                        sitemap.edit.xsl sitemap.openSubSite.xsl
                        sitemap.view.xsl sitemapEditHelper.xsl
                        staticSnippet.xsl xfdl-html.xsl
  Log:
  - Accept "Sitemap editor cocoon app" contribution from Sergio Carvalho <se...@acm.org>
  - Removed hard-coded entry in cocoon_prefix.jspinclude
  - Should work out-of-the-box now.
  - Added entry in samples.xml, will show up on the initial page.
  
  Revision  Changes    Path
  1.43      +8 -0      xml-cocoon2/webapp/sitemap.xmap
  
  Index: sitemap.xmap
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/webapp/sitemap.xmap,v
  retrieving revision 1.42
  retrieving revision 1.43
  diff -u -r1.42 -r1.43
  --- sitemap.xmap	2001/08/03 11:10:13	1.42
  +++ sitemap.xmap	2001/08/21 12:43:37	1.43
  @@ -194,6 +194,14 @@
   <!-- =========================== Pipelines ================================= -->
   
    <map:pipelines>
  +
  +  <!-- site builder pipeline -->
  +  <map:pipeline>
  +   <map:match pattern="sitebuilder**">
  +    <map:mount uri-prefix="sitebuilder/" src="sitebuilder/" check-reload="yes"/>
  +   </map:match>
  +  </map:pipeline>
  +
     <!-- sub-sitemap example pipeline -->
     <map:pipeline>
      <map:match pattern="sub/**">
  
  
  
  1.10      +6 -0      xml-cocoon2/webapp/docs/samples/samples.xml
  
  Index: samples.xml
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/webapp/docs/samples/samples.xml,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- samples.xml	2001/07/16 13:14:02	1.9
  +++ samples.xml	2001/08/21 12:43:37	1.10
  @@ -30,6 +30,12 @@
      </sample>
     </group>
   
  +  <group name="Editor">
  +   <sample name="Sitemap Editor" href="sitebuilder/openSubSite/">
  +    Cocoon2/JSP based Sitemap Editor.
  +   </sample>
  +  </group>
  +
     <group name="XML-ized web sites">
      <sample name="java.apache.org" href="sites/java.apache.org">
       This page shows a much more complex example that shows how powerful
  
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/sitemap.skel.xmap
  
  Index: sitemap.skel.xmap
  ===================================================================
  <?xml version="1.0"?>
  
  <map:sitemap id="1" xmlns:map="http://apache.org/cocoon/sitemap/1.0">
  
  <!-- =========================== Components ================================ -->
  
   <map:components id="2">
  
    <map:generators id="3" default="file"/>
  
    <map:transformers id="4" default="xslt"/>
  
    <map:readers id="5" default="resource"/>
  
    <map:serializers id="6" default="html"/>
  
    <map:selectors id="7" default="browser"/>
  
    <map:matchers id="8" default="wildcard">
     <map:matcher id="9" name="wildcard"        src="org.apache.cocoon.matching.WildcardURIMatcherFactory"/>
    </map:matchers>
  
   </map:components>
  
  <!-- =========================== Pipelines ================================= -->
  
   <map:pipelines id="10">
   </map:pipelines>
  
  </map:sitemap>
  
  <!-- end of file -->
  
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/sitemap.xmap
  
  Index: sitemap.xmap
  ===================================================================
  <?xml version="1.0" encoding="iso-8859-1"?>
  <map:sitemap id="1" xmlns:map="http://apache.org/cocoon/sitemap/1.0">
  <!-- =========================== Components ================================ -->
  
   <map:components id="2" >
  
    <map:generators id="3" default="file" />
  
    <map:transformers id="4" default="xslt">
     <map:transformer id="5" name="xslt" src="org.apache.cocoon.transformation.TraxTransformer">
      <use-store id="6">true</use-store>
      <use-request-parameters id="7">true</use-request-parameters>
      <use-browser-capabilities-db id="8">false</use-browser-capabilities-db>
     </map:transformer>
    </map:transformers>
  
    <map:readers id="9" default="resource"/>
  
    <map:serializers id="10" default="html"/>
  
    <map:selectors id="11" default="browser"/>
  
    <map:matchers id="12" default="wildcard">
      <map:matcher id="13" name="wildcard" src="org.apache.cocoon.matching.WildcardURIMatcherFactory"/>
      <map:matcher id="14" name="regexp" src="org.apache.cocoon.matching.RegexpURIMatcherFactory"/>
    </map:matchers>
  
    <map:actions id="15" >
     <map:action id="16" name="request" src="org.apache.cocoon.acting.RequestParamAction"/>
    </map:actions>
  
   </map:components>
  
   <!-- =========================== Pipelines ================================= -->
   <map:pipelines id="17">
     <!-- ===- A. Readers (public)           -->
     <map:pipeline id="18">
       <!-- Site-wide components -->
        <map:match id="19" pattern="**img/**.gif">
         <map:read id="20" src="img/{2}.gif" mime-type="image/gif"/>
       </map:match>
  
       <!-- Static files -->
       <map:match id="21" pattern="staticFile/**.xml">
         <map:generate id="22" src="staticContent/{1}.xml"/>
         <map:serialize id="23"/>
       </map:match>
  
       <map:match id="25" pattern="staticFile/**.html">
         <map:generate id="26" type="html" src="staticContent/{1}.html"/>
         <map:serialize id="27"/>
       </map:match>
  
       <map:match id="28" pattern="staticFile/**.css">
         <map:read id="29" src="staticContent/{1}.css" mime-type="text/css"/>
       </map:match>
  
       <map:match id="30" pattern="staticFile/**">
         <map:read id="31" src="staticContent/{1}" mime-type="application/octet-stream"/>
       </map:match>    
     </map:pipeline>
  
     <!-- ===- B. Site components (private)  -->
     <map:pipeline id="32" internal-only="true">
    <!-- Dynamic stylesheets -->
        <map:match id="33" pattern="component/replacer/*/">
         <map:generate id="34" type="serverpages" src="stylesheets/replacer.xsp">
          <map:parameter id="35" name="toReplace" value="{1}"/>
         </map:generate>
         <map:serialize id="36" type="xml"/>
        </map:match>
  
  <!-- Web Site Navigation -->
       <map:match id="37" pattern="component/menu/*">
         <map:generate id="38" src="datasources/menu.{1}.xml"/>
         <map:transform id="39" src="stylesheets/menu.{1}.xsl"/>
         <map:serialize id="40"/>
       </map:match>
  
  <!-- Sitemap manipulation -->
       <map:match id="41" pattern="component/sitemap/*/**">
         <map:generate id="42" src="../{2}/sitemap.xmap"/>
         <map:transform id="43" src="stylesheets/sitemap.{1}.xsl"/>
         <map:serialize id="44"/>
       </map:match>
  
  <!-- Pipeline manipulation -->
       <map:match id="45" pattern="component/pipeline/*/*/**">
         <map:generate id="46" src="../{3}/sitemap.xmap"/>
         <map:transform id="47" src="stylesheets/fragmentExtractor.xsl">
          <map:parameter id="48" name="elementId" value="{2}" />
         </map:transform>
         <map:transform id="49" src="stylesheets/pipeline.{1}.xsl"/>
         <map:serialize id="50"/>
       </map:match>
  
  <!-- Match manipulation -->
       <map:match id="51" pattern="component/match/*/*/*/**">
         <map:generate id="52" src="../{4}/sitemap.xmap"/>
         <map:transform id="53" src="stylesheets/fragmentExtractor.xsl">
          <map:parameter id="54" name="elementId" value="{2}" />
         </map:transform>
         <map:transform id="55" src="stylesheets/match.{1}.xsl"/>
         <map:serialize id="56"/>
       </map:match>
  
  <!-- Forms -->
       <map:match id="57" pattern="component/form/*/*/">
         <map:generate id="58" src="datasources/forms/{1}.xfdl"/>
         <map:transform id="59" src="cocoon:/component/replacer/{2}/"/>
         <map:transform id="60" src="stylesheets/xfdl-html.xsl"/>
         <map:serialize id="61"/>        
       </map:match> 
  
      <!-- XML document editing -->
       <map:match id="62" pattern="component/deleteElement/*/**">
        <map:generate id="63" type="jsp" src="/sitebuilder/datasources/deleteElement.jsp" />
        <map:transform id="64" src="stylesheets/operation-result.xsl" />
        <map:serialize id="65" type="html"/>
       </map:match>
  
       <map:match id="66" pattern="component/addElement/**">
        <map:generate id="67" type="jsp" src="/sitebuilder/datasources/addElement.jsp"/>
        <map:transform id="68" src="stylesheets/operation-result.xsl"/>
        <map:serialize id="69" type="html"/>
       </map:match>
     </map:pipeline>
  
     <!-- ===- C. Site definition (public)   -->
  
     <map:pipeline id="210">
  
  <!-- Root Page -->
       <map:match id="70" pattern="">
        <map:redirect-to id="72" uri="openSubSite/" />
       </map:match>
  
       <map:match id="71" pattern="openSubSite/**">
         <map:aggregate id="73" element="page">
           <map:part id="74" src="cocoon:/component/menu/main" element="layout-leftbar"/>
           <map:part id="75" src="cocoon:/component/sitemap/openSubSite/" element="layout-content" />
         </map:aggregate>
         <map:transform id="76" src="stylesheets/layout.2.xsl"/> 
         <map:serialize id="77"/>
       </map:match>
  
  <!-- Site Overview -->
       <map:match id="78" pattern="sitemap/view/">
        <map:act type="request"> 
         <map:parameter id="79" name="parameters" value="true"/>
  
         <map:aggregate id="80" element="page">
           <map:part id="81" src="cocoon:/component/menu/main" element="layout-leftbar"/>
           <map:part id="82" src="cocoon:/component/sitemap/view/{siteName}/" element="layout-content"/>
         </map:aggregate>
         <map:transform id="83" src="stylesheets/layout.2.xsl"/>
         <map:serialize id="84"/>
        </map:act>
       </map:match>
  
  <!-- Site Edit -->
       <map:match id="85" pattern="sitemap/edit/">
        <map:act type="request">
         <map:parameter id="86" name="parameters" value="true"/>
         <map:aggregate id="87" element="page">
           <map:part id="88" src="cocoon:/component/menu/main" element="layout-leftbar"/>
           <map:part id="89" src="cocoon:/component/sitemap/edit/{siteName}/" element="layout-content"/>
         </map:aggregate>
         <map:transform id="90" src="stylesheets/layout.2.xsl"/>
         <map:serialize id="91"/>
        </map:act>
       </map:match>
  
  <!-- Site Add New Element Form -->
       <map:match id="92" pattern="sitemap/new*/">
        <map:act type="request">
         <map:parameter id="93" name="parameters" value="true"/>
         <map:aggregate id="94" element="page">
           <map:part id="95" src="cocoon:/component/menu/main" element="layout-leftbar"/>
           <map:part id="96" src="cocoon:/component/form/newSitemap{../1}/siteName={siteName}/" element="layout-content"/> 
         </map:aggregate>
         <map:transform id="97" src="stylesheets/layout.2.xsl"/>
         <map:serialize id="98"/>
        </map:act>
       </map:match>
  
  <!-- Site Add New Element Processor -->
       <map:match id="99" pattern="sitemap/new*/process">
        <map:act type="request">
         <map:parameter id="100" name="parameters" value="true"/>
         <map:aggregate id="101" element="page">
           <map:part id="102" src="cocoon:/component/menu/main" element="layout-leftbar"/>
           <map:part id="103" src="cocoon:/component/addElement/{siteName}/sitemap.xmap" element="layout-content"/> 
         </map:aggregate>
         <map:transform id="104" src="stylesheets/layout.2.xsl"/>
         <map:serialize id="105" />
        </map:act>
       </map:match>
  
  <!-- Site Add New Element Results -->
       <map:match id="106" pattern="sitemap/new*/success">
        <map:act type="request">
         <map:parameter id="107" name="parameters" value="true"/>
         <map:redirect-to id="108" uri="../../sitemap/edit/?siteName={siteName}"/>
        </map:act>
       </map:match>
  
       <map:match id="109" pattern="sitemap/new*/failure">
        <map:act type="request">
         <map:parameter id="110" name="parameters" value="true"/>
         <map:redirect-to id="111" uri="../../sitemap/edit/?siteName={siteName}"/>
        </map:act>
       </map:match>
  
  
  <!-- Site Delete Element Processor -->
       <map:match id="112" pattern="sitemap/deleteElement/process">
        <map:act type="request">
         <map:parameter id="113" name="parameters" value="true"/>
         <map:aggregate id="114" element="page">
           <map:part id="115" src="cocoon:/component/menu/main" element="layout-leftbar"/>
           <map:part id="116" src="cocoon:/component/deleteElement/{elementId}/{siteName}/sitemap.xmap" element="layout-content"/> 
         </map:aggregate>
         <map:transform id="117" src="stylesheets/layout.2.xsl"/>
         <map:serialize id="118"/>
        </map:act>
       </map:match>
  
  <!-- Site Delete Element Results -->
       <map:match id="119" pattern="sitemap/deleteElement/success">
        <map:act type="request">
         <map:parameter id="120" name="parameters" value="true"/>
         <map:redirect-to id="121" uri="../../sitemap/edit/?siteName={siteName}"/>
        </map:act>
       </map:match>
  
       <map:match id="122" pattern="sitemap/deleteElement/failure">
        <map:act type="request">
         <map:parameter id="123" name="parameters" value="true"/>
         <map:redirect-to id="124" uri="../../sitemap/edit/?siteName={siteName}"/>
        </map:act>
       </map:match>
  
  
  <!-- Pipeline Edit -->
       <map:match id="125" pattern="pipeline/edit/">
        <map:act type="request">
         <map:parameter id="126" name="parameters" value="true"/>
         <map:aggregate id="127" element="page">
           <map:part id="128" src="cocoon:/component/menu/main" element="layout-leftbar"/>
           <map:part id="129" src="cocoon:/component/pipeline/edit/{pipelineId}/{siteName}/" element="layout-content"/>
         </map:aggregate>
         <map:transform id="130" src="stylesheets/layout.2.xsl"/>
         <map:serialize id="131"/>
        </map:act>
       </map:match>
  
  <!-- Pipeline Add New Element Form -->
       <map:match id="132" pattern="pipeline/new*/">
        <map:act type="request">
         <map:parameter id="133" name="parameters" value="true"/>
         <map:aggregate id="134" element="page">
           <map:part id="135" src="cocoon:/component/menu/main" element="layout-leftbar"/>
           <map:part id="136" src="cocoon:/component/form/newPipeline{../1}/pipelineId={pipelineId}:siteName={siteName}/" element="layout-content"/>
         </map:aggregate>
         <map:transform id="137" src="stylesheets/layout.2.xsl"/>
         <map:serialize id="138"/>
        </map:act>
       </map:match>
  
  <!-- Pipeline Add New Element Processor -->
       <map:match id="139" pattern="pipeline/new*/process">
        <map:act type="request">
         <map:parameter id="140" name="parameters" value="true"/>
         <map:aggregate id="141" element="page">
           <map:part id="142" src="cocoon:/component/menu/main" element="layout-leftbar"/>
           <map:part id="143" src="cocoon:/component/addElement/{siteName}/sitemap.xmap" element="layout-content"/> 
         </map:aggregate>
         <map:transform id="144" src="stylesheets/layout.2.xsl"/>
         <map:serialize id="145"/>
        </map:act>
       </map:match>
  
  <!-- Pipeline Add New Element Results -->
       <map:match id="146" pattern="pipeline/new*/success">
        <map:act type="request">
         <map:parameter id="147" name="parameters" value="true"/>
         <map:redirect-to id="148" uri="../../pipeline/edit/?siteName={siteName}&amp;pipelineId={pipelineId}"/>
        </map:act>
       </map:match>
  
       <map:match id="149" pattern="pipeline/new*/failure">
        <map:act type="request">
         <map:parameter id="150" name="parameters" value="true"/>
         <map:redirect-to id="151" uri="../../pipeline/edit/?siteName={siteName}&amp;pipelineId={pipelineId}"/>
        </map:act>
       </map:match>
  
  <!-- Pipeline Delete Element Processor -->
       <map:match id="152" pattern="pipeline/deleteElement/process">
        <map:act type="request">
         <map:parameter id="153" name="parameters" value="true"/>
         <map:aggregate id="154" element="page">
           <map:part id="155" src="cocoon:/component/menu/main" element="layout-leftbar"/>
           <map:part id="156" src="cocoon:/component/deleteElement/{elementId}/{siteName}/sitemap.xmap" element="layout-content"/> 
         </map:aggregate>
         <map:transform id="157" src="stylesheets/layout.2.xsl"/>
         <map:serialize id="158"/>
        </map:act>
       </map:match>
  
  <!-- Pipeline Delete Element Results -->
       <map:match id="159" pattern="pipeline/deleteElement/success">
        <map:act type="request">
         <map:parameter id="160" name="parameters" value="true"/>
         <map:redirect-to id="161" uri="../../pipeline/edit/?siteName={siteName}&amp;pipelineId={pipelineId}"/>
        </map:act>
       </map:match>
  
       <map:match id="162" pattern="sitemap/deleteElement/failure">
        <map:act type="request">
         <map:parameter id="163" name="parameters" value="true"/>
         <map:redirect-to id="164" uri="../../pipeline/edit/?siteName={siteName}&amp;pipelineId={pipelineId}"/>
        </map:act>
       </map:match>
  
  <!-- Match Edit -->
       <map:match id="165" pattern="match/edit/">
        <map:act type="request">
         <map:parameter id="166" name="parameters" value="true"/>
         <map:aggregate id="167" element="page">
           <map:part id="168" src="cocoon:/component/menu/main" element="layout-leftbar"/>
           <map:part id="169" src="cocoon:/component/match/edit/{matchId}/{pipelineId}/{siteName}/" element="layout-content"/>
         </map:aggregate>
         <map:transform id="170" src="stylesheets/layout.2.xsl"/>
         <map:serialize id="171"/>
        </map:act>
       </map:match>
  
  <!-- Match Add New Element Form -->
       <map:match id="172" pattern="match/new*/">
        <map:act type="request">
         <map:parameter id="173" name="parameters" value="true"/>
         <map:aggregate id="174" element="page">
           <map:part id="175" src="cocoon:/component/menu/main" element="layout-leftbar"/>
           <map:part id="176" src="cocoon:/component/form/newMatch{../1}/aggregateId={aggregateId}:matchId={matchId}:pipelineId={pipelineId}:siteName={siteName}/" element="layout-content"/>
         </map:aggregate>
         <map:transform id="177" src="stylesheets/layout.2.xsl"/>
         <map:serialize id="178"/>
        </map:act>
       </map:match>
  
  <!-- Match Add New Element Processor -->
       <map:match id="179" pattern="match/new*/process">
        <map:act type="request">
         <map:parameter id="180" name="parameters" value="true"/>
         <map:aggregate id="181" element="page">
           <map:part id="182" src="cocoon:/component/menu/main" element="layout-leftbar"/>
           <map:part id="183" src="cocoon:/component/addElement/{siteName}/sitemap.xmap" element="layout-content"/> 
         </map:aggregate>
         <map:transform id="184" src="stylesheets/layout.2.xsl"/>
         <map:serialize id="185"/>
        </map:act>
       </map:match>
  
  <!-- Match Add New Element Results -->
       <map:match id="186" pattern="match/new*/success">
        <map:act type="request">
         <map:parameter id="187" name="parameters" value="true"/>
         <map:redirect-to id="188" uri="../../match/edit/?siteName={siteName}&amp;pipelineId={pipelineId}&amp;matchId={matchId}"/>
        </map:act>
       </map:match>
  
       <map:match id="189" pattern="match/new*/failure">
        <map:act type="request">
         <map:parameter id="190" name="parameters" value="true"/>
         <map:redirect-to id="191" uri="../../match/edit/?siteName={siteName}&amp;pipelineId={pipelineId}&amp;matchId={matchId}"/>
        </map:act>
       </map:match>
  
  <!-- Match Delete Element Processor -->
       <map:match id="192" pattern="match/deleteElement/process">
        <map:act type="request">
         <map:parameter id="193" name="parameters" value="true"/>
         <map:aggregate id="194" element="page">
           <map:part id="195" src="cocoon:/component/menu/main" element="layout-leftbar"/>
           <map:part id="196" src="cocoon:/component/deleteElement/{elementId}/{siteName}/sitemap.xmap" element="layout-content"/> 
         </map:aggregate>
         <map:transform id="197" src="stylesheets/layout.2.xsl"/>
         <map:serialize id="198"/>
        </map:act>
       </map:match>
  
  <!-- Match Delete Element Results -->
       <map:match id="199" pattern="match/deleteElement/success">
        <map:act type="request">
         <map:parameter id="200" name="parameters" value="true"/>
         <map:redirect-to id="201" uri="../../match/edit/?siteName={siteName}&amp;pipelineId={pipelineId}&amp;matchId={matchId}"/>
        </map:act>
       </map:match>
  
       <map:match id="202" pattern="sitemap/deleteElement/failure">
        <map:act type="request">
         <map:parameter id="203" name="parameters" value="true"/>
         <map:redirect-to id="204" uri="../../match/edit/?siteName={siteName}&amp;pipelineId={pipelineId}&amp;matchId={matchId}"/>
        </map:act>
       </map:match>
  
  <!-- Static Pages -->
       <map:match id="205" type="regexp" pattern="(.*)/staticPage/(.*)">
         <map:aggregate id="206" element="page">
           <map:part id="207" src="component/staticFile/{2}" element="layout-content"/>
         </map:aggregate>
         <map:transform id="208" src="stylesheets/layout.2.xsl"/>
         <map:serialize id="209"/>
       </map:match>
     </map:pipeline>
   </map:pipelines>
   
  </map:sitemap>
  
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/sitemap.xmap~
  
  Index: sitemap.xmap~
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <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="xslt" src="org.apache.cocoon.transformation.TraxTransformer">
      <use-store>true</use-store>
      <use-request-parameters>true</use-request-parameters>
      <use-browser-capabilities-db>false</use-browser-capabilities-db>
     </map:transformer>
    </map:transformers>
  
    <map:readers default="resource"/>
  
    <map:serializers default="html"/>
  
    <map:selectors default="browser"/>
  
    <map:matchers default="wildcard">
      <map:matcher name="wildcard" src="org.apache.cocoon.matching.WildcardURIMatcherFactory"/>
      <map:matcher name="regexp" src="org.apache.cocoon.matching.RegexpURIMatcherFactory"/>
    </map:matchers>
  
    <map:actions>
     <map:action name="request" src="org.apache.cocoon.acting.RequestParamAction"/>
    </map:actions>
  
   </map:components>
  
   <!-- =========================== Pipelines ================================= -->
   <map:pipelines>
     <!-- ===- A. Readers (public)           -->
     <map:pipeline>
       <!-- Site-wide components -->
        <map:match pattern="**img/**.gif">
         <map:read src="img/{2}.gif" mime-type="image/gif"/>
       </map:match>
  
       <!-- Static files -->
       <map:match pattern="staticFile/**.xml">
         <map:generate src="staticContent/{1}.xml"/>
         <map:serialize/>
       </map:match>
  
       <map:match pattern="staticFile/**.html">
         <map:generate type="html" src="staticContent/{1}.html"/>
         <map:serialize/>
       </map:match>
  
       <map:match pattern="staticFile/**.css">
         <map:read src="staticContent/{1}.css" mime-type="text/css"/>
       </map:match>
  
       <map:match pattern="staticFile/**">
         <map:read src="staticContent/{1}" mime-type="application/octet-stream"/>
       </map:match>    
     </map:pipeline>
  
     <!-- ===- B. Site components (private)  -->
  <!--   <map:pipeline internal-only="true"> -->
     <map:pipeline>
    <!-- Dynamic stylesheets -->
        <map:match pattern="component/replacer/*/">
         <map:generate type="serverpages" src="stylesheets/replacer.xsp">
          <map:parameter name="toReplace" value="{1}"/>
         </map:generate>
         <map:serialize type="xml"/>
        </map:match>
  
  <!-- Web Site Navigation -->
       <map:match pattern="component/menu/*">
         <map:generate src="datasources/menu.{1}.xml"/>
         <map:transform src="stylesheets/menu.{1}.xsl"/>
         <map:serialize/>
       </map:match>
  
  <!-- Sitemap manipulation -->
       <map:match pattern="component/sitemap/*/**">
         <map:generate src="../{2}/sitemap.xmap"/>
         <map:transform src="stylesheets/sitemap.{1}.xsl"/>
         <map:serialize/>
       </map:match>
  
  <!-- Pipeline manipulation -->
       <map:match pattern="component/pipeline/*/*/**">
         <map:generate src="../{3}/sitemap.xmap"/>
         <map:transform src="stylesheets/fragmentExtractor.xsl">
          <map:parameter name="elementId" value="{2}" />
         </map:transform>
         <map:transform src="stylesheets/pipeline.{1}.xsl"/>
         <map:serialize/>
       </map:match>
  
  <!-- Match manipulation -->
       <map:match pattern="component/match/*/*/*/**">
         <map:generate src="../{4}/sitemap.xmap"/>
         <map:transform src="stylesheets/fragmentExtractor.xsl">
          <map:parameter name="elementId" value="{2}" />
         </map:transform>
         <map:transform src="stylesheets/match.{1}.xsl"/>
         <map:serialize/>
       </map:match>
  
  <!-- Forms -->
       <map:match pattern="component/form/*/*/">
         <map:generate src="datasources/forms/{1}.xfdl"/>
         <map:transform src="cocoon:/component/replacer/{2}/"/>
         <map:transform src="stylesheets/xfdl-html.xsl"/>
         <map:serialize/>        
       </map:match> 
     </map:pipeline>
  
     <!-- ===- C. Site definition (public)   -->
  
     <map:pipeline>
      <!-- XML document editing -->
       <map:match pattern="component/deleteElement/*/**">
        <map:generate type="jsp" src="/sitebuilder/datasources/deleteElement.jsp">
         <map:parameter name="successURI">success</map:parameter>
        </map:generate>
        <map:transform src="stylesheets/operation-result.xsl"/>
        <map:serialize type="html"/>
       </map:match>
  
       <map:match pattern="component/addElement/**">
        <map:generate type="jsp" src="/sitebuilder/datasources/addElement.jsp"/>
        <map:transform src="stylesheets/operation-result.xsl"/>
        <map:serialize type="html"/>
       </map:match>
  
  <!-- Root Page -->
       <map:match pattern="">
        <map:redirect-to uri="openSubSite/" />
       </map:match>
  
       <map:match pattern="openSubSite/**">
         <map:aggregate element="page">
           <map:part src="cocoon:/component/menu/main" element="layout-leftbar"/>
  <!--         <map:part src="cocoon:/staticFile/openSite.html" element="layout-content"/> -->
           <map:part src="cocoon:/component/sitemap/openSubSite/" element="layout-content" />
         </map:aggregate>
         <map:transform src="stylesheets/layout.2.xsl"/> 
         <map:serialize/>
       </map:match>
  
  <!-- Site Overview -->
       <map:match pattern="sitemap/view/">
        <map:act type="request"> 
         <map:parameter name="parameters" value="true"/>
  
         <map:aggregate element="page">
           <map:part src="cocoon:/component/menu/main" element="layout-leftbar"/>
           <map:part src="cocoon:/component/sitemap/view/{siteName}/" element="layout-content"/>
         </map:aggregate>
         <map:transform src="stylesheets/layout.2.xsl"/>
         <map:serialize/>
        </map:act>
       </map:match>
  
  <!-- Site Edit -->
       <map:match pattern="sitemap/edit/">
        <map:act type="request">
         <map:parameter name="parameters" value="true"/>
         <map:aggregate element="page">
           <map:part src="cocoon:/component/menu/main" element="layout-leftbar"/>
           <map:part src="cocoon:/component/sitemap/edit/{siteName}/" element="layout-content"/>
         </map:aggregate>
         <map:transform src="stylesheets/layout.2.xsl"/>
         <map:serialize/>
        </map:act>
       </map:match>
  
  <!-- Site Add New Element Form -->
       <map:match pattern="sitemap/new*/">
        <map:act type="request">
         <map:parameter name="parameters" value="true"/>
         <map:aggregate element="page">
           <map:part src="cocoon:/component/menu/main" element="layout-leftbar"/>
           <map:part src="cocoon:/component/form/newSitemap{../1}/siteName={siteName}/" element="layout-content"/> 
         </map:aggregate>
         <map:transform src="stylesheets/layout.2.xsl"/>
         <map:serialize/>
        </map:act>
       </map:match>
  
  <!-- Site Add New Element Processor -->
       <map:match pattern="sitemap/new*/process">
        <map:act type="request">
         <map:parameter name="parameters" value="true"/>
         <map:aggregate element="page">
           <map:part src="cocoon:/component/menu/main" element="layout-leftbar"/>
           <map:part src="cocoon:/component/addElement/{siteName}/sitemap.xmap" element="layout-content"/> 
         </map:aggregate>
         <map:transform src="stylesheets/layout.2.xsl"/>
         <map:serialize/>
        </map:act>
       </map:match>
  
  <!-- Site Add New Element Results -->
       <map:match pattern="sitemap/new*/success">
        <map:act type="request">
         <map:parameter name="parameters" value="true"/>
         <map:redirect-to uri="../../sitemap/edit/?siteName={siteName}"/>
        </map:act>
       </map:match>
  
       <map:match pattern="sitemap/new*/failure">
        <map:act type="request">
         <map:parameter name="parameters" value="true"/>
         <map:redirect-to uri="../../sitemap/edit/?siteName={siteName}"/>
        </map:act>
       </map:match>
  
  
  <!-- Site Delete Element Processor -->
       <map:match pattern="sitemap/deleteElement/process">
        <map:act type="request">
         <map:parameter name="parameters" value="true"/>
         <map:aggregate element="page">
           <map:part src="cocoon:/component/menu/main" element="layout-leftbar"/>
           <map:part src="cocoon:/component/deleteElement/{elementId}/{siteName}/sitemap.xmap" element="layout-content"/> 
         </map:aggregate>
         <map:transform src="stylesheets/layout.2.xsl"/>
         <map:serialize/>
        </map:act>
       </map:match>
  
  <!-- Site Delete Element Results -->
       <map:match pattern="sitemap/deleteElement/success">
        <map:act type="request">
         <map:parameter name="parameters" value="true"/>
         <map:redirect-to uri="../../sitemap/edit/?siteName={siteName}"/>
        </map:act>
       </map:match>
  
       <map:match pattern="sitemap/deleteElement/failure">
        <map:act type="request">
         <map:parameter name="parameters" value="true"/>
         <map:redirect-to uri="../../sitemap/edit/?siteName={siteName}"/>
        </map:act>
       </map:match>
  
  
  <!-- Pipeline Edit -->
       <map:match pattern="pipeline/edit/">
        <map:act type="request">
         <map:parameter name="parameters" value="true"/>
         <map:aggregate element="page">
           <map:part src="cocoon:/component/menu/main" element="layout-leftbar"/>
           <map:part src="cocoon:/component/pipeline/edit/{pipelineId}/{siteName}/" element="layout-content"/>
         </map:aggregate>
         <map:transform src="stylesheets/layout.2.xsl"/>
         <map:serialize/>
        </map:act>
       </map:match>
  
  <!-- Pipeline Add New Element Form -->
       <map:match pattern="pipeline/new*/">
        <map:act type="request">
         <map:parameter name="parameters" value="true"/>
         <map:aggregate element="page">
           <map:part src="cocoon:/component/menu/main" element="layout-leftbar"/>
           <map:part src="cocoon:/component/form/newPipeline{../1}/pipelineId={pipelineId}:siteName={siteName}/" element="layout-content"/>
         </map:aggregate>
         <map:transform src="stylesheets/layout.2.xsl"/>
         <map:serialize/>
        </map:act>
       </map:match>
  
  <!-- Pipeline Add New Element Processor -->
       <map:match pattern="pipeline/new*/process">
        <map:act type="request">
         <map:parameter name="parameters" value="true"/>
         <map:aggregate element="page">
           <map:part src="cocoon:/component/menu/main" element="layout-leftbar"/>
           <map:part src="cocoon:/component/addElement/{siteName}/sitemap.xmap" element="layout-content"/> 
         </map:aggregate>
         <map:transform src="stylesheets/layout.2.xsl"/>
         <map:serialize/>
        </map:act>
       </map:match>
  
  <!-- Pipeline Add New Element Results -->
       <map:match pattern="pipeline/new*/success">
        <map:act type="request">
         <map:parameter name="parameters" value="true"/>
         <map:redirect-to uri="../../pipeline/edit/?siteName={siteName}&amp;pipelineId={pipelineId}"/>
        </map:act>
       </map:match>
  
       <map:match pattern="pipeline/new*/failure">
        <map:act type="request">
         <map:parameter name="parameters" value="true"/>
         <map:redirect-to uri="../../pipeline/edit/?siteName={siteName}&amp;pipelineId={pipelineId}"/>
        </map:act>
       </map:match>
  
  
  <!-- Pipeline Delete Element Processor -->
       <map:match pattern="pipeline/deleteElement/process">
        <map:act type="request">
         <map:parameter name="parameters" value="true"/>
         <map:aggregate element="page">
           <map:part src="cocoon:/component/menu/main" element="layout-leftbar"/>
           <map:part src="cocoon:/component/deleteElement/{elementId}/{siteName}/sitemap.xmap" element="layout-content"/> 
         </map:aggregate>
         <map:transform src="stylesheets/layout.2.xsl"/>
         <map:serialize/>
        </map:act>
       </map:match>
  
  <!-- Pipeline Delete Element Results -->
       <map:match pattern="pipeline/deleteElement/success">
        <map:act type="request">
         <map:parameter name="parameters" value="true"/>
         <map:redirect-to uri="../../pipeline/edit/?siteName={siteName}&amp;pipelineId={pipelineId}"/>
        </map:act>
       </map:match>
  
       <map:match pattern="sitemap/deleteElement/failure">
        <map:act type="request">
         <map:parameter name="parameters" value="true"/>
         <map:redirect-to uri="../../pipeline/edit/?siteName={siteName}&amp;pipelineId={pipelineId}"/>
        </map:act>
       </map:match>
  
  <!-- Match Edit -->
       <map:match pattern="match/edit/">
        <map:act type="request">
         <map:parameter name="parameters" value="true"/>
         <map:aggregate element="page">
           <map:part src="cocoon:/component/menu/main" element="layout-leftbar"/>
           <map:part src="cocoon:/component/match/edit/{matchId}/{pipelineId}/{siteName}/" element="layout-content"/>
         </map:aggregate>
         <map:transform src="stylesheets/layout.2.xsl"/>
         <map:serialize/>
        </map:act>
       </map:match>
  
  <!-- Match Add New Element Form -->
       <map:match pattern="match/new*/">
        <map:act type="request">
         <map:parameter name="parameters" value="true"/>
         <map:aggregate element="page">
           <map:part src="cocoon:/component/menu/main" element="layout-leftbar"/>
           <map:part src="cocoon:/component/form/newMatch{../1}/aggregateId={aggregateId}:matchId={matchId}:pipelineId={pipelineId}:siteName={siteName}/" element="layout-content"/>
         </map:aggregate>
         <map:transform src="stylesheets/layout.2.xsl"/>
         <map:serialize/>
        </map:act>
       </map:match>
  
  <!-- Match Add New Element Processor -->
       <map:match pattern="match/new*/process">
        <map:act type="request">
         <map:parameter name="parameters" value="true"/>
         <map:aggregate element="page">
           <map:part src="cocoon:/component/menu/main" element="layout-leftbar"/>
           <map:part src="cocoon:/component/addElement/{siteName}/sitemap.xmap" element="layout-content"/> 
         </map:aggregate>
         <map:transform src="stylesheets/layout.2.xsl"/>
         <map:serialize/>
        </map:act>
       </map:match>
  
  <!-- Match Add New Element Results -->
       <map:match pattern="match/new*/success">
        <map:act type="request">
         <map:parameter name="parameters" value="true"/>
         <map:redirect-to uri="../../match/edit/?siteName={siteName}&amp;pipelineId={pipelineId}&amp;matchId={matchId}"/>
        </map:act>
       </map:match>
  
       <map:match pattern="match/new*/failure">
        <map:act type="request">
         <map:parameter name="parameters" value="true"/>
         <map:redirect-to uri="../../match/edit/?siteName={siteName}&amp;pipelineId={pipelineId}&amp;matchId={matchId}"/>
        </map:act>
       </map:match>
  
  <!-- Match Delete Element Processor -->
       <map:match pattern="match/deleteElement/process">
        <map:act type="request">
         <map:parameter name="parameters" value="true"/>
         <map:aggregate element="page">
           <map:part src="cocoon:/component/menu/main" element="layout-leftbar"/>
           <map:part src="cocoon:/component/deleteElement/{elementId}/{siteName}/sitemap.xmap" element="layout-content"/> 
         </map:aggregate>
         <map:transform src="stylesheets/layout.2.xsl"/>
         <map:serialize/>
        </map:act>
       </map:match>
  
  <!-- Match Delete Element Results -->
       <map:match pattern="match/deleteElement/success">
        <map:act type="request">
         <map:parameter name="parameters" value="true"/>
         <map:redirect-to uri="../../match/edit/?siteName={siteName}&amp;pipelineId={pipelineId}&amp;matchId={matchId}"/>
        </map:act>
       </map:match>
  
       <map:match pattern="sitemap/deleteElement/failure">
        <map:act type="request">
         <map:parameter name="parameters" value="true"/>
         <map:redirect-to uri="../../match/edit/?siteName={siteName}&amp;pipelineId={pipelineId}&amp;matchId={matchId}"/>
        </map:act>
       </map:match>
  
  <!-- Static Pages -->
       <map:match type="regexp" pattern="(.*)/staticPage/(.*)">
         <map:aggregate element="page">
           <map:part src="component/staticFile/{2}" element="layout-content"/>
         </map:aggregate>
         <map:transform src="stylesheets/layout.2.xsl"/>
         <map:serialize/>
       </map:match>
     </map:pipeline>
   </map:pipelines>
   
  </map:sitemap>
  
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/datasources/addElement.jsp
  
  Index: addElement.jsp
  ===================================================================
  <%@ page language='java' session='false' %>
  <%@ include file="cocoon_prefix.jspinclude" %>
  <operation>
  <% 
  // Generate followup URLs. This is the minimum needed to provide some valid result. 
  // If this fails, it will fail with an ugly Cocoon exception 
  String successFollowupURI;
  String failureFollowupURI;
  {
    StringBuffer followupQueryStringBuffer = new StringBuffer();
    String       queryStringSeparator = "?";
  
    for (java.util.Enumeration e = request.getParameterNames() ; e.hasMoreElements() ;) {
     String parameterName = (String) e.nextElement();
     if (parameterName.startsWith("followup_") && 
         request.getParameter(parameterName)!=null && 
         request.getParameter(parameterName).length()>0 ) {
          followupQueryStringBuffer.append(queryStringSeparator);
          followupQueryStringBuffer.append(parameterName.substring(9));
          followupQueryStringBuffer.append("=");
          followupQueryStringBuffer.append(request.getParameter(parameterName));
          queryStringSeparator="&amp;";
     }
    }
    successFollowupURI = (request.getParameter("successURI")==null?"success":request.getParameter("successURI")) + followupQueryStringBuffer.toString();
    failureFollowupURI = (request.getParameter("failureURI")==null?"failure":request.getParameter("failureURI")) + followupQueryStringBuffer.toString();
  }
  
  try {
  
  // Since input and output are the same file, the input 
  // would get truncated when the output gets opened.
  // Sitemaps are not very large, so we'll just read
  // the whole thing into memory.
  
     String sitemap;
     String sitemapFilename = cocoonPrefix + request.getParameter("siteName") + "/sitemap.xmap";
     {
      // sitemapReader is the sitemap file     
      java.io.FileReader sitemapReader = new java.io.FileReader(sitemapFilename);
      // sitemapWriter will construct a string representation of the sitemap file contents
      java.io.StringWriter sitemapWriter = new java.io.StringWriter();
  
      // Read the whole thing into memory
      int lastReadChar = sitemapReader.read();
      while (lastReadChar != -1) {
       sitemapWriter.write(lastReadChar);
       lastReadChar = sitemapReader.read();
      }
  
      // Extract the string representation of the sitemap file
      sitemap = sitemapWriter.toString();
  
      // Clean up
      sitemapWriter.close();
      sitemapReader.close();
     }
  
  // Now we build the transformation from the input parameters
  // This XSLT file will append a new element named after the value of parameter 'elementName' 
  // to the element identified by the XPath expression in parameter 'parentElementXPath'
  // Parameters attribute_<postfix> will generate attributes for the new element. The attributes
  // will be named after the postfix of the parameter, and its value is contained on the parameter.
  
     StringBuffer tb = new StringBuffer();
  
  tb.append("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>"                                                                      );
  tb.append(" <xsl:stylesheet version=\"1.0\" "                                                                                    );
  tb.append("      xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\""                                                             );
  tb.append("      xmlns:map=\"http://apache.org/cocoon/sitemap/1.0\""                                                             );
  tb.append("     >"                                                                                                               );
  tb.append("  <xsl:include href=\"" + cocoonPrefix + "sitebuilder/stylesheets/sitemapEditHelper.xsl\" />");
  
  
  tb.append("  <xsl:template match=\"" + request.getParameter("parentElementXPath") + "\">"                                        );
  tb.append("   <xsl:copy>"                                                                                                        );
  tb.append("     <xsl:apply-templates select=\"@*|node()\"/> "                                                                    );
  tb.append("    <" + request.getParameter("elementName"));
  
   for (java.util.Enumeration e = request.getParameterNames() ; e.hasMoreElements() ;) {
    String parameterName = (String) e.nextElement();
    if (parameterName.startsWith("attribute_") && request.getParameter(parameterName)!=null && request.getParameter(parameterName).length()>0 ) {
  tb.append(" " + parameterName.substring(10) + "=\"" + request.getParameter(parameterName) + "\""                                               );
    }
   }
  
  tb.append("    >"                                                                                                                );
  tb.append("    <xsl:call-template name=\"emitNextElementId\" />");
  tb.append("    </" + request.getParameter("elementName") + ">"                                                                   );
  tb.append("   </xsl:copy> "                                                                                                      );
  tb.append("  </xsl:template>"                                                                                                    );
  
  //tb.append("  <xsl:template match=\"" + request.getParameter("parentElementXPath") +"/" + request.getParameter("elementName") + "\">" );
  //tb.append("  </xsl:template>"                                                                                                    );
  
  tb.append(" </xsl:stylesheet>"                                                                                                   );
  
      String transformation = tb.toString();
  
      java.io.PrintWriter outPrintWriter = new java.io.PrintWriter(new java.io.FileWriter(sitemapFilename));
  
        javax.xml.transform.TransformerFactory tFactory = 
                  javax.xml.transform.TransformerFactory.newInstance();
        // Get the XML input document and the stylesheet, both in the servlet
        // engine document directory.
        javax.xml.transform.Source xmlSource = 
                  new javax.xml.transform.stream.StreamSource
                               (new java.io.StringReader(sitemap));
        javax.xml.transform.Source xslSource = 
                  new javax.xml.transform.stream.StreamSource
                               (new java.io.StringReader(transformation));
  
        // Generate the transformer.
        javax.xml.transform.Transformer transformer = 
                               tFactory.newTransformer(xslSource);
  
        // Perform the transformation, sending the outPrintWriterput to the response.
        transformer.transform(xmlSource, 
                             new javax.xml.transform.stream.StreamResult(outPrintWriter));
  %>
  <result type="success" redirect="<%=successFollowupURI %>" />
  <%
  } catch (Exception e) {
  %>
  <result type="failure" redirect="<%=failureFollowupURI %>" >
  <stacktrace>
  <%
    e.printStackTrace(new java.io.PrintWriter(out)); 
  %>
  </stacktrace>
  </result>
  <%
  }
  %>
  
  </operation>
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/datasources/cocoon_prefix.jspinclude
  
  Index: cocoon_prefix.jspinclude
  ===================================================================
  <%  
     // Get the location of the cocoon directory 
     String cocoonPrefix = config.getServletContext().getRealPath("/");
  %>
  
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/datasources/deleteElement.jsp
  
  Index: deleteElement.jsp
  ===================================================================
  <%@ page language='java' session='false' %>
  <%@ include file="cocoon_prefix.jspinclude" %>
  <operation>
  <% 
  // Generate followup URLs. This is the minimum needed to provide some valid result. 
  // If this fails, it will fail with an ugly Cocoon exception 
  String successFollowupURI;
  String failureFollowupURI;
  {
    StringBuffer followupQueryStringBuffer = new StringBuffer();
    String       queryStringSeparator = "?";
  
    for (java.util.Enumeration e = request.getParameterNames() ; e.hasMoreElements() ;) {
     String parameterName = (String) e.nextElement();
     if (parameterName.startsWith("followup_") && 
         request.getParameter(parameterName)!=null && 
         request.getParameter(parameterName).length()>0 ) {
          followupQueryStringBuffer.append(queryStringSeparator);
          followupQueryStringBuffer.append(parameterName.substring(9));
          followupQueryStringBuffer.append("=");
          followupQueryStringBuffer.append(request.getParameter(parameterName));
          queryStringSeparator="&amp;";
     }
    }
    successFollowupURI = (request.getParameter("successURI")==null?"success":request.getParameter("successURI")) + followupQueryStringBuffer.toString();
    failureFollowupURI = (request.getParameter("failureURI")==null?"failure":request.getParameter("failureURI")) + followupQueryStringBuffer.toString();
  }
  
  try {
  
  // Since input and output are the same file, the input 
  // would get truncated when the output gets opened.
  // Sitemaps are not very large, so we'll just read
  // the whole thing into memory.
  
     String sitemap;
     String sitemapFilename = cocoonPrefix + request.getParameter("siteName") + "/sitemap.xmap";
     {
      // sitemapReader is the sitemap file     
      java.io.FileReader sitemapReader = new java.io.FileReader(sitemapFilename);
      // sitemapWriter will construct a string representation of the sitemap file contents
      java.io.StringWriter sitemapWriter = new java.io.StringWriter();
  
      // Read the whole thing into memory
      int lastReadChar = sitemapReader.read();
      while (lastReadChar != -1) {
       sitemapWriter.write(lastReadChar);
       lastReadChar = sitemapReader.read();
      }
  
      // Extract the string representation of the sitemap file
      sitemap = sitemapWriter.toString();
  
      // Clean up
      sitemapWriter.close();
      sitemapReader.close();
     }
  
     StringBuffer tb = new StringBuffer();
  
  tb.append("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>"                                                                      );
  tb.append(" <xsl:stylesheet version=\"1.0\" "                                                                                    );
  tb.append("      xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\""                                                             );
  tb.append("      xmlns:map=\"http://apache.org/cocoon/sitemap/1.0\""                                                             );
  tb.append("     >"                                                                                                               );
  tb.append("  <xsl:include href=\"sitebuilder/stylesheets/sitemapEditHelper.xsl\" />");
  
  tb.append("  <xsl:template match=\"*[@id=" + request.getParameter("elementId") + "]\" /> ");
  
  tb.append(" </xsl:stylesheet>"                                                                                                   );
  
      String transformation = tb.toString();
  
      java.io.PrintWriter dbgPrintWriter = new java.io.PrintWriter(new java.io.FileWriter("/tmp/debug.xsl"));
      dbgPrintWriter.println(transformation);
      dbgPrintWriter.close();
  
      java.io.PrintWriter outPrintWriter = new java.io.PrintWriter(new java.io.FileWriter(sitemapFilename));
  
        javax.xml.transform.TransformerFactory tFactory = 
                  javax.xml.transform.TransformerFactory.newInstance();
        // Get the XML input document and the stylesheet, both in the servlet
        // engine document directory.
        javax.xml.transform.Source xmlSource = 
                  new javax.xml.transform.stream.StreamSource
                               (new java.io.StringReader(sitemap));
        javax.xml.transform.Source xslSource = 
                  new javax.xml.transform.stream.StreamSource
                               (new java.io.StringReader(transformation));
  
        // Generate the transformer.
        javax.xml.transform.Transformer transformer = 
                               tFactory.newTransformer(xslSource);
  
        // Perform the transformation, sending the outPrintWriterput to the response.
        transformer.transform(xmlSource, 
                             new javax.xml.transform.stream.StreamResult(outPrintWriter));
  %>
  <result type="success" redirect="<%=successFollowupURI %>" />
  <%
  } catch (Exception e) {
  %>
  <result type="failure" redirect="<%=failureFollowupURI %>" >
  <stacktrace>
  <%
    e.printStackTrace(new java.io.PrintWriter(out)); 
  %>
  </stacktrace>
  </result>
  <%
  }
  %>
  
  </operation>
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/datasources/menu.main.xml
  
  Index: menu.main.xml
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  
  <critical:menu xmlns:critical="http://www.criticalsoftware.com/NAMESPACES/CRITICAL/V1">
  <!-- 
  <critical:channel name="" image="" link="">
   <critical:item title="" link="" />
  </critical:channel>
  -->
   <critical:channel name="Menu">
    <critical:item title="Open site" link="/cocoon/sitebuilder/" />
   </critical:channel>
  </critical:menu>
  
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/datasources/forms/newMatchAggregate.xfdl
  
  Index: newMatchAggregate.xfdl
  ===================================================================
  <?xml version="1.0"?>
  <XFDL version="4.0.1">
    <page sid="newMatch">
      <label>Add Aggregate to Match</label>
  
      <field sid="followup_siteName">
       <visible>off</visible>
       <value>{siteName}</value>
      </field>
  
      <field sid="followup_pipelineId">
       <visible>off</visible>
       <value>{pipelineId}</value>
      </field>
  
      <field sid="followup_matchId">
       <visible>off</visible>
       <value>{matchId}</value>
      </field>
  
      <field sid="elementName">
       <visible>off</visible>
       <value>map:aggregate</value>
      </field>
  
      <field sid="parentElementXPath">
       <visible>off</visible>
       <value>//*[@id={matchId}]</value>
      </field>
  
      <field sid="siteName">
        <label>Site:</label>
        <editstate>readonly</editstate>
  
        <value>{siteName}</value>
      </field>
  
      <field sid="pipelineId">
        <label>Pipeline:</label>
        <editstate>readonly</editstate>
  
        <value>{pipelineId}</value>
      </field>
  
      <field sid="matchId">
        <label>Match:</label>
        <editstate>readonly</editstate>
  
        <value>{matchId}</value>
      </field>
  
      <field sid="attribute_element">
        <label>Aggregate under element:</label>
  
        <value></value>
      </field>
  
      <field sid="attribute_ns">
        <label>Namespace:</label>
  
        <value></value>
      </field>
  
      <button sid="submit_button">
       <value>Process Form</value>
       <type>done</type>
       <url content="array">
        <ae>process</ae>
       </url>
      </button>
  
    </page>
  </XFDL>
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/datasources/forms/newMatchGenerate.xfdl
  
  Index: newMatchGenerate.xfdl
  ===================================================================
  <?xml version="1.0"?>
  <XFDL version="4.0.1">
    <page sid="newMatch">
      <label>Add Generate to Match</label>
  
      <field sid="followup_siteName">
       <visible>off</visible>
       <value>{siteName}</value>
      </field>
  
      <field sid="followup_pipelineId">
       <visible>off</visible>
       <value>{pipelineId}</value>
      </field>
  
      <field sid="followup_matchId">
       <visible>off</visible>
       <value>{matchId}</value>
      </field>
  
      <field sid="elementName">
       <visible>off</visible>
       <value>map:generate</value>
      </field>
  
      <field sid="parentElementXPath">
       <visible>off</visible>
       <value>//*[@id={matchId}]</value>
      </field>
  
      <field sid="siteName">
        <label>Site:</label>
        <editstate>readonly</editstate>
  
        <value>{siteName}</value>
      </field>
  
      <field sid="pipelineId">
        <label>Pipeline:</label>
        <editstate>readonly</editstate>
  
        <value>{pipelineId}</value>
      </field>
  
      <field sid="matchId">
        <label>Match:</label>
        <editstate>readonly</editstate>
  
        <value>{matchId}</value>
      </field>
  
      <field sid="attribute_type">
        <label>Generator Type:</label>
  
        <value></value>
      </field>
  
      <field sid="attribute_src">
        <label>Source:</label>
  
        <value></value>
      </field>
  
      <button sid="submit_button">
       <value>Process Form</value>
       <type>done</type>
       <url content="array">
        <ae>process</ae>
       </url>
      </button>
  
    </page>
  </XFDL>
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/datasources/forms/newMatchGeneratePart.xfdl
  
  Index: newMatchGeneratePart.xfdl
  ===================================================================
  <?xml version="1.0"?>
  <XFDL version="4.0.1">
    <page sid="newMatch">
      <label>Add Part to Aggregate</label>
  
      <field sid="followup_siteName">
       <visible>off</visible>
       <value>{siteName}</value>
      </field>
  
      <field sid="followup_pipelineId">
       <visible>off</visible>
       <value>{pipelineId}</value>
      </field>
  
      <field sid="followup_matchId">
       <visible>off</visible>
       <value>{matchId}</value>
      </field>
  
      <field sid="elementName">
       <visible>off</visible>
       <value>map:part</value>
      </field>
  
      <field sid="parentElementXPath">
       <visible>off</visible>
       <value>//*[@id={aggregateId}]</value>
      </field>
  
      <field sid="siteName">
        <label>Site:</label>
        <editstate>readonly</editstate>
  
        <value>{siteName}</value>
      </field>
  
      <field sid="pipelineId">
        <label>Pipeline:</label>
        <editstate>readonly</editstate>
  
        <value>{pipelineId}</value>
      </field>
  
      <field sid="matchId">
        <label>Match:</label>
        <editstate>readonly</editstate>
  
        <value>{matchId}</value>
      </field>
  
      <field sid="attribute_src">
        <label>Source URI:</label>
  
        <value></value>
      </field>
  
      <field sid="attribute_element">
        <label>Root Element:</label>
  
        <value></value>
      </field>
  
      <field sid="attribute_ns">
        <label>Namespace:</label>
  
        <value></value>
      </field>
  
      <button sid="submit_button">
       <value>Process Form</value>
       <type>done</type>
       <url content="array">
        <ae>process</ae>
       </url>
      </button>
  
    </page>
  </XFDL>
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/datasources/forms/newMatchRead.xfdl
  
  Index: newMatchRead.xfdl
  ===================================================================
  <?xml version="1.0"?>
  <XFDL version="4.0.1">
    <page sid="newMatch">
      <label>Add Generate to Match</label>
  
      <field sid="followup_siteName">
       <visible>off</visible>
       <value>{siteName}</value>
      </field>
  
      <field sid="followup_pipelineId">
       <visible>off</visible>
       <value>{pipelineId}</value>
      </field>
  
      <field sid="followup_matchId">
       <visible>off</visible>
       <value>{matchId}</value>
      </field>
  
      <field sid="elementName">
       <visible>off</visible>
       <value>map:read</value>
      </field>
  
      <field sid="parentElementXPath">
       <visible>off</visible>
       <value>//*[@id={matchId}]</value>
      </field>
  
      <field sid="siteName">
        <label>Site:</label>
        <editstate>readonly</editstate>
  
        <value>{siteName}</value>
      </field>
  
      <field sid="pipelineId">
        <label>Pipeline:</label>
        <editstate>readonly</editstate>
  
        <value>{pipelineId}</value>
      </field>
  
      <field sid="matchId">
        <label>Match:</label>
        <editstate>readonly</editstate>
  
        <value>{matchId}</value>
      </field>
  
      <field sid="attribute_type">
        <label>Reader Type:</label>
  
        <value></value>
      </field>
  
      <field sid="attribute_src">
        <label>Source:</label>
  
        <value></value>
      </field>
  
      <field sid="attribute_mime-type">
        <label>Mime type:</label>
  
        <value></value>
      </field>
  
      <button sid="submit_button">
       <value>Process Form</value>
       <type>done</type>
       <url content="array">
        <ae>process</ae>
       </url>
      </button>
  
    </page>
  </XFDL>
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/datasources/forms/newMatchSerialize.xfdl
  
  Index: newMatchSerialize.xfdl
  ===================================================================
  <?xml version="1.0"?>
  <XFDL version="4.0.1">
    <page sid="newMatch">
      <label>Add Generate to Match</label>
  
      <field sid="followup_siteName">
       <visible>off</visible>
       <value>{siteName}</value>
      </field>
  
      <field sid="followup_pipelineId">
       <visible>off</visible>
       <value>{pipelineId}</value>
      </field>
  
      <field sid="followup_matchId">
       <visible>off</visible>
       <value>{matchId}</value>
      </field>
  
      <field sid="elementName">
       <visible>off</visible>
       <value>map:serialize</value>
      </field>
  
      <field sid="parentElementXPath">
       <visible>off</visible>
       <value>//*[@id={matchId}]</value>
      </field>
  
      <field sid="siteName">
        <label>Site:</label>
        <editstate>readonly</editstate>
  
        <value>{siteName}</value>
      </field>
  
      <field sid="pipelineId">
        <label>Pipeline:</label>
        <editstate>readonly</editstate>
  
        <value>{pipelineId}</value>
      </field>
  
      <field sid="matchId">
        <label>Match:</label>
        <editstate>readonly</editstate>
  
        <value>{matchId}</value>
      </field>
  
      <field sid="attribute_type">
        <label>Serializer Type:</label>
  
        <value></value>
      </field>
  
      <button sid="submit_button">
       <value>Process Form</value>
       <type>done</type>
       <url content="array">
        <ae>process</ae>
       </url>
      </button>
  
    </page>
  </XFDL>
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/datasources/forms/newMatchTransform.xfdl
  
  Index: newMatchTransform.xfdl
  ===================================================================
  <?xml version="1.0"?>
  <XFDL version="4.0.1">
    <page sid="newMatch">
      <label>Add Generate to Match</label>
  
      <field sid="followup_siteName">
       <visible>off</visible>
       <value>{siteName}</value>
      </field>
  
      <field sid="followup_pipelineId">
       <visible>off</visible>
       <value>{pipelineId}</value>
      </field>
  
      <field sid="followup_matchId">
       <visible>off</visible>
       <value>{matchId}</value>
      </field>
  
      <field sid="elementName">
       <visible>off</visible>
       <value>map:transform</value>
      </field>
  
      <field sid="parentElementXPath">
       <visible>off</visible>
       <value>//*[@id={matchId}]</value>
      </field>
  
      <field sid="siteName">
        <label>Site:</label>
        <editstate>readonly</editstate>
  
        <value>{siteName}</value>
      </field>
  
      <field sid="pipelineId">
        <label>Pipeline:</label>
        <editstate>readonly</editstate>
  
        <value>{pipelineId}</value>
      </field>
  
      <field sid="matchId">
        <label>Match:</label>
        <editstate>readonly</editstate>
  
        <value>{matchId}</value>
      </field>
  
      <field sid="attribute_type">
        <label>Transformer Type:</label>
  
        <value></value>
      </field>
  
      <field sid="attribute_src">
        <label>Source:</label>
  
        <value></value>
      </field>
  
      <button sid="submit_button">
       <value>Process Form</value>
       <type>done</type>
       <url content="array">
        <ae>process</ae>
       </url>
      </button>
  
    </page>
  </XFDL>
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/datasources/forms/newPipelineMatch.xfdl
  
  Index: newPipelineMatch.xfdl
  ===================================================================
  <?xml version="1.0"?>
  <XFDL version="4.0.1">
    <page sid="newMatch">
      <label>Add Match to Pipeline</label>
  
      <field sid="followup_siteName">
       <visible>off</visible>
       <value>{siteName}</value>
      </field>
  
      <field sid="followup_pipelineId">
       <visible>off</visible>
       <value>{pipelineId}</value>
      </field>
  
      <field sid="elementName">
       <visible>off</visible>
       <value>map:match</value>
      </field>
  
      <field sid="parentElementXPath">
       <visible>off</visible>
       <value>//*[@id={pipelineId}]</value>
      </field>
  
      <field sid="siteName">
        <label>Site:</label>
        <editstate>readonly</editstate>
  
        <value>{siteName}</value>
      </field>
  
      <field sid="pipelineId">
        <label>Pipeline:</label>
        <editstate>readonly</editstate>
  
        <value>{pipelineId}</value>
      </field>
  
      <field sid="attribute_type">
        <label>Match Type:</label>
  
        <value></value>
      </field>
  
      <field sid="attribute_pattern">
        <label>Match Pattern:</label>
  
        <value></value>
      </field>
  
      <button sid="submit_button">
       <value>Process Form</value>
       <type>done</type>
       <url content="array">
        <ae>process</ae>
       </url>
      </button>
  
    </page>
  </XFDL>
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/datasources/forms/newSitemapAction.xfdl
  
  Index: newSitemapAction.xfdl
  ===================================================================
  <?xml version="1.0"?>
  <XFDL version="4.0.1">
    <page sid="newAction">
      <label>Add Action to Sitemap</label>
  
      <field sid="followup_siteName">
       <visible>off</visible>
       <value>{siteName}</value>
      </field>
  
      <field sid="elementName">
       <visible>off</visible>
       <value>map:action</value>
      </field>
  
      <field sid="parentElementXPath">
       <visible>off</visible>
       <value>/map:sitemap/map:components/map:actions</value>
      </field>
  
      <field sid="siteName">
        <label>Generator's Site:</label>
        <editstate>readonly</editstate>
  
        <value>{siteName}</value>
      </field>
  
      <field sid="attribute_name">
        <label>Action Name:</label>
  
        <value></value>
      </field>
  
      <field sid="attribute_src">
        <label>Action Java Class:</label>
  
        <value></value>
      </field>
  
      <button sid="submit_button">
       <value>Process Form</value>
       <type>done</type>
       <url content="array">
        <ae>process</ae>
       </url>
      </button>
  
    </page>
  </XFDL>
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/datasources/forms/newSitemapGenerator.xfdl
  
  Index: newSitemapGenerator.xfdl
  ===================================================================
  <?xml version="1.0"?>
  <XFDL version="4.0.1">
    <page sid="newGenerator">
      <label>Add Generator to Sitemap</label>
  
      <field sid="followup_siteName">
       <visible>off</visible>
       <value>{siteName}</value>
      </field>
  
      <field sid="elementName">
       <visible>off</visible>
       <value>map:generator</value>
      </field>
  
      <field sid="parentElementXPath">
       <visible>off</visible>
       <value>/map:sitemap/map:components/map:generators</value>
      </field>
  
      <field sid="siteName">
        <label>Generator's Site:</label>
        <editstate>readonly</editstate>
  
        <value>{siteName}</value>
      </field>
  
      <field sid="attribute_name">
        <label>Generator Name:</label>
  
        <value></value>
      </field>
  
      <field sid="attribute_src">
        <label>Generator Java Class:</label>
  
        <value></value>
      </field>
  
      <field sid="attribute_label">
        <label>Generator Label:</label>
  
        <value></value>
      </field>
  
      <button sid="submit_button">
       <value>Process Form</value>
       <type>done</type>
       <url content="array">
        <ae>process</ae>
       </url>
      </button>
  
    </page>
  </XFDL>
  
  
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/datasources/forms/newSitemapMatcher.xfdl
  
  Index: newSitemapMatcher.xfdl
  ===================================================================
  <?xml version="1.0"?>
  <XFDL version="4.0.1">
    <page sid="newMatcher">
      <label>Add Matcher to Sitemap</label>
  
      <field sid="followup_siteName">
       <visible>off</visible>
       <value>{siteName}</value>
      </field>
  
      <field sid="elementName">
       <visible>off</visible>
       <value>map:matcher</value>
      </field>
  
      <field sid="parentElementXPath">
       <visible>off</visible>
       <value>/map:sitemap/map:components/map:matchers</value>
      </field>
  
      <field sid="siteName">
        <label>Generator's Site:</label>
        <editstate>readonly</editstate>
  
        <value>{siteName}</value>
      </field>
  
      <field sid="attribute_name">
        <label>Matcher Name:</label>
  
        <value></value>
      </field>
  
      <field sid="attribute_src">
        <label>Matcher Java Class:</label>
  
        <value></value>
      </field>
  
      <button sid="submit_button">
       <value>Process Form</value>
       <type>done</type>
       <url content="array">
        <ae>process</ae>
       </url>
      </button>
  
    </page>
  </XFDL>
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/datasources/forms/newSitemapPipeline.xfdl
  
  Index: newSitemapPipeline.xfdl
  ===================================================================
  <?xml version="1.0"?>
  <XFDL version="4.0.1">
    <page sid="newPipeline">
      <label>Add Pipeline to Sitemap</label>
  
      <field sid="followup_siteName">
       <visible>off</visible>
       <value>{siteName}</value>
      </field>
  
      <field sid="elementName">
       <visible>off</visible>
       <value>map:pipeline</value>
      </field>
  
      <field sid="parentElementXPath">
       <visible>off</visible>
       <value>/map:sitemap/map:pipelines</value>
      </field>
  
      <field sid="siteName">
        <label>Generator's Site:</label>
        <editstate>readonly</editstate>
  
        <value>{siteName}</value>
      </field>
  
      <button sid="submit_button">
       <value>Process Form</value>
       <type>done</type>
       <url content="array">
        <ae>process</ae>
       </url>
      </button>
  
    </page>
  </XFDL>
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/datasources/forms/newSitemapReader.xfdl
  
  Index: newSitemapReader.xfdl
  ===================================================================
  <?xml version="1.0"?>
  <XFDL version="4.0.1">
    <page sid="newTransformer">
      <label>Add Transformer to Sitemap</label>
  
      <field sid="followup_siteName">
       <visible>off</visible>
       <value>{siteName}</value>
      </field>
  
      <field sid="elementName">
       <visible>off</visible>
       <value>map:reader</value>
      </field>
  
      <field sid="parentElementXPath">
       <visible>off</visible>
       <value>/map:sitemap/map:components/map:readers</value>
      </field>
  
      <field sid="siteName">
        <label>Reader's Site:</label>
        <editstate>readonly</editstate>
  
        <value>{siteName}</value>
      </field>
  
      <field sid="attribute_name">
        <label>Reader Name:</label>
  
        <value></value>
      </field>
  
      <field sid="attribute_src">
        <label>Reader Java Class:</label>
  
        <value></value>
      </field>
  
      <button sid="submit_button">
       <value>Process Form</value>
       <type>done</type>
       <url content="array">
        <ae>process</ae>
       </url>
      </button>
  
    </page>
  </XFDL>
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/datasources/forms/newSitemapSelector.xfdl
  
  Index: newSitemapSelector.xfdl
  ===================================================================
  <?xml version="1.0"?>
  <XFDL version="4.0.1">
    <page sid="newSelector">
      <label>Add Selector to Sitemap</label>
  
      <field sid="followup_siteName">
       <visible>off</visible>
       <value>{siteName}</value>
      </field>
  
      <field sid="elementName">
       <visible>off</visible>
       <value>map:selector</value>
      </field>
  
      <field sid="parentElementXPath">
       <visible>off</visible>
       <value>/map:sitemap/map:components/map:selectors</value>
      </field>
  
      <field sid="siteName">
        <label>Generator's Site:</label>
        <editstate>readonly</editstate>
  
        <value>{siteName}</value>
      </field>
  
      <field sid="attribute_name">
        <label>Selector Name:</label>
  
        <value></value>
      </field>
  
      <field sid="attribute_src">
        <label>Selector Java Class:</label>
  
        <value></value>
      </field>
  
      <button sid="submit_button">
       <value>Process Form</value>
       <type>done</type>
       <url content="array">
        <ae>process</ae>
       </url>
      </button>
  
    </page>
  </XFDL>
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/datasources/forms/newSitemapSerializer.xfdl
  
  Index: newSitemapSerializer.xfdl
  ===================================================================
  <?xml version="1.0"?>
  <XFDL version="4.0.1">
    <page sid="newTransformer">
      <label>Add Transformer to Sitemap</label>
  
      <field sid="followup_siteName">
       <visible>off</visible>
       <value>{siteName}</value>
      </field>
  
      <field sid="elementName">
       <visible>off</visible>
       <value>map:serializer</value>
      </field>
  
      <field sid="parentElementXPath">
       <visible>off</visible>
       <value>/map:sitemap/map:components/map:serializers</value>
      </field>
  
      <field sid="siteName">
        <label>Serializer's Site:</label>
        <editstate>readonly</editstate>
  
        <value>{siteName}</value>
      </field>
  
      <field sid="attribute_name">
        <label>Serializer Name:</label>
  
        <value></value>
      </field>
  
      <field sid="attribute_mime-type">
        <label>Serializer mime-type:</label>
  
        <value></value>
      </field>
  
      <field sid="attribute_src">
        <label>Serializer Java Class:</label>
  
        <value></value>
      </field>
  
      <button sid="submit_button">
       <value>Process Form</value>
       <type>done</type>
       <url content="array">
        <ae>process</ae>
       </url>
      </button>
  
    </page>
  </XFDL>
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/datasources/forms/newSitemapTransformer.xfdl
  
  Index: newSitemapTransformer.xfdl
  ===================================================================
  <?xml version="1.0"?>
  <XFDL version="4.0.1">
    <page sid="newTransformer">
      <label>Add Transformer to Sitemap</label>
  
      <field sid="followup_siteName">
       <visible>off</visible>
       <value>{siteName}</value>
      </field>
  
      <field sid="elementName">
       <visible>off</visible>
       <value>map:transformer</value>
      </field>
  
      <field sid="parentElementXPath">
       <visible>off</visible>
       <value>/map:sitemap/map:components/map:transformers</value>
      </field>
  
      <field sid="siteName">
        <label>Generator's Site:</label>
        <editstate>readonly</editstate>
  
        <value>{siteName}</value>
      </field>
  
      <field sid="attribute_name">
        <label>Transformer Name:</label>
  
        <value></value>
      </field>
  
      <field sid="attribute_src">
        <label>Transformer Java Class:</label>
  
        <value></value>
      </field>
  
      <button sid="submit_button">
       <value>Process Form</value>
       <type>done</type>
       <url content="array">
        <ae>process</ae>
       </url>
      </button>
  
    </page>
  </XFDL>
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/staticContent/openSite.html
  
  Index: openSite.html
  ===================================================================
  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  <html>
  <head>
                 
    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
    <title>Sitebuilder</title>
      
  </head>
  <body>
  <div align="Center">
  <h1>Sitebuilder</h1>
  </div>
  <div align="Left">To start using sitebuilder, please type the name of the
    site you want to edit, and submit the form:<br>
  <b>Site name:</b>
  <form action="sitemap/view/" method="get"><input type="text" name="siteName"><input type="submit" value="Open"></form>
  <hr width="60%" size="1" noshade=""><br>
  <div align="Center">&copy;2001, <a href="mailto:sergio.carvalho@acm.org?subject=Site%20Builder">
   S&eacute;rgio Carvalho</a>
   . All rights reserved<br>
  </div>
  </div>
  </body>
  </html>
  
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/staticContent/sitebuilder.css
  
  Index: sitebuilder.css
  ===================================================================
  *                                    /* Base properties */
  { 
   font-family: Verdana, sans-serif;
   font-size: 12pt;
   background-color: white;
  }
  
  /* ---- Links ---- */
  A:link                               /* unvisited links */
  { 
   text-decoration: underline
  }
  A:visited                            /* visited links */
  { 
   text-decoration: underline;
  }
  A:hover                              /* user hovers */
  { 
   text-decoration: none;
  }
  A:active                             /* active links */
  { 
   text-decoration: none;
  }
  /* ---- /Links ---- */
  /* ---- Main Menu ----*/
  table.sitebuilder_mainMenu
  {
   width: 100%;
   border: none;
   margin: 0mm;
   padding: 0mm;
  }
  *.sitebuilder_mainMenuHeader
  {
   font-family: Arial, sans-serif;
   font-size: 10pt;
   font-weight: bold;
   background-color: #000099;
   text-align: center;
   color: white;
  }
  *.sitebuilder_mainMenuItem
  {
   font-family: Arial, sans-serif;
   font-size: 10pt;
   font-weight: bold;
   text-align: center;
   background-color: #ededff;
  }
  /* ---- /Main Menu ---- */
  /* ---- Sitemap View --- */
  table.sitebuilder_sitemapView
  {
   width: 100%;
   border: none;
   margin: 0mm;
   padding: 0mm;
  }
  *.sitebuilder_sitemapViewTitle
  {
   font-family: Arial, sans-serif;
   font-size: 14pt;
   text-align: center;
   background-color: #000099;
   color: white;
   width: 80%;
  }
  *.sitebuilder_sitemapViewEdit
  {
   font-family: Arial, sans-serif;
   font-size: 10pt;
   text-align: right;
   background-color: #000099;
   color: #000099;
  }
  A.sitebuilder_sitemapViewEdit
  {
   font-family: Arial, sans-serif;
   font-size: 10pt;
   text-align: right;
   background-color: #000099;
   color: #AAFFFF;
  }
  *.sitebuilder_sitemapViewPartTitle
  {
   font-family: Arial, sans-serif;
   font-size: 10pt;
   font-weight: bold;
   text-align: center;
   background-color: #000099;
   color: white;
  }
  
  *.sitebuilder_sitemapViewPartList
  {
   font-family: Verdana, sans-serif;
   font-size: 12pt;
   background-color: white;
  }
  *.sitebuilder_aggregateParts
  {
   margin-left: 2em;
  }
  
  *.sitebuilder_error
  {
   color: red;
   font-weight: bold;
  }
  /* ---- /Sitemap View --- */
  
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/stylesheets/#sitemap.edit.xsl#
  
  Index: #sitemap.edit.xsl#
  ===================================================================
  <?xml version="1.0" encoding="iso-8859-1"?>
  
  <!-- 
  Author: Sergio Carvalho "scarvalho@criticalsoftware.com"
  Changelog:
  
  First release: 
  
  Description: Sub-stylesheet to present a Cocoon 2 sitemap.xmap file in HTML.
  -->
  <xsl:stylesheet version="1.0" 
       xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
       xmlns:map="http://apache.org/cocoon/sitemap/1.0"
  >
   <xsl:param name="siteName" />
   <xsl:template match="map:sitemap">
    <table class="sitebuilder_sitemapView">
     <tr>
      <td class="sitebuilder_sitemapViewTitle">
       Edit Sitemap
      </td>
      <td class="sitebuilder_sitemapViewEdit">
       <a class="sitebuilder_sitemapViewEdit"><xsl:attribute name="href">/cocoon/sitebuilder/sitemap/view/?siteName=<xsl:value-of select="$siteName" /></xsl:attribute>[View]
       </a><br />
  
      </td>
     </tr>
     <tr>
      <td class="sitebuilder_sitemapViewPartTitle">
       Generators
      </td>
      <td class="sitebuilder_sitemapViewEdit">
       <a class="sitebuilder_sitemapViewEdit"><xsl:attribute name="href">/cocoon/sitebuilder/sitemap/newGenerator/?siteName=<xsl:value-of select="$siteName" /></xsl:attribute>[Add]
       </a><br />
      </td>
     </tr>
     <tr>
      <td colspan="2" class="sitebuilder_sitemapViewPartList">
       <xsl:apply-templates select="map:components/map:generators/map:generator" />
      </td>
     </tr>
     <tr>
      <td class="sitebuilder_sitemapViewPartTitle">
       Transformers
      </td>
      <td class="sitebuilder_sitemapViewEdit">
       <a class="sitebuilder_sitemapViewEdit"><xsl:attribute name="href">/cocoon/sitebuilder/sitemap/newTransformer/?siteName=<xsl:value-of select="$siteName" /></xsl:attribute>[Add]
       </a><br />
      </td>
     </tr>
     <tr>
      <td colspan="2" class="sitebuilder_sitemapViewPartList">
       <xsl:apply-templates select="map:components/map:transformers/map:transformer" />
      </td>
     </tr>
     <tr>
      <td class="sitebuilder_sitemapViewPartTitle">
       Readers
      </td>
      <td class="sitebuilder_sitemapViewEdit">
       <a class="sitebuilder_sitemapViewEdit"><xsl:attribute name="href">/cocoon/sitebuilder/sitemap/newReader/?siteName=<xsl:value-of select="$siteName" /></xsl:attribute>[Add]</a><br />
      </td>
     </tr>
     <tr>
      <td colspan="2" class="sitebuilder_sitemapViewPartList">
       <xsl:apply-templates select="map:components/map:readers/map:reader" />
      </td>
     </tr>
     <tr>
      <td class="sitebuilder_sitemapViewPartTitle">
       Serializers
      </td>
      <td class="sitebuilder_sitemapViewEdit">
       <a class="sitebuilder_sitemapViewEdit"><xsl:attribute name="href">/cocoon/sitebuilder/sitemap/newSerializer/?siteName=<xsl:value-of select="$siteName" /></xsl:attribute>[Add]</a><br />
      </td>
     </tr>
     <tr>
      <td colspan="2" class="sitebuilder_sitemapViewPartList">
       <xsl:apply-templates select="map:components/map:serializers/map:serializer" />
      </td>
     </tr>
     <tr>
      <td class="sitebuilder_sitemapViewPartTitle">
       Selectors
      </td>
      <td class="sitebuilder_sitemapViewEdit">
       <a class="sitebuilder_sitemapViewEdit"><xsl:attribute name="href">/cocoon/sitebuilder/sitemap/newSelector/?siteName=<xsl:value-of select="$siteName" /></xsl:attribute>[Add]</a><br />
      </td>
     </tr>
     <tr>
      <td colspan="2" class="sitebuilder_sitemapViewPartList">
       <xsl:apply-templates select="map:components/map:selectors/map:selector" />
      </td>
     </tr>
     <tr>
      <td class="sitebuilder_sitemapViewPartTitle">
       Matchers
      </td>
      <td class="sitebuilder_sitemapViewEdit">
       <a class="sitebuilder_sitemapViewEdit"><xsl:attribute name="href">/cocoon/sitebuilder/sitemap/newMatcher/?siteName=<xsl:value-of select="$siteName" /></xsl:attribute>[Add]</a><br />
      </td>
     </tr>
     <tr>
      <td colspan="2" class="sitebuilder_sitemapViewPartList">
       <xsl:apply-templates select="map:components/map:matchers/map:matcher" />
      </td>
     </tr>
     <tr>
      <td class="sitebuilder_sitemapViewPartTitle">
       Actions
      </td>
      <td class="sitebuilder_sitemapViewEdit">
       <a class="sitebuilder_sitemapViewEdit"><xsl:attribute name="href">/cocoon/sitebuilder/sitemap/newAction/?siteName=<xsl:value-of select="$siteName" /></xsl:attribute>[Add]</a><br />
      </td>
     </tr>
     <tr>
      <td colspan="2" class="sitebuilder_sitemapViewPartList">
       <xsl:apply-templates select="map:components/map:actions/map:action" />
      </td>
     </tr>
     <tr>
      <td class="sitebuilder_sitemapViewPartTitle">
       Pipelines
      </td>
      <td class="sitebuilder_sitemapViewEdit">
       <a class="sitebuilder_sitemapViewEdit"><xsl:attribute name="href">/cocoon/sitebuilder/sitemap/newPipeline/?siteName=<xsl:value-of select="$siteName" /></xsl:attribute>[Add]</a><br />
      </td>
     </tr>
     <xsl:apply-templates select="map:pipelines/map:pipeline" />
     <tr>
      <td colspan="2" class="sitebuilder_sitemapViewTitle">
       End of Sitemap Description
      </td>
     </tr>  
    </table>
   </xsl:template>
  
   <xsl:template match="map:generator|map:transformer|map:reader|map:serializer|map:selector|map:matcher|map:action">
    <xsl:choose>
     <xsl:when test="@name=../@default">
      <b><xsl:value-of select="@name" /></b><br />
     </xsl:when>
     <xsl:otherwise>
      <xsl:value-of select="@name" /><br />
     </xsl:otherwise>
    </xsl:choose>
   </xsl:template>
   
   <xsl:template match="map:pipeline">
    <tr>
     <td class="sitebuilder_sitemapViewPartList">
      Pipeline <xsl:value-of select="position()" /> 
      <xsl:if test="@internal-only"> (Internal Pipeline)</xsl:if>
      <br/>
      <div style="margin-left: 2em">
       <xsl:apply-templates select="map:match" />
      </div>
     </td>
     <td class="sitebuilder_sitemapViewEdit">
      <a class="sitebuilder_sitemapViewEdit"><xsl:attribute name="href">/cocoon/sitebuilder/sitemap/deleteElement/process?siteName=<xsl:value-of select="$siteName" />&amp;elementId=<xsl:value-of select="@id" /></xsl:attribute>[Remove]</a><br/>
      <a class="sitebuilder_sitemapViewEdit"><xsl:attribute name="href">/cocoon/sitebuilder/pipeline/edit/?siteName=<xsl:value-of select="$siteName" />&amp;pipelineId=<xsl:value-of select="@id" /></xsl:attribute>[Edit]</a><br />
     </td>
    </tr>
   </xsl:template>
   
   <xsl:template match="map:match">
    Matches: "<i><xsl:value-of select="@pattern" /></i>"<br/>
   </xsl:template>
  
   
  </xsl:stylesheet>
  
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/stylesheets/fragmentExtractor.xsl
  
  Index: fragmentExtractor.xsl
  ===================================================================
  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  >
   <xsl:param name="elementId" />
  
   <xsl:template match="/">
    <xsl:apply-templates select="//*[@id=$elementId]"/>
   </xsl:template>
  
   <xsl:template match="@*|*|text()|processing-instruction()" priority="-1">
    <xsl:copy>
     <xsl:apply-templates select="@*|*|text()|processing-instruction()"/>
    </xsl:copy>
   </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  
  
  
  
  
  
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/stylesheets/layout.2.xsl
  
  Index: layout.2.xsl
  ===================================================================
  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  >
  	<!-- Match The Root Node -->
  	<xsl:template match="page">
           <HTML>
            <HEAD>
             <TITLE>Sitebuilder</TITLE>
             <link rel="stylesheet" href="/cocoon/sitebuilder/staticFile/sitebuilder.css" type="text/css" />
  
            </HEAD>
            <BODY bgcolor="white">
             <center>
             <table width="700"       align="center" 
  		  bgcolor="#FFFFFF" name="t_corpo" 
  		  cellpadding="5"   cellspacing="5" 
  		  border="0"        vspace="0" 
  		  hspace="0"
  		  >
              <TR>
               <td valign="top" align="center" width="80">
                <xsl:apply-templates select="layout-leftbar"/>
               </td>
               <td width="580" bgcolor="#FFFFFF" valign="top">
                <xsl:apply-templates select="layout-content"/>
               </td>
              </TR>
              </table>
              </center>
            </BODY>
           </HTML>
  	</xsl:template>
  
          <!-- Match page components -->
          <xsl:template match="layout-leftbar|layout-content">
           <xsl:apply-templates/>
          </xsl:template>
  
          <!-- Copy non-positioning markup -->
          <xsl:template match="@*|*|text()|processing-instruction()" priority="-1">
  	 <xsl:copy>
            <xsl:apply-templates select="@*|*|text()|processing-instruction()"/>
           </xsl:copy>
          </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  
  
  
  
  
  
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/stylesheets/match.edit.xsl
  
  Index: match.edit.xsl
  ===================================================================
  <?xml version="1.0" encoding="iso-8859-1"?>
  <!-- 
  Author: Sergio Carvalho "scarvalho@criticalsoftware.com"
  Changelog:
  
  First release: 
  
  Description: 
  -->
  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:map="http://apache.org/cocoon/sitemap/1.0">
    <xsl:param name="siteName" />
  
    <xsl:param name="pipelineId" />
  
    <xsl:param name="matchId" />
  
    <xsl:template match="map:match">
      <table class="sitebuilder_sitemapView">
        <tr>
          <td class="sitebuilder_sitemapViewTitle">Edit Match for "
          <em class="sitebuilder_sitemapViewTitle">
            <xsl:value-of select="@pattern" />
          </em>
  
          "</td>
  
          <td class="sitebuilder_sitemapViewEdit">
            <a class="sitebuilder_sitemapViewEdit">
            <xsl:attribute name="href">/cocoon/sitebuilder/pipeline/edit/?siteName=<xsl:value-of select="$siteName" />&amp;pipelineId=<xsl:value-of select="$pipelineId" /></xsl:attribute>
  
            [Edit Pipeline]</a>
  
            <br />
          </td>
        </tr>
  
        <tr>
          <td class="sitebuilder_sitemapViewPartTitle">Generator</td>
  
          <td class="sitebuilder_sitemapViewEdit">
            <xsl:if test="count(map:generate)+count(map:read)+count(map:aggregate) = 0">
              <a class="sitebuilder_sitemapViewEdit">
              <xsl:attribute name="href">/cocoon/sitebuilder/match/newAggregate/?siteName=<xsl:value-of select="$siteName" />&amp;pipelineId=<xsl:value-of select="$pipelineId" />&amp;matchId=<xsl:value-of select="$matchId" /></xsl:attribute>
              [Add Aggregation]</a>
  
              <br />
  
              <a class="sitebuilder_sitemapViewEdit">
              <xsl:attribute name="href">/cocoon/sitebuilder/match/newGenerate/?siteName=<xsl:value-of select="$siteName" />&amp;pipelineId=<xsl:value-of select="$pipelineId" />&amp;matchId=<xsl:value-of select="$matchId" /></xsl:attribute>
  
              [Add Generator]</a>
  
              <br />
  
              <a class="sitebuilder_sitemapViewEdit">
              <xsl:attribute name="href">/cocoon/sitebuilder/match/newRead/?siteName=<xsl:value-of select="$siteName" />&amp;pipelineId=<xsl:value-of select="$pipelineId" />&amp;matchId=<xsl:value-of select="$matchId" /></xsl:attribute>
  
              [Add Reader]</a>
  
              <br />
            </xsl:if>
          </td>
        </tr>
  
        <xsl:call-template name="generator_edit" />
  
        <xsl:if test="count(map:read) = 0">
          <tr>
            <td class="sitebuilder_sitemapViewPartTitle">Transformers</td>
  
            <td class="sitebuilder_sitemapViewEdit">
                <a class="sitebuilder_sitemapViewEdit">
                <xsl:attribute name="href">/cocoon/sitebuilder/match/newTransform/?siteName=<xsl:value-of select="$siteName" />&amp;pipelineId=<xsl:value-of select="$pipelineId" />&amp;matchId=<xsl:value-of select="$matchId" /></xsl:attribute>
  
                [Add]</a>
  
                <br />
            </td>
          </tr>
  
          <xsl:apply-templates select="map:transform" />
  
          <tr>
            <td class="sitebuilder_sitemapViewPartTitle">Serializer</td>
  
            <td class="sitebuilder_sitemapViewEdit">
              <xsl:if test="count(map:serialize) = 0">
                <a class="sitebuilder_sitemapViewEdit">
                <xsl:attribute name="href">/cocoon/sitebuilder/match/newSerialize/?siteName=<xsl:value-of select="$siteName" />&amp;pipelineId=<xsl:value-of select="$pipelineId" />&amp;matchId=<xsl:value-of select="$matchId" /></xsl:attribute>
  
                [Add]</a>
  
                <br />
              </xsl:if>
            </td>
          </tr>
  
          <xsl:call-template name="serializer_edit" />
        </xsl:if>
  
        <tr>
          <td colspan="2" class="sitebuilder_sitemapViewTitle">End of Match Description</td>
        </tr>
      </table>
    </xsl:template>
  
    <xsl:template name="generator_edit">
      <xsl:choose>
        <xsl:when test="count(map:generate|map:read|map:aggregate) &gt; 0">
          <xsl:apply-templates select="map:generate|map:read|map:aggregate" />
        </xsl:when>
  
        <xsl:otherwise>
          <tr>
            <td class="sitebuilder_sitemapViewPartList">
              <div class="sitebuilder_error">No Generator defined! Please click add to define it.</div>
            </td>
  
            <td class="sitebuilder_sitemapViewEdit">
            </td>
          </tr>
        </xsl:otherwise>
      </xsl:choose>
    </xsl:template>
  
    <xsl:template name="serializer_edit">
      <xsl:choose>
        <xsl:when test="count(map:serialize) &gt; 0">
          <xsl:apply-templates select="map:serialize" />
        </xsl:when>
  
        <xsl:otherwise>
          <tr>
            <td class="sitebuilder_sitemapViewPartList">
              <div class="sitebuilder_error">No Serializer defined! Please click add to define it.</div>
            </td>
  
            <td class="sitebuilder_sitemapViewEdit">
            </td>
          </tr>
        </xsl:otherwise>
      </xsl:choose>
    </xsl:template>
  
    <xsl:template match="map:aggregate">
      <tr>
        <td class="sitebuilder_sitemapViewPartList">
          Aggregation under <em>&lt;<xsl:if test="@ns"><xsl:value-of select="@ns" />:</xsl:if><xsl:value-of select="@element" />&gt;</em> of:
        </td>
        <td class="sitebuilder_sitemapViewEdit">
         <a class="sitebuilder_sitemapViewEdit"><xsl:attribute name="href">/cocoon/sitebuilder/match/deleteElement/process?siteName=<xsl:value-of select="$siteName" />&amp;elementId=<xsl:value-of select="@id" />&amp;followup_siteName=<xsl:value-of select="$siteName" />&amp;followup_pipelineId=<xsl:value-of select="$pipelineId" />&amp;followup_matchId=<xsl:value-of select="$matchId" /></xsl:attribute>[Remove]</a><br/>
              <a class="sitebuilder_sitemapViewEdit">
              <xsl:attribute name="href">/cocoon/sitebuilder/match/newGeneratePart/?siteName=<xsl:value-of select="$siteName" />&amp;pipelineId=<xsl:value-of select="$pipelineId" />&amp;matchId=<xsl:value-of select="$matchId" />&amp;aggregateId=<xsl:value-of select="@id" /></xsl:attribute>
              [Add Part]</a>
              <br />
        </td>
      </tr>
      <xsl:apply-templates select="map:part" />
    </xsl:template>
  
    <xsl:template match="map:part">
     <tr>
      <td class="sitebuilder_sitemapViewPartList">
      <div class="sitebuilder_aggregateParts"><xsl:value-of select="@src" /> under <xsl:if test="@ns">'<xsl:value-of select="@ns" />':</xsl:if><em>&lt;<xsl:value-of select="@element" />&gt;</em></div>
      </td>
      <td class="sitebuilder_sitemapViewEdit">
         <a class="sitebuilder_sitemapViewEdit"><xsl:attribute name="href">/cocoon/sitebuilder/match/deleteElement/process?siteName=<xsl:value-of select="$siteName" />&amp;elementId=<xsl:value-of select="@id" />&amp;followup_siteName=<xsl:value-of select="$siteName" />&amp;followup_pipelineId=<xsl:value-of select="$pipelineId" />&amp;followup_matchId=<xsl:value-of select="$matchId" /></xsl:attribute>[Remove]</a><br/>
      </td>
     </tr>
    </xsl:template>
  
    <xsl:template match="map:read">
      <tr>
        <td class="sitebuilder_sitemapViewPartList">
         Reader for <xsl:value-of select="@src" />
        </td>
        <td class="sitebuilder_sitemapViewEdit">
         <a class="sitebuilder_sitemapViewEdit"><xsl:attribute name="href">/cocoon/sitebuilder/match/deleteElement/process?siteName=<xsl:value-of select="$siteName" />&amp;elementId=<xsl:value-of select="@id" />&amp;followup_siteName=<xsl:value-of select="$siteName" />&amp;followup_pipelineId=<xsl:value-of select="$pipelineId" />&amp;followup_matchId=<xsl:value-of select="$matchId" /></xsl:attribute>[Remove]</a><br/>
        </td>
      </tr>
    </xsl:template>
  
  
  
    <xsl:template match="map:generate">
      <tr>
        <td class="sitebuilder_sitemapViewPartList">
        <xsl:choose>
          <xsl:when test="@type">
            <xsl:value-of select="@type" />
          </xsl:when>
  
          <xsl:otherwise>
            <em>default</em>
          </xsl:otherwise>
        </xsl:choose>
  
        @ 
        <xsl:value-of select="@src" />
        </td>
        <td class="sitebuilder_sitemapViewEdit">
         <a class="sitebuilder_sitemapViewEdit"><xsl:attribute name="href">/cocoon/sitebuilder/match/deleteElement/process?siteName=<xsl:value-of select="$siteName" />&amp;elementId=<xsl:value-of select="@id" />&amp;followup_siteName=<xsl:value-of select="$siteName" />&amp;followup_pipelineId=<xsl:value-of select="$pipelineId" />&amp;followup_matchId=<xsl:value-of select="$matchId" /></xsl:attribute>[Remove]</a><br/>
        </td>
      </tr>
    </xsl:template>
  
    <xsl:template match="map:transform">
      <tr>
        <td class="sitebuilder_sitemapViewPartList">
        <xsl:choose>
          <xsl:when test="@type">
            <xsl:value-of select="@type" />
          </xsl:when>
  
          <xsl:otherwise>
            <em>default</em>
          </xsl:otherwise>
        </xsl:choose>
  
        @ 
        <xsl:value-of select="@src" />
        </td>
        <td class="sitebuilder_sitemapViewEdit">
         <a class="sitebuilder_sitemapViewEdit"><xsl:attribute name="href">/cocoon/sitebuilder/match/deleteElement/process?siteName=<xsl:value-of select="$siteName" />&amp;elementId=<xsl:value-of select="@id" />&amp;followup_siteName=<xsl:value-of select="$siteName" />&amp;followup_pipelineId=<xsl:value-of select="$pipelineId" />&amp;followup_matchId=<xsl:value-of select="$matchId" /></xsl:attribute>[Remove]</a><br/>
        </td>
      </tr>
    </xsl:template>
  
    <xsl:template match="map:serialize">
      <tr>
        <td class="sitebuilder_sitemapViewPartList">
          <xsl:choose>
            <xsl:when test="@type">
              <xsl:value-of select="@type" />
            </xsl:when>
  
            <xsl:otherwise>
              <em>default</em>
            </xsl:otherwise>
          </xsl:choose>
        </td>
        <td class="sitebuilder_sitemapViewEdit">
         <a class="sitebuilder_sitemapViewEdit"><xsl:attribute name="href">/cocoon/sitebuilder/match/deleteElement/process?siteName=<xsl:value-of select="$siteName" />&amp;elementId=<xsl:value-of select="@id" />&amp;followup_siteName=<xsl:value-of select="$siteName" />&amp;followup_pipelineId=<xsl:value-of select="$pipelineId" />&amp;followup_matchId=<xsl:value-of select="$matchId" /></xsl:attribute>[Remove]</a><br/>
        </td>
      </tr>
    </xsl:template>
  
  
  </xsl:stylesheet>
  
  
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/stylesheets/menu.main.xsl
  
  Index: menu.main.xsl
  ===================================================================
  <?xml version="1.0" encoding="iso-8859-1"?>
  
  <!-- 
  Author: Sergio Carvalho "scarvalho@criticalsoftware.com"
  Changelog:
  First version: 2000/12/21
  First release: 2000/12/30
  
  Description: Sub-stylesheet handling the main menu content part of a page.
  -->
  <xsl:stylesheet version="1.0" 
       xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
       xmlns:critical="http://www.criticalsoftware.com/NAMESPACES/CRITICAL/V1"
  >
  
   <xsl:template match="critical:menu">
    <table class="sitebuilder_mainMenu">
     <xsl:apply-templates/>
     <tr height="4"><td/></tr>
    </table>
   </xsl:template>
  
   <xsl:template match="critical:menu//critical:channel">
     <tr class="sitebuilder_mainMenu">
      <td height="4"/>
     </tr>
     <tr>
     <!-- bgcolor="#000099" align="center" -->
      <td class="sitebuilder_mainMenuHeader">
        <xsl:value-of select="@name"/>
      </td>
     </tr>
     <xsl:apply-templates/>
  
    </xsl:template>
  
    <xsl:template match="critical:menu//critical:item">
     <tr> 
  <!-- <div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="-2" color="#330066"><b> -->
      <td class="sitebuilder_mainMenuItem" height="4"><a class="sitebuilder_mainMenuItem"><xsl:attribute name="href"><xsl:value-of select="@link"/></xsl:attribute><xsl:value-of select="@title"/></a></td>
     </tr>
    </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  
  
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/stylesheets/operation-result.xsl
  
  Index: operation-result.xsl
  ===================================================================
  <?xml version="1.0" encoding="iso-8859-1"?>
  
  <xsl:stylesheet version="1.0" 
       xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
       xmlns:map="http://apache.org/cocoon/sitemap/1.0"
       >
   <xsl:template match="/">
    <div>
     <p>Please wait while operation executes...</p>
     <xsl:apply-templates />
    </div>
   </xsl:template>
  
   <xsl:template match="result[@type='success']">
    <p>Operation executed successfully</p>
    <p>Please click 
     <a>
      <xsl:attribute name="href"><xsl:value-of select="@redirect"/></xsl:attribute>
      here
     </a>
      to proceed</p>
      <script language="javascript">document.location="<xsl:value-of select="@redirect"/>"</script>
   </xsl:template>
  
  
   <xsl:template match="result[@type='failure']">
    <p>Operation failed</p>
    <p>Please click 
     <a>
      <xsl:attribute name="href"><xsl:value-of select="@redirect"/></xsl:attribute>
      here
     </a>
      to proceed</p>
     <hr/>
     <p>Exception stack trace</p>
     <xsl:value-of select="stacktrace" />
   </xsl:template>
  
  
  </xsl:stylesheet>
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/stylesheets/pipeline.edit.xsl
  
  Index: pipeline.edit.xsl
  ===================================================================
  <?xml version="1.0" encoding="iso-8859-1"?>
  
  <!-- 
  Author: Sergio Carvalho "scarvalho@criticalsoftware.com"
  Changelog:
  
  First release: 
  
  Description: Sub-stylesheet to present a Cocoon 2 sitemap.xmap file in HTML.
  -->
  <xsl:stylesheet version="1.0" 
       xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
       xmlns:map="http://apache.org/cocoon/sitemap/1.0"
  >
   <xsl:param name="siteName" />
   <xsl:param name="pipelineId" />
  
   <xsl:template match="map:pipeline">
    <table class="sitebuilder_sitemapView">
     <tr>
      <td class="sitebuilder_sitemapViewTitle">
       Edit Pipeline
      </td>
      <td class="sitebuilder_sitemapViewEdit">
       <a class="sitebuilder_sitemapViewEdit"><xsl:attribute name="href">/cocoon/sitebuilder/sitemap/edit/?siteName=<xsl:value-of select="$siteName" /></xsl:attribute>[Edit Sitemap]
       </a><br />
  
      </td>
     </tr>
     <tr>
      <td class="sitebuilder_sitemapViewPartTitle">
       Matches
      </td>
      <td class="sitebuilder_sitemapViewEdit">
       <a class="sitebuilder_sitemapViewEdit"><xsl:attribute name="href">/cocoon/sitebuilder/pipeline/newMatch/?siteName=<xsl:value-of select="$siteName" />&amp;pipelineId=<xsl:value-of select="$pipelineId" /></xsl:attribute>[Add]</a><br />
      </td>
     </tr>
  
     <xsl:apply-templates select="map:match" />
  
     <tr>
      <td colspan="2" class="sitebuilder_sitemapViewTitle">
       End of Pipeline Description
      </td>
     </tr>  
    </table>
   </xsl:template>
  
   <xsl:template match="map:match">
     <tr>
      <td class="sitebuilder_sitemapViewPartList">
       Match for <em>"<xsl:value-of select="@pattern" />"</em>
      </td>
      <td class="sitebuilder_sitemapViewEdit">
      <a class="sitebuilder_sitemapViewEdit"><xsl:attribute name="href">/cocoon/sitebuilder/pipeline/deleteElement/process?siteName=<xsl:value-of select="$siteName" />&amp;elementId=<xsl:value-of select="@id" />&amp;followup_siteName=<xsl:value-of select="$siteName" />&amp;followup_pipelineId=<xsl:value-of select="$pipelineId" /></xsl:attribute>[Remove]</a><br/>
       <a class="sitebuilder_sitemapViewEdit"><xsl:attribute name="href">/cocoon/sitebuilder/match/edit/?siteName=<xsl:value-of select="$siteName" />&amp;pipelineId=<xsl:value-of select="$pipelineId" />&amp;matchId=<xsl:value-of select="@id" /></xsl:attribute>[Edit]</a><br />
      </td>
     </tr>
   </xsl:template>
  
   
  </xsl:stylesheet>
  
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/stylesheets/replacer.xsp
  
  Index: replacer.xsp
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  
  <!--
       This page produces a set of nitf data elements, from a database. 
       The elements are contained within a critical:news element
       Parameters:
         nitfTable - Table where nitf stories are contained.
         nitfSection - Section of stories to retrieve.
         nitfId   - ID of the story to retrieve. Optional; if missing, all
  stories in the section are returned.
  -->
  
  <xsp:page
            language="java"
            xmlns:xsp="http://apache.org/xsp"
            xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
            >
  <xsl:stylesheet version="1.0">
   <xsp:logic>
    String urlEncodedToReplace = parameters.getParameter("toReplace","");
    java.util.Enumeration searchReplacePairs = new java.util.StringTokenizer(urlEncodedToReplace, ":");
    while (searchReplacePairs.hasMoreElements()) {
     String searchReplacePair = (String) searchReplacePairs.nextElement();
     int separator = searchReplacePair.indexOf("=");
     String search = searchReplacePair.substring(0,separator);
     String replace = searchReplacePair.substring(separator + 1);
     <xsp:content>
      <xsl:template><xsp:attribute name="match">text()[contains(string(.),'{<xsp:expr>search</xsp:expr>}')]</xsp:attribute><xsl:value-of>
        <xsp:attribute name="select">substring-before(string(.),'{<xsp:expr>search</xsp:expr>}')</xsp:attribute>
       </xsl:value-of><xsp:expr>replace</xsp:expr><xsl:value-of><xsp:attribute name="select">substring-after(string(.),'{<xsp:expr>search</xsp:expr>}')</xsp:attribute></xsl:value-of></xsl:template>
     </xsp:content>
    }
    </xsp:logic>
            
   <xsl:template match="@*|*|text()|processing-instruction()" priority="-1">
    <xsl:copy>
     <xsl:apply-templates select="@*|*|text()|processing-instruction()"/>
    </xsl:copy>
   </xsl:template>
  </xsl:stylesheet>
  </xsp:page> 
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/stylesheets/simple-page2html.xsl
  
  Index: simple-page2html.xsl
  ===================================================================
  <?xml version="1.0"?>
  
  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  
    <xsl:param name="view-source"/>
  
    <xsl:template match="page">
     <html>
      <head>
       <title>
        <xsl:value-of select="title"/>
       </title>
      </head>
      <body bgcolor="white" alink="red" link="blue" vlink="blue">
       <xsl:apply-templates/>
      </body>
     </html>
    </xsl:template>
  
    <xsl:template match="title">
     <h2 style="color: navy; text-align: center">
        <xsl:if test="not($view-source)">
           <xsl:apply-templates/>
        </xsl:if>     
        <xsl:if test="$view-source">
        <A>
           <xsl:attribute name="HREF">../view-source?filename=/<xsl:value-of select="$view-source"/></xsl:attribute>
   		 <xsl:attribute name="TARGET">_blank</xsl:attribute>
           <xsl:apply-templates/>
        </A>
        </xsl:if>     
     </h2>
    </xsl:template>
  
    <xsl:template match="para">
     <p align="left">
      <i><xsl:apply-templates/></i>
     </p>
    </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/stylesheets/sitemap.edit.xsl
  
  Index: sitemap.edit.xsl
  ===================================================================
  <?xml version="1.0" encoding="iso-8859-1"?>
  
  <!-- 
  Author: Sergio Carvalho "scarvalho@criticalsoftware.com"
  Changelog:
  
  First release: 
  
  Description: Sub-stylesheet to present a Cocoon 2 sitemap.xmap file in HTML.
  -->
  <xsl:stylesheet version="1.0" 
       xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
       xmlns:map="http://apache.org/cocoon/sitemap/1.0"
  >
   <xsl:param name="siteName" />
   <xsl:template match="map:sitemap">
    <table class="sitebuilder_sitemapView">
     <tr>
      <td class="sitebuilder_sitemapViewTitle">
       Edit Sitemap
      </td>
      <td class="sitebuilder_sitemapViewEdit">
       <a class="sitebuilder_sitemapViewEdit"><xsl:attribute name="href">/cocoon/sitebuilder/sitemap/view/?siteName=<xsl:value-of select="$siteName" /></xsl:attribute>[View]
       </a><br />
  
      </td>
     </tr>
     <tr>
      <td class="sitebuilder_sitemapViewPartTitle">
       Generators
      </td>
      <td class="sitebuilder_sitemapViewEdit">
       <a class="sitebuilder_sitemapViewEdit"><xsl:attribute name="href">/cocoon/sitebuilder/sitemap/newGenerator/?siteName=<xsl:value-of select="$siteName" /></xsl:attribute>[Add]
       </a><br />
      </td>
     </tr>
     <tr>
      <td colspan="2" class="sitebuilder_sitemapViewPartList">
       <xsl:apply-templates select="map:components/map:generators/map:generator" />
      </td>
     </tr>
     <tr>
      <td class="sitebuilder_sitemapViewPartTitle">
       Transformers
      </td>
      <td class="sitebuilder_sitemapViewEdit">
       <a class="sitebuilder_sitemapViewEdit"><xsl:attribute name="href">/cocoon/sitebuilder/sitemap/newTransformer/?siteName=<xsl:value-of select="$siteName" /></xsl:attribute>[Add]
       </a><br />
      </td>
     </tr>
     <tr>
      <td colspan="2" class="sitebuilder_sitemapViewPartList">
       <xsl:apply-templates select="map:components/map:transformers/map:transformer" />
      </td>
     </tr>
     <tr>
      <td class="sitebuilder_sitemapViewPartTitle">
       Readers
      </td>
      <td class="sitebuilder_sitemapViewEdit">
       <a class="sitebuilder_sitemapViewEdit"><xsl:attribute name="href">/cocoon/sitebuilder/sitemap/newReader/?siteName=<xsl:value-of select="$siteName" /></xsl:attribute>[Add]</a><br />
      </td>
     </tr>
     <tr>
      <td colspan="2" class="sitebuilder_sitemapViewPartList">
       <xsl:apply-templates select="map:components/map:readers/map:reader" />
      </td>
     </tr>
     <tr>
      <td class="sitebuilder_sitemapViewPartTitle">
       Serializers
      </td>
      <td class="sitebuilder_sitemapViewEdit">
       <a class="sitebuilder_sitemapViewEdit"><xsl:attribute name="href">/cocoon/sitebuilder/sitemap/newSerializer/?siteName=<xsl:value-of select="$siteName" /></xsl:attribute>[Add]</a><br />
      </td>
     </tr>
     <tr>
      <td colspan="2" class="sitebuilder_sitemapViewPartList">
       <xsl:apply-templates select="map:components/map:serializers/map:serializer" />
      </td>
     </tr>
     <tr>
      <td class="sitebuilder_sitemapViewPartTitle">
       Selectors
      </td>
      <td class="sitebuilder_sitemapViewEdit">
       <a class="sitebuilder_sitemapViewEdit"><xsl:attribute name="href">/cocoon/sitebuilder/sitemap/newSelector/?siteName=<xsl:value-of select="$siteName" /></xsl:attribute>[Add]</a><br />
      </td>
     </tr>
     <tr>
      <td colspan="2" class="sitebuilder_sitemapViewPartList">
       <xsl:apply-templates select="map:components/map:selectors/map:selector" />
      </td>
     </tr>
     <tr>
      <td class="sitebuilder_sitemapViewPartTitle">
       Matchers
      </td>
      <td class="sitebuilder_sitemapViewEdit">
       <a class="sitebuilder_sitemapViewEdit"><xsl:attribute name="href">/cocoon/sitebuilder/sitemap/newMatcher/?siteName=<xsl:value-of select="$siteName" /></xsl:attribute>[Add]</a><br />
      </td>
     </tr>
     <tr>
      <td colspan="2" class="sitebuilder_sitemapViewPartList">
       <xsl:apply-templates select="map:components/map:matchers/map:matcher" />
      </td>
     </tr>
     <tr>
      <td class="sitebuilder_sitemapViewPartTitle">
       Actions
      </td>
      <td class="sitebuilder_sitemapViewEdit">
       <a class="sitebuilder_sitemapViewEdit"><xsl:attribute name="href">/cocoon/sitebuilder/sitemap/newAction/?siteName=<xsl:value-of select="$siteName" /></xsl:attribute>[Add]</a><br />
      </td>
     </tr>
     <tr>
      <td colspan="2" class="sitebuilder_sitemapViewPartList">
       <xsl:apply-templates select="map:components/map:actions/map:action" />
      </td>
     </tr>
     <tr>
      <td class="sitebuilder_sitemapViewPartTitle">
       Pipelines
      </td>
      <td class="sitebuilder_sitemapViewEdit">
       <a class="sitebuilder_sitemapViewEdit"><xsl:attribute name="href">/cocoon/sitebuilder/sitemap/newPipeline/?siteName=<xsl:value-of select="$siteName" /></xsl:attribute>[Add]</a><br />
      </td>
     </tr>
     <xsl:apply-templates select="map:pipelines/map:pipeline" />
     <tr>
      <td colspan="2" class="sitebuilder_sitemapViewTitle">
       End of Sitemap Description
      </td>
     </tr>  
    </table>
   </xsl:template>
  
   <xsl:template match="map:generator|map:transformer|map:reader|map:serializer|map:selector|map:matcher|map:action">
    <xsl:choose>
     <xsl:when test="@name=../@default">
      <b><xsl:value-of select="@name" /></b><br />
     </xsl:when>
     <xsl:otherwise>
      <xsl:value-of select="@name" /><br />
     </xsl:otherwise>
    </xsl:choose>
   </xsl:template>
   
   <xsl:template match="map:pipeline">
    <tr>
     <td class="sitebuilder_sitemapViewPartList">
      Pipeline <xsl:value-of select="position()" /> 
      <xsl:if test="@internal-only"> (Internal Pipeline)</xsl:if>
      <br/>
      <div style="margin-left: 2em">
       <xsl:apply-templates select="map:match" />
      </div>
     </td>
     <td class="sitebuilder_sitemapViewEdit">
      <a class="sitebuilder_sitemapViewEdit"><xsl:attribute name="href">/cocoon/sitebuilder/sitemap/deleteElement/process?siteName=<xsl:value-of select="$siteName" />&amp;elementId=<xsl:value-of select="@id" />&amp;followup_siteName=<xsl:value-of select="$siteName" /></xsl:attribute>[Remove]</a><br/>
      <a class="sitebuilder_sitemapViewEdit"><xsl:attribute name="href">/cocoon/sitebuilder/pipeline/edit/?siteName=<xsl:value-of select="$siteName" />&amp;pipelineId=<xsl:value-of select="@id" /></xsl:attribute>[Edit]</a><br />
     </td>
    </tr>
   </xsl:template>
   
   <xsl:template match="map:match">
    Matches: "<i><xsl:value-of select="@pattern" /></i>"<br/>
   </xsl:template>
  
   
  </xsl:stylesheet>
  
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/stylesheets/sitemap.openSubSite.xsl
  
  Index: sitemap.openSubSite.xsl
  ===================================================================
  <?xml version="1.0" encoding="iso-8859-1"?>
  
  <!-- 
  Author: Sergio Carvalho "scarvalho@criticalsoftware.com"
  Changelog:
  
  First release: 
  
  Description: Sub-stylesheet to present a Cocoon 2 sitemap.xmap file in HTML.
  -->
  <xsl:stylesheet version="1.0" 
       xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
       xmlns:map="http://apache.org/cocoon/sitemap/1.0"
  >
   <xsl:param name="siteName" />
  
   <xsl:template match="/">
    <table class="sitebuilder_sitemapView">
     <tr>
      <td colspan="2" class="sitebuilder_sitemapViewTitle">
       Open Site
      </td>
     </tr>
     <tr>
      <td colspan="2" class="sitebuilder_sitemapViewPartTitle">
       Sitemaps
      </td>
     </tr>
     <xsl:apply-templates select="descendant::map:mount" />
    </table>
   </xsl:template>
  
  
   <xsl:template match="map:mount">
    <tr>
     <td class="sitebuilder_sitemapViewPartList">
      <xsl:value-of select="substring-before(@uri-prefix,'/')" />
     </td>
     <td class="sitebuilder_sitemapViewEdit">
      <a class="sitebuilder_sitemapViewEdit"><xsl:attribute name="href">/cocoon/sitebuilder/sitemap/view/?siteName=<xsl:value-of select="$siteName" /><xsl:value-of select="substring-before(@src,'/')" /></xsl:attribute>[Open]
      </a>
     </td>
    </tr> 
   </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/stylesheets/sitemap.view.xsl
  
  Index: sitemap.view.xsl
  ===================================================================
  <?xml version="1.0" encoding="iso-8859-1"?>
  
  <!-- 
  Author: Sergio Carvalho "scarvalho@criticalsoftware.com"
  Changelog:
  
  First release: 
  
  Description: Sub-stylesheet to present a Cocoon 2 sitemap.xmap file in HTML.
  -->
  <xsl:stylesheet version="1.0" 
       xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
       xmlns:map="http://apache.org/cocoon/sitemap/1.0"
  >
   <xsl:param name="siteName" />
  
   <xsl:template match="map:sitemap">
    <table class="sitebuilder_sitemapView">
     <tr>
      <td class="sitebuilder_sitemapViewTitle">
       View Sitemap
      </td>
      <td class="sitebuilder_sitemapViewEdit">
       <a class="sitebuilder_sitemapViewEdit"><xsl:attribute name="href">/cocoon/sitebuilder/sitemap/edit/?siteName=<xsl:value-of select="$siteName" /></xsl:attribute>[Edit]
  
       </a>
  
      </td>
     </tr>
     <tr>
      <td colspan="2" class="sitebuilder_sitemapViewPartTitle">
       Generators
      </td>
     </tr>
     <tr>
      <td colspan="2" class="sitebuilder_sitemapViewPartList">
       <xsl:apply-templates select="map:components/map:generators/map:generator" />
      </td>
     </tr>
     <tr>
      <td colspan="2" class="sitebuilder_sitemapViewPartTitle">
       Transformers
      </td>
     </tr>
     <tr>
      <td colspan="2" class="sitebuilder_sitemapViewPartList">
       <xsl:apply-templates select="map:components/map:transformers/map:transformer" />
      </td>
     </tr>
     <tr>
      <td colspan="2" class="sitebuilder_sitemapViewPartTitle">
       Readers
      </td>
     </tr>
     <tr>
      <td colspan="2" class="sitebuilder_sitemapViewPartList">
       <xsl:apply-templates select="map:components/map:readers/map:reader" />
      </td>
     </tr>
     <tr>
      <td colspan="2" class="sitebuilder_sitemapViewPartTitle">
       Serializers
      </td>
     </tr>
     <tr>
      <td colspan="2" class="sitebuilder_sitemapViewPartList">
       <xsl:apply-templates select="map:components/map:serializers/map:serializer" />
      </td>
     </tr>
     <tr>
      <td colspan="2" class="sitebuilder_sitemapViewPartTitle">
       Selectors
      </td>
     </tr>
     <tr>
      <td colspan="2" class="sitebuilder_sitemapViewPartList">
       <xsl:apply-templates select="map:components/map:selectors/map:selector" />
      </td>
     </tr>
     <tr>
      <td colspan="2" class="sitebuilder_sitemapViewPartTitle">
       Matchers
      </td>
     </tr>
     <tr>
      <td colspan="2" class="sitebuilder_sitemapViewPartList">
       <xsl:apply-templates select="map:components/map:matchers/map:matcher" />
      </td>
     </tr>
     <tr>
      <td colspan="2" class="sitebuilder_sitemapViewPartTitle">
       Actions
      </td>
     </tr>
     <tr>
      <td colspan="2" class="sitebuilder_sitemapViewPartList">
       <xsl:apply-templates select="map:components/map:actions/map:action" />
      </td>
     </tr>
     <tr>
      <td colspan="2" class="sitebuilder_sitemapViewPartTitle">
       Pipelines
      </td>
     </tr>
     <tr>
      <td colspan="2" class="sitebuilder_sitemapViewPartList">
       <xsl:apply-templates select="map:pipelines/map:pipeline" />
      </td>
     </tr>
     <tr>
      <td colspan="2" class="sitebuilder_sitemapViewTitle">
       End of Sitemap Description
      </td>
     </tr>  
    </table>
   </xsl:template>
  
   <xsl:template match="map:generator|map:transformer|map:reader|map:serializer|map:selector|map:matcher|map:action">
    <xsl:choose>
     <xsl:when test="@name=../@default">
      <b><xsl:value-of select="@name" /></b><br />
     </xsl:when>
     <xsl:otherwise>
      <xsl:value-of select="@name" /><br />
     </xsl:otherwise>
    </xsl:choose>
   </xsl:template>
   
   <xsl:template match="map:pipeline">
    Pipeline <xsl:value-of select="position()" /> 
    <xsl:if test="@internal-only"> (Internal Pipeline)</xsl:if>
    <br/>
    <div style="margin-left: 2em">
     <xsl:apply-templates select="map:match" />
    </div>
   </xsl:template>
   
   <xsl:template match="map:match">
    Matches: "<i><xsl:value-of select="@pattern" /></i>"<br/>
   </xsl:template>
  
   
  </xsl:stylesheet>
  
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/stylesheets/sitemapEditHelper.xsl
  
  Index: sitemapEditHelper.xsl
  ===================================================================
  <?xml version="1.0" encoding="iso-8859-1"?>
  <xsl:stylesheet version="1.0"
       xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  >
   <xsl:variable name="nextElementId"><xsl:value-of select="count(/descendant::node()/@id) + 1" /></xsl:variable>
   
   <xsl:template name="emitNextElementId">
    <xsl:attribute name="id"><xsl:value-of select="$nextElementId" /></xsl:attribute>
   </xsl:template>
  
   <xsl:template match="@*|*|text()|processing-instruction()" priority="-1">
    <xsl:copy>
     <xsl:apply-templates select="@*|*|text()|processing-instruction()"/>
    </xsl:copy>
   </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  
  
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/stylesheets/staticSnippet.xsl
  
  Index: staticSnippet.xsl
  ===================================================================
  <?xml version="1.0" encoding="iso-8859-1"?>
  
  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  
  <xsl:param name="staticSnippetTarget">/</xsl:param>
  <xsl:param name="staticSnippetWidth">100</xsl:param>
  <xsl:param name="staticSnippetHeight">100</xsl:param>
  
  <!-- Match The Root Node -->
   <xsl:template match="dummy">
    <iframe scrolling="no" frameborder="0" marginwidth="0" marginheheight="0">
     <xsl:attribute name="src"><xsl:value-of select="$staticSnippetTarget" /></xsl:attribute>
     <xsl:attribute name="width"><xsl:value-of select="$staticSnippetWidth" /></xsl:attribute>
     <xsl:attribute name="height"><xsl:value-of select="$staticSnippetHeight" /></xsl:attribute>
     [Destaque Portugalmail]
    </iframe>
   </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  
  
  
  
  
  
  1.1                  xml-cocoon2/webapp/sitebuilder/stylesheets/xfdl-html.xsl
  
  Index: xfdl-html.xsl
  ===================================================================
  <?xml version="1.0" encoding="iso-8859-1"?>
  
  <xsl:stylesheet version="1.0" 
       xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
       >
       
   <!-- Entry template. This template can be matched or called. -->
   <!-- XFDL mode is set on every other template to speed processing -->
   <!-- and avoid conflicts.                                    -->
   <xsl:template match="XFDL" name="xfdl.XFDL">
    <form method="post">
     <!-- The form action is that of the first submit button. -->
     <!-- Without DOM handling, HTML forms can't be submitted -->
     <!-- to several URLs.                                    -->
     <xsl:attribute name="action"><xsl:value-of select="page/button[type='done' or type='submit'][1]/url/*[1]" /></xsl:attribute>
     <xsl:apply-templates mode="XFDL" />
    </form>
   </xsl:template>
  
   <!-- ** XFDL mode templates ** -->
   <!-- bgcolor option -->
   <xsl:template match="bgcolor" mode="XFDL" />
  
   <!-- Page -->
   <xsl:template match="page" mode="XFDL">
    <div>
     <table cellpadding="0"   cellspacing="0" border="0">
      <xsl:apply-templates mode="XFDL-page" />
     </table>
    </div>
   </xsl:template>
  
   <!-- ** XFDL-page mode templates ** -->
   <!-- bgcolor option -->
   <xsl:template match="bgcolor" mode="XFDL-page" />
   
   <xsl:template match="label" mode="XFDL-page">
    <tr>
     <td colspan="2">
      <xsl:value-of select="text()" />
     </td>
    </tr>
   </xsl:template>
  
   <!-- Field Item -->
   <xsl:template match="field" mode="XFDL-page">
    <xsl:choose>
     <xsl:when test="visible='off' or visible='false'">
      <input type="hidden">
       <xsl:attribute name="name"><xsl:value-of select="@sid" /></xsl:attribute>
       <xsl:attribute name="value"><xsl:value-of select="value" /></xsl:attribute>
      </input>
     </xsl:when>
     <xsl:otherwise>
      <tr>
       <td>
        <xsl:value-of select="label" />
       </td>
       <td>
        <xsl:choose>
         <xsl:when test="editstate='readonly'"><xsl:value-of select="value" />
          <input type="hidden">
           <xsl:attribute name="name"><xsl:value-of select="@sid" /></xsl:attribute>
           <xsl:attribute name="value"><xsl:value-of select="value" /></xsl:attribute>
          </input>
         </xsl:when>
         <xsl:otherwise>
          <input>
           <xsl:attribute name="name"><xsl:value-of select="@sid" /></xsl:attribute>
           <xsl:attribute name="value"><xsl:value-of select="value" /></xsl:attribute>
          </input>
         </xsl:otherwise>
        </xsl:choose>
       </td>
      </tr>
     </xsl:otherwise>
    </xsl:choose>
   </xsl:template>
  
   <!-- Button Item -->
   <xsl:template match="button" mode="XFDL-page">
    <tr>
     <td colspan="2">
      <input type="submit">
       <xsl:if test="@value"><xsl:attribute name="value"><xsl:value-of select="@value" /></xsl:attribute></xsl:if>
      </input>
     </td>
    </tr>
   </xsl:template>
  
   <!-- XFDL requires us to pass on non-XFDL markup -->
   <xsl:template name="XFDL-copy-template">
    <xsl:copy>
     <xsl:apply-templates select="@*|*|text()|processing-instruction()"/>
    </xsl:copy>
   </xsl:template>
  
   <xsl:template match="@*|*|text()|processing-instruction()" priority="-1" mode="XFDL">
    <xsl:call-template name="XFDL-copy-template" />
   </xsl:template>
  
   <xsl:template match="@*|*|text()|processing-instruction()" priority="-1" mode="XFDL-page">
    <xsl:call-template name="XFDL-copy-template" />
   </xsl:template>
  
   <xsl:template match="@*|*|text()|processing-instruction()" priority="-1" mode="XFDL-item">
    <xsl:call-template name="XFDL-copy-template" />
   </xsl:template>
  </xsl:stylesheet>
  
  
  

----------------------------------------------------------------------
In case of troubles, e-mail:     webmaster@xml.apache.org
To unsubscribe, e-mail:          cocoon-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: cocoon-cvs-help@xml.apache.org