svn commit: r765650 - in /lenya/docu/modules: docustyle/ docustyle/xslt/ forrest/config/cocoon-xconf/ forrest/resources/editing/ forrest/xslt/

[email protected]
Newsgroups gmane.comp.cms.lenya.cvs
Message-ID <[email protected]>
Author: andreas
Date: Thu Apr 16 14:29:35 2009
New Revision: 765650

URL: http://svn.apache.org/viewvc?rev=765650&view=rev
Log:
Starting to make the Forrest resource type editable with Firedocs.

Added:
    lenya/docu/modules/docustyle/xslt/extractContent.xsl
    lenya/docu/modules/docustyle/xslt/includeDocument.xsl
    lenya/docu/modules/forrest/resources/editing/
    lenya/docu/modules/forrest/resources/editing/inserts.xml
Modified:
    lenya/docu/modules/docustyle/sitemap.xmap
    lenya/docu/modules/docustyle/xslt/page.xsl
    lenya/docu/modules/forrest/config/cocoon-xconf/resourcetype-forrestDocument20.xconf
    lenya/docu/modules/forrest/xslt/forrestDocument202xhtml.xsl

Modified: lenya/docu/modules/docustyle/sitemap.xmap
URL: http://svn.apache.org/viewvc/lenya/docu/modules/docustyle/sitemap.xmap?rev=765650&r1=765649&r2=765650&view=diff
==============================================================================
--- lenya/docu/modules/docustyle/sitemap.xmap (original)
+++ lenya/docu/modules/docustyle/sitemap.xmap Thu Apr 16 14:29:35 2009
@@ -101,20 +101,32 @@
       </map:match>
       
     </map:pipeline>
+    
+    
+    <!-- document content -->
+    <map:pipeline>
+      <!-- {1:pub}/{2:area}/{3:uuid}/{4:language}.content -->
+      <map:match pattern="*/*/*/*.content">
+        <map:generate src="lenya-document:{3},lang={4},pub={1},area={2}?format=xhtml"/>
+        <map:transform src="xslt/extractContent.xsl"/>
+        <map:serialize type="xml"/>
+      </map:match>
+    </map:pipeline>
+    
       
     <!-- This is the pipeline that ultimately builds the page. -->
     <map:pipeline type="noncaching">
       
-      <!-- /page/{1:publication-id}/{2:area}/{3:uuid}/{4:language} -->
-      <map:match pattern="page/*/*/*/*">
+      <!-- {1:pub}/{2:area}/{3:uuid}/{4:language}.pageContext -->
+      <map:match pattern="**.pageContext">
         
         <map:generate src="fallback://lenya/content/util/empty.xml"/>
         
         <map:transform src="fallback://lenya/modules/docustyle/xslt/page.xsl">
-          <map:parameter name="pub" value="{1}"/>
-          <map:parameter name="area" value="{2}"/>
-          <map:parameter name="uuid" value="{3}"/>
-          <map:parameter name="language" value="{4}"/>
+          <map:parameter name="pub" value="{page-envelope:publication-id}"/>
+          <map:parameter name="area" value="{page-envelope:area}"/>
+          <map:parameter name="uuid" value="{page-envelope:document-uuid}"/>
+          <map:parameter name="language" value="{page-envelope:language}"/>
           <map:parameter name="path" value="{page-envelope:document-path}"/>
           <map:parameter name="lastPublishedUser" value="{access-control:user-name:{workflow:lastUser.publish}}"/>
           <map:parameter name="lastPublishedDate" value="{workflow:lastDate.publish}"/>
@@ -124,11 +136,11 @@
         <map:transform type="externallinks-xhtml"/>
         <map:transform src="fallback://lenya/modules/svg/xslt/image2svg.xsl"/>
         <map:transform type="metaData">
-          <map:parameter name='pubid' value='{1}'/>
-          <map:parameter name='area' value='{2}'/>
+          <map:parameter name='pubid' value='{page-envelope:publication-id}'/>
+          <map:parameter name='area' value='{page-envelope:area}'/>
         </map:transform>
         <map:transform type="i18n">      
-          <map:parameter name="locale" value="{4}"/>
+          <map:parameter name="locale" value="{page-envelope:language}"/>
         </map:transform>
         <map:transform type="uuid2url"/>
         <map:serialize type="xml"/>
@@ -159,7 +171,15 @@
           </map:when>
         </map:select>          
         
-        <map:generate src="cocoon:/page/{page-envelope:publication-id}/{1}/{page-envelope:document-uuid}/{page-envelope:language}"/>
+        <map:generate src="cocoon:/{1}/{2}.{3}.pageContext"/>
+        <map:transform src="xslt/includeDocument.xsl">
+          <map:parameter name="pub" value="{page-envelope:publication-id}"/>
+          <map:parameter name="area" value="{page-envelope:area}"/>
+          <map:parameter name="uuid" value="{page-envelope:document-uuid}"/>
+          <map:parameter name="language" value="{page-envelope:language}"/>
+        </map:transform>
+        <map:transform type="include"/>
+        <map:transform type="uuid2url"/>
         
         <map:select type="parameter">
           <!-- you remember that {1} is the area, right? -->

Added: lenya/docu/modules/docustyle/xslt/extractContent.xsl
URL: http://svn.apache.org/viewvc/lenya/docu/modules/docustyle/xslt/extractContent.xsl?rev=765650&view=auto
==============================================================================
--- lenya/docu/modules/docustyle/xslt/extractContent.xsl (added)
+++ lenya/docu/modules/docustyle/xslt/extractContent.xsl Thu Apr 16 14:29:35 2009
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
+  xmlns:xhtml="http://www.w3.org/1999/xhtml"
+  xmlns="http://www.w3.org/1999/xhtml"
+  >
+  
+  
+  <xsl:template match="xhtml:html">
+    <xsl:apply-templates select="xhtml:body/node()"/>
+  </xsl:template>
+  
+  
+  <xsl:template match="@*|node()" priority="-1">
+    <xsl:copy>
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:copy>
+  </xsl:template>
+
+</xsl:stylesheet>
\ No newline at end of file

Added: lenya/docu/modules/docustyle/xslt/includeDocument.xsl
URL: http://svn.apache.org/viewvc/lenya/docu/modules/docustyle/xslt/includeDocument.xsl?rev=765650&view=auto
==============================================================================
--- lenya/docu/modules/docustyle/xslt/includeDocument.xsl (added)
+++ lenya/docu/modules/docustyle/xslt/includeDocument.xsl Thu Apr 16 14:29:35 2009
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
+  xmlns:xi="http://www.w3.org/2001/XInclude"
+  xmlns:i="http://apache.org/cocoon/include/1.0"
+  >
+  
+  <xsl:param name="pub"/>  
+  <xsl:param name="area"/> 
+  <xsl:param name="uuid"/>
+  <xsl:param name="language"/>
+  
+  <xsl:template match="xi:include">
+    <i:include src="cocoon:/{$pub}/{$area}/{$uuid}/{$language}.content">
+      <i:fallback>
+        <div id="body">
+          <p>
+            This document doesn't exist.
+          </p>
+        </div>
+      </i:fallback>
+    </i:include>
+  </xsl:template>
+  
+  <xsl:template match="@*|node()" priority="-1">
+    <xsl:copy>
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:copy>
+  </xsl:template>
+
+</xsl:stylesheet>
\ No newline at end of file

Modified: lenya/docu/modules/docustyle/xslt/page.xsl
URL: http://svn.apache.org/viewvc/lenya/docu/modules/docustyle/xslt/page.xsl?rev=765650&r1=765649&r2=765650&view=diff
==============================================================================
--- lenya/docu/modules/docustyle/xslt/page.xsl (original)
+++ lenya/docu/modules/docustyle/xslt/page.xsl Thu Apr 16 14:29:35 2009
@@ -47,6 +47,7 @@
         <link rel="stylesheet" href="/{$pub}/{$area}/docustyle/css/screen.css" media="screen" type="text/css"/>
         <link rel="stylesheet" href="/{$pub}/{$area}/docustyle/css/print.css" media="print" type="text/css"/>
         <meta content="Apache Lenya" name="generator"/>
+        <i:include src="cocoon://modules/atom/serviceLinks" strip-root="true"/>
         
         <title>Apache Lenya - <meta:value element="title" ns="http://purl.org/dc/elements/1.1/" default="error-404"
           i18n:attr="default" uuid="{$uuid}" lang="{$language}"/></title>
@@ -90,20 +91,16 @@
               </xsl:choose>
             </xsl:variable>
             <i:include src="cocoon:/menu/{$firstPathStep}"/>
+            <!--
             <div id="banners">
               <i:include src="site:/en/index/banners?format=xhtmlInclude">
                 <i:fallback>The document /index/banners doesn't exist.</i:fallback>
               </i:include>
             </div>
+            -->
             
             <div id="body">
-              <i:include src="lenya-document:{$uuid},pub={$pub},area={$area},lang={$language}?format=xhtml" strip-root="true">
-                <i:fallback>
-                  <p>
-                    This document doesn't exist.
-                  </p>
-                </i:fallback>
-              </i:include>
+              <xi:include href="#" xmlns:xi="http://www.w3.org/2001/XInclude"/>
               <xsl:call-template name="footer"/>
             </div>
             

Modified: lenya/docu/modules/forrest/config/cocoon-xconf/resourcetype-forrestDocument20.xconf
URL: http://svn.apache.org/viewvc/lenya/docu/modules/forrest/config/cocoon-xconf/resourcetype-forrestDocument20.xconf?rev=765650&r1=765649&r2=765650&view=diff
==============================================================================
--- lenya/docu/modules/forrest/config/cocoon-xconf/resourcetype-forrestDocument20.xconf (original)
+++ lenya/docu/modules/forrest/config/cocoon-xconf/resourcetype-forrestDocument20.xconf Thu Apr 16 14:29:35 2009
@@ -44,7 +44,7 @@
     <!-- "xslt-clean" format is used by webDAV (and other editors?) to "clean" xml content before it is validated/saved --> 
     <format name="xslt-clean" uri="fallback://lenya/modules/forrest/xslt/clean-xhtml.xsl"/>
     <format name="icon" uri="cocoon://modules/forrest/icon"/>
-    <format name="xhtml.xsl" uri="/modules/forrest/xslt/forrest2xhtml.xsl"/>
+    <format name="xhtml.xsl" uri="/modules/forrest/xslt/forrestDocument202xhtml.xsl"/>
     <format name="editingInserts" uri="fallback://lenya/modules/forrest/resources/editing/inserts.xml"/>
     
   </component-instance>

Added: lenya/docu/modules/forrest/resources/editing/inserts.xml
URL: http://svn.apache.org/viewvc/lenya/docu/modules/forrest/resources/editing/inserts.xml?rev=765650&view=auto
==============================================================================
--- lenya/docu/modules/forrest/resources/editing/inserts.xml (added)
+++ lenya/docu/modules/forrest/resources/editing/inserts.xml Thu Apr 16 14:29:35 2009
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<contentBlocks
+  xmlns="http://www.firedocs.org/contentblocks/1.0"
+  xmlns:cb="http://www.firedocs.org/contentblocks/1.0"
+  xmlns:xhtml="http://www.w3.org/1999/xhtml">
+</contentBlocks>
+

Modified: lenya/docu/modules/forrest/xslt/forrestDocument202xhtml.xsl
URL: http://svn.apache.org/viewvc/lenya/docu/modules/forrest/xslt/forrestDocument202xhtml.xsl?rev=765650&r1=765649&r2=765650&view=diff
==============================================================================
--- lenya/docu/modules/forrest/xslt/forrestDocument202xhtml.xsl (original)
+++ lenya/docu/modules/forrest/xslt/forrestDocument202xhtml.xsl Thu Apr 16 14:29:35 2009
@@ -22,25 +22,37 @@
   xmlns:xlink="http://www.w3.org/1999/xlink"
   xmlns="http://www.w3.org/1999/xhtml">
   
-  <xsl:import href="toc.xsl"/>
+  <xsl:include href="toc.xsl"/>
   
   <xsl:preserve-space elements="source"/>
   
-  <xsl:template match="/">
-    <div id="body">
-      <h1><xsl:value-of select="document/header/title"/></h1>
-      <xsl:apply-templates select="document/body" mode="toc"/>
-      <xsl:choose>
-        <xsl:when test="document/body/row">
-          <table width="100%">
-            <xsl:apply-templates select="document/body/*"/>
-          </table>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates select="document/body/*"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </div>
+  <xsl:template match="/document">
+    <html>
+      <body>
+        <xsl:apply-templates select="header/title"/>
+        <xsl:apply-templates select="body" mode="toc"/>
+        <xsl:choose>
+          <xsl:when test="document/body/row">
+            <table width="100%">
+              <xsl:apply-templates select="body"/>
+            </table>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:apply-templates select="body"/>
+          </xsl:otherwise>
+        </xsl:choose>
+      </body>
+    </html>
+  </xsl:template>
+  
+  
+  <xsl:template match="body">
+    <xsl:apply-templates/>
+  </xsl:template>
+  
+  
+  <xsl:template match="document/header/title">
+    <h1><xsl:value-of select="."/></h1>
   </xsl:template>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.