You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2008/02/13 01:58:24 UTC

svn commit: r627209 - in /lenya/sandbox/modules/docustyle: resources/css/page.css sitemap.xmap xslt/addDocumentInclude.xsl xslt/addNavIncludes.xsl xslt/afterCache.xsl xslt/beforeCache.xsl xslt/page2xhtml.xsl

Author: andreas
Date: Tue Feb 12 16:58:22 2008
New Revision: 627209

URL: http://svn.apache.org/viewvc?rev=627209&view=rev
Log:
Updating docu pub style and pipeline architecture.

Added:
    lenya/sandbox/modules/docustyle/xslt/addDocumentInclude.xsl
    lenya/sandbox/modules/docustyle/xslt/addNavIncludes.xsl
    lenya/sandbox/modules/docustyle/xslt/afterCache.xsl
    lenya/sandbox/modules/docustyle/xslt/beforeCache.xsl
Removed:
    lenya/sandbox/modules/docustyle/xslt/page2xhtml.xsl
Modified:
    lenya/sandbox/modules/docustyle/resources/css/page.css
    lenya/sandbox/modules/docustyle/sitemap.xmap

Modified: lenya/sandbox/modules/docustyle/resources/css/page.css
URL: http://svn.apache.org/viewvc/lenya/sandbox/modules/docustyle/resources/css/page.css?rev=627209&r1=627208&r2=627209&view=diff
==============================================================================
--- lenya/sandbox/modules/docustyle/resources/css/page.css (original)
+++ lenya/sandbox/modules/docustyle/resources/css/page.css Tue Feb 12 16:58:22 2008
@@ -41,7 +41,6 @@
 }
 
 #projectLogo, #tagline {
-  display: table-cell;
   vertical-align: bottom;
 }
 
@@ -103,22 +102,13 @@
 
 /* menu */
 
-#menu, #body {
-  display: table-cell;
-  vertical-align: top;
-  background-color: white;
-}
-
 #menu {
-  width: 160px;
+  float: left;
+  width: 180px;
   list-style-type: none;
-  padding: 3em 20px .5em 20px;
-  margin: 0 0 0 21px;
+  padding: 3em 0 .5em 20px;
+  margin: 0;
   font-size: 10pt;
-  /*
-  background-color: #EEEEEE;
-  border-right: 5px solid #EEEEEE;
-  */
 }
 
 #menu ul {
@@ -229,6 +219,7 @@
 #body {
   border: none;
   padding: 1em 2em 1em 0;
+  margin: 0 0 0 200px;
   font-size: 10pt;
 }
 
@@ -240,7 +231,7 @@
 }
 
 #main {
-  clear: left;
+  background-color: #FFFFFF;
 }
 
 .crossheading {

Modified: lenya/sandbox/modules/docustyle/sitemap.xmap
URL: http://svn.apache.org/viewvc/lenya/sandbox/modules/docustyle/sitemap.xmap?rev=627209&r1=627208&r2=627209&view=diff
==============================================================================
--- lenya/sandbox/modules/docustyle/sitemap.xmap (original)
+++ lenya/sandbox/modules/docustyle/sitemap.xmap Tue Feb 12 16:58:22 2008
@@ -72,66 +72,26 @@
       
     </map:pipeline>
     
-    
-    <map:pipeline type="caching">
-      
-      <!-- {1:rendertype}/{2:pub}/{3:area}/{4:path} -->
-      <map:match pattern="document-content/*/*/*/**">
-        <map:act type="language-exists">
-          <map:generate src="{resource-type:format-xhtml}?rendertype={../1}"/>
-          <map:serialize type="xml"/>
-        </map:act>
-        <!-- if the action fails (i.e. the document does not exist), create a nice error page. -->
-        <map:generate type="serverpages" src="fallback://lenya/content/exception/document-does-not-exist.xsp"/>
-        <map:transform src="fallback://lenya/xslt/exception/document-does-not-exist.xsl">
-          <map:parameter name="requestUrl" value="{request:requestURI}"/>
-          <map:parameter name="contextPath" value="{request:contextPath}"/>
-          <map:parameter name="pub" value="{2}"/>
-          <map:parameter name="path" value="/{4}"/>
-          <map:parameter name="area" value="{3}"/>
+    <map:pipeline>
+      <!-- Cacheable pipeline. -->
+      <!-- {1:pub}/{2:area}/{3:uuid}/{4:defaultLang}/{5:lang}/{6:path} -->
+      <map:match pattern="pageContext/*/*/*/*/*/**">
+        <map:generate src="fallback://lenya/content/util/empty.xml"/>
+        <map:transform src="fallback://lenya/modules/docustyle/xslt/beforeCache.xsl">
+          <map:parameter name="pub" value="{1}"/>
+          <map:parameter name="area" value="{2}"/>
+          <map:parameter name="uuid" value="{3}"/>
+          <map:parameter name="language" value="{5}"/>
         </map:transform>
-        <map:transform type="i18n">
-          <map:parameter name="locale" value="{page-envelope:language}"/>
+        <map:transform src="fallback://lenya/modules/docustyle/xslt/addNavIncludes.xsl">
+          <map:parameter name="params" value="{1}/{2}/{4}/{5}/{6}"/>
         </map:transform>
+        <map:transform type="include"/>
         <map:serialize type="xml"/>
       </map:match>
-      
-      <!-- 
-        This matcher aggregates the Lenya page: breadcrumbs, tabs, menu etc. and the actual document content.
-        /lenyabody-raw-{1:rendertype}/{2:publication-id}/{3:area}/{4:doctype}/{5:default-language}/{6:language}/{7:path} 
-      -->
-      <map:match pattern="lenyabody-raw-*/*/*/*/*/*/**">
-        <map:aggregate element="cmsbody">
-          <map:part src="cocoon://modules/sitetree/breadcrumb/{2}/{3}/{5}/{6}/{7}.xml"/>
-          <map:part src="cocoon://modules/sitetree/tabs/{2}/{3}/{5}/{6}/{7}.xml"/>
-          <map:part src="cocoon://modules/sitetree/menu/{2}/{3}/{5}/{6}/{7}.xml"/>
-          <map:part src="cocoon://modules/sitetree/search/{2}/{3}/{5}/{6}/{7}.xml"/>
-          <map:part src="cocoon:/document-content/{1}/{2}/{3}/{7}"/>
-        </map:aggregate>
-        <map:serialize type="xml"/>
-      </map:match>
-      
-      <!--
-        This match provides the XSLT to render a given doctype to XHTML
-        It checks for the existence of a doctype-specific one, and if none
-        exists, falls back to the default one.
-        /getDoctypeXSLT/{1:doctype}
-      -->
-      <map:match pattern="getDoctypeXSLT/*">
-        <map:select type="resource-exists">
-          <map:parameter name="prefix" value="fallback://"/>
-          <map:when test="fallback://lenya/modules/docustyle/xslt/page2xhtml-{1}.xsl">
-            <map:generate src="fallback://lenya/modules/docustyle/xslt/page2xhtml-{1}.xsl"/>
-          </map:when>
-          <map:otherwise>
-            <map:generate src="fallback://lenya/modules/docustyle/xslt/page2xhtml.xsl"/>
-          </map:otherwise>
-        </map:select>
-        <map:serialize type="xml"/>
-      </map:match>
-      
     </map:pipeline>
     
+    
     <!-- This is the pipeline that ultimately builds the page. -->
     <map:pipeline type="noncaching">
       
@@ -139,32 +99,26 @@
         This matcher takes the raw aggregated page content and applies SVG rendering and a doctype-specific
         XSL transformation. It makes some meta information available to the XSLT, and demonstrates the use
         of the LenyaMetaDataTransformer (see below).
-        /lenyabody-{1:rendertype}/{2:publication-id}/{3:area}/{4:doctype}/{5:path} 
+        /page/{1:publication-id}/{2:area}/{3:uuid}/{4:language}
       -->
-      <map:match pattern="lenyabody-*/*/*/*/**">
-        <map:generate src="cocoon:/lenyabody-raw-{1}/{2}/{3}/{4}/{page-envelope:default-language}/{page-envelope:document-language}/{5}"/>
-        <map:transform src="fallback://lenya/modules/svg/xslt/image2svg.xsl"/>
-        <map:transform src="cocoon:/getDoctypeXSLT/{4}">
-          <map:parameter name="root" value="/{2}/{3}"/>
-          <map:parameter name="publication-id" value="{2}"/>
-          <map:parameter name="area" value="{3}"/>
-          <map:parameter name="url" value="{page-envelope:document-url}"/>
-          <map:parameter name="document-path" value="{page-envelope:document-path}"/>
-          <map:parameter name="document-type" value="{4}"/>
-          <map:parameter name="language" value="{page-envelope:document-language}"/>
-          <map:parameter name="contextprefix" value="{request:contextPath}"/>
+      <map:match pattern="page/*/*/*/*">
+        <map:generate src="cocoon:/pageContext/{1}/{2}/{3}/{page-envelope:default-language}/{4}{page-envelope:document-path}"/>
+        <map:transform src="fallback://lenya/modules/docustyle/xslt/afterCache.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="lastPublishedUser" value="{access-control:user-name:{workflow:lastUser.publish}}"/>
           <map:parameter name="lastPublishedDate" value="{workflow:lastDate.publish}"/>
-          <!-- Following is a show off to explain lenya.properties.xml -->
-          <map:parameter name="author" value="{properties:pubs.default.author}"/>
-          <map:parameter name="nodeName" value="{page-envelope:document-name}"/>
         </map:transform>
+        <map:transform type="include"/>
+        <map:transform src="fallback://lenya/modules/svg/xslt/image2svg.xsl"/>
         <map:transform type="metaData">
-          <map:parameter name='pubid' value='{page-envelope:publication-id}'/>
-          <map:parameter name='area' value='{page-envelope:area}'/>
+          <map:parameter name='pubid' value='{1}'/>
+          <map:parameter name='area' value='{2}'/>
         </map:transform>
         <map:transform type="i18n">      
-          <map:parameter name="locale" value="{page-envelope:language}"/>
+          <map:parameter name="locale" value="{4}"/>
         </map:transform>
         <map:transform type="uuid2url"/>
         <map:serialize type="xml"/>
@@ -202,7 +156,7 @@
           </map:when>
         </map:select>          
         
-        <map:generate src="cocoon:/lenyabody-view/{page-envelope:publication-id}/{page-envelope:area}/{page-envelope:document-type}{page-envelope:document-path}"/>
+        <map:generate src="cocoon:/page/{page-envelope:publication-id}/{1}/{page-envelope:document-uuid}/{page-envelope:language}"/>
         
         <map:select type="parameter">
           <!-- you remember that {1} is the area, right? -->
@@ -248,7 +202,7 @@
           If the action above fails (e.g. the document does not exist), call into the lenyabody pipeline.
           It will generate a nice document-does-not-exist page for us.
         -->
-        <map:generate src="cocoon:/lenyabody-view/{page-envelope:publication-id}/{page-envelope:area}/{page-envelope:document-type}{page-envelope:document-path}"/>
+        <map:generate src="cocoon:/page/{page-envelope:publication-id}/{page-envelope:area}/{page-envelope:document-uuid}/{page-envelope:language}"/>
         <map:select type="parameter">
           <map:parameter name="parameter-selector-test" value="{1}"/>
           <map:when test="live"/>

Added: lenya/sandbox/modules/docustyle/xslt/addDocumentInclude.xsl
URL: http://svn.apache.org/viewvc/lenya/sandbox/modules/docustyle/xslt/addDocumentInclude.xsl?rev=627209&view=auto
==============================================================================
--- lenya/sandbox/modules/docustyle/xslt/addDocumentInclude.xsl (added)
+++ lenya/sandbox/modules/docustyle/xslt/addDocumentInclude.xsl Tue Feb 12 16:58:22 2008
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: page2xhtml.xsl 589770 2007-10-29 17:46:58Z andreas $ -->
+
+<xsl:stylesheet version="1.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns="http://www.w3.org/1999/xhtml"
+  xmlns:xhtml="http://www.w3.org/1999/xhtml"
+  xmlns:page="http://apache.org/cocoon/lenya/cms-page/1.0"
+  xmlns:lenya="http://apache.org/cocoon/lenya/page-envelope/1.0" 
+  xmlns:dc="http://purl.org/dc/elements/1.1/"
+  xmlns:i18n="http://apache.org/cocoon/i18n/2.1"
+  xmlns:meta="http://apache.org/lenya/meta/1.0/"
+  xmlns:i="http://apache.org/cocoon/include/1.0"
+  exclude-result-prefixes="page xhtml dc lenya"
+  >
+  
+  <xsl:param name="pub"/>
+  <xsl:param name="area"/>
+  <xsl:param name="uuid"/>
+  <xsl:param name="language"/>
+  
+  <xsl:template match="/*">
+    <html>
+      <head>
+        <link rel="stylesheet" href="/modules/docustyle/css/page.css" type="text/css"/>
+        <meta content="Apache Lenya" name="generator"/>
+        
+        <title><meta:value element="title" ns="http://purl.org/dc/elements/1.1/" default="error-404"
+          i18n:attr="default" uuid="{$uuid}" lang="{$language}"/></title>
+        
+        <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8"/>
+        <script language="javascript">
+          function toggleMenu(id) {
+          var element = document.getElementById(id);
+          if (element.className == 'open') {
+          element.className = 'closed';
+          }
+          else if (element.className == 'closed') {
+          element.className = 'open';
+          }
+          }
+        </script>
+      </head>
+      <body>
+        <div id="page">
+          <lenya:navElement name="search"/>
+          
+          <div id="header">
+            <div id="apacheBreadcrumb">
+              <a href="http://www.apache.org">Apache</a> &#187; <a href="http://lenya.apache.org">Lenya</a>
+            </div>
+            <div id="logo">
+              <div id="projectLogo">
+                <a href="/{$pub}/{$area}/"><img src="/modules/docustyle/images/project-logo-small.png" alt="project logo"/></a>
+              </div>
+              <div id="tagline">Open Source Content Management</div>
+            </div>
+            <lenya:navElement name="tabs"/>
+            <div id="tabsSeparator"/>
+          </div>
+          
+          <div id="main">
+            <lenya:navElement name="menu"/>
+            <lenya:navElement name="breadcrumb"/>
+            <div id="body"/>
+            <i:include src="lenya-document:{$uuid},pub={$pub},area={$area},lang={$language}?format=xhtml">
+              <i:fallback>
+                <p>
+                  This document doesn't exist.
+                </p>
+              </i:fallback>
+            </i:include>
+          </div>
+        </div>
+      </body>
+    </html>
+  </xsl:template>
+  
+  
+  <xsl:template match="@*|node()" priority="-1">
+    <xsl:copy>
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:copy>
+  </xsl:template>
+  
+  
+</xsl:stylesheet> 

Added: lenya/sandbox/modules/docustyle/xslt/addNavIncludes.xsl
URL: http://svn.apache.org/viewvc/lenya/sandbox/modules/docustyle/xslt/addNavIncludes.xsl?rev=627209&view=auto
==============================================================================
--- lenya/sandbox/modules/docustyle/xslt/addNavIncludes.xsl (added)
+++ lenya/sandbox/modules/docustyle/xslt/addNavIncludes.xsl Tue Feb 12 16:58:22 2008
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
+  xmlns:lenya="http://apache.org/cocoon/lenya/page-envelope/1.0"
+  xmlns:i="http://apache.org/cocoon/include/1.0"
+  exclude-result-prefixes="lenya">
+  
+  <xsl:param name="params"/>
+  
+  <xsl:template match="lenya:navElement">
+    <i:include src="cocoon://modules/sitetree/{@name}/{$params}.xml"/>
+  </xsl:template>
+  
+  <xsl:template match="@*|node()|comment()" priority="-1">
+    <xsl:copy>
+      <xsl:apply-templates select="@*|node()|comment()"></xsl:apply-templates>
+    </xsl:copy>
+  </xsl:template>
+
+</xsl:stylesheet>
\ No newline at end of file

Added: lenya/sandbox/modules/docustyle/xslt/afterCache.xsl
URL: http://svn.apache.org/viewvc/lenya/sandbox/modules/docustyle/xslt/afterCache.xsl?rev=627209&view=auto
==============================================================================
--- lenya/sandbox/modules/docustyle/xslt/afterCache.xsl (added)
+++ lenya/sandbox/modules/docustyle/xslt/afterCache.xsl Tue Feb 12 16:58:22 2008
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: page2xhtml.xsl 589770 2007-10-29 17:46:58Z andreas $ -->
+
+<xsl:stylesheet version="1.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns="http://www.w3.org/1999/xhtml"
+  xmlns:xhtml="http://www.w3.org/1999/xhtml"
+  xmlns:i18n="http://apache.org/cocoon/i18n/2.1"
+  xmlns:meta="http://apache.org/lenya/meta/1.0/"
+  xmlns:i="http://apache.org/cocoon/include/1.0"
+  exclude-result-prefixes="xhtml"
+  >
+  
+  <xsl:param name="pub"/>
+  <xsl:param name="area"/>
+  <xsl:param name="uuid"/>
+  <xsl:param name="language"/>
+  
+  <xsl:param name="lastPublishedUser"/>
+  <xsl:param name="lastPublishedDate"/>
+  
+  
+  <xsl:template match="xhtml:div[@id = 'search']//xhtml:p">
+    <xsl:copy>
+      Search:
+      <xsl:apply-templates select="node()"/>
+    </xsl:copy>
+  </xsl:template>
+  
+  
+  <xsl:template match="xhtml:input[@class = 'searchsubmit']">
+    <input class="searchsubmit" type="image" src="/modules/docustyle/images/search.png"/>
+  </xsl:template>
+  
+  
+  <xsl:template match="xhtml:div[@id = 'breadcrumb']">
+    <xsl:if test="*">
+      <xsl:copy>
+        <xsl:apply-templates select="@*|node()"/>
+      </xsl:copy>
+    </xsl:if>
+  </xsl:template>
+  
+  
+  <xsl:template match="xhtml:div[@id = 'body']">
+    <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>
+      <xsl:call-template name="footer"/>
+    </div>
+  </xsl:template>
+  
+  
+  <xsl:template match="xhtml:ul[@id = 'menu' and not(*)]"/>
+  
+  
+  <xsl:template name="footer">
+    <div id="footer">
+      <p>
+        Copyright &#169; 1999-2007 <a href="http://www.apache.org/">The Apache
+          Software Foundation</a>. All rights reserved.
+      </p>
+      <p>
+        <xsl:choose>
+          <xsl:when test="$lastPublishedUser != ''">
+            <i18n:translate>
+              <i18n:text>last-published</i18n:text>
+              <i18n:param><i18n:date-time src-pattern="yyyy-MM-dd HH:mm:ss"><xsl:value-of select="$lastPublishedDate"/></i18n:date-time></i18n:param>
+              <i18n:param><xsl:value-of select="$lastPublishedUser"/></i18n:param>
+            </i18n:translate>
+          </xsl:when>
+          <xsl:otherwise>
+            <i18n:text>never-published</i18n:text>
+          </xsl:otherwise>
+        </xsl:choose>
+      </p>
+    </div>
+  </xsl:template>
+  
+  
+  <xsl:template match="@*|node()" priority="-1">
+    <xsl:copy>
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:copy>
+  </xsl:template>
+  
+  
+</xsl:stylesheet> 

Added: lenya/sandbox/modules/docustyle/xslt/beforeCache.xsl
URL: http://svn.apache.org/viewvc/lenya/sandbox/modules/docustyle/xslt/beforeCache.xsl?rev=627209&view=auto
==============================================================================
--- lenya/sandbox/modules/docustyle/xslt/beforeCache.xsl (added)
+++ lenya/sandbox/modules/docustyle/xslt/beforeCache.xsl Tue Feb 12 16:58:22 2008
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: page2xhtml.xsl 589770 2007-10-29 17:46:58Z andreas $ -->
+
+<xsl:stylesheet version="1.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns="http://www.w3.org/1999/xhtml"
+  xmlns:xhtml="http://www.w3.org/1999/xhtml"
+  xmlns:page="http://apache.org/cocoon/lenya/cms-page/1.0"
+  xmlns:lenya="http://apache.org/cocoon/lenya/page-envelope/1.0" 
+  xmlns:dc="http://purl.org/dc/elements/1.1/"
+  xmlns:i18n="http://apache.org/cocoon/i18n/2.1"
+  xmlns:meta="http://apache.org/lenya/meta/1.0/"
+  xmlns:i="http://apache.org/cocoon/include/1.0"
+  exclude-result-prefixes="page xhtml dc lenya"
+  >
+  
+  <xsl:param name="pub"/>
+  <xsl:param name="area"/>
+  <xsl:param name="uuid"/>
+  <xsl:param name="language"/>
+  
+  <xsl:template match="/*">
+    <html>
+      <head>
+        <link rel="stylesheet" href="/modules/docustyle/css/page.css" type="text/css"/>
+        <meta content="Apache Lenya" name="generator"/>
+        
+        <title><meta:value element="title" ns="http://purl.org/dc/elements/1.1/" default="error-404"
+          i18n:attr="default" uuid="{$uuid}" lang="{$language}"/></title>
+        
+        <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8"/>
+        <script language="javascript">
+          function toggleMenu(id) {
+          var element = document.getElementById(id);
+          if (element.className == 'open') {
+          element.className = 'closed';
+          }
+          else if (element.className == 'closed') {
+          element.className = 'open';
+          }
+          }
+        </script>
+      </head>
+      <body>
+        <div id="page">
+          <lenya:navElement name="search"/>
+          
+          <div id="header">
+            <div id="apacheBreadcrumb">
+              <a href="http://www.apache.org">Apache</a> &#187; <a href="http://lenya.apache.org">Lenya</a>
+            </div>
+            <div id="logo">
+              <div id="projectLogo">
+                <a href="/{$pub}/{$area}/"><img src="/modules/docustyle/images/project-logo-small.png" alt="project logo"/></a>
+              </div>
+              <div id="tagline">Open Source Content Management</div>
+            </div>
+            <lenya:navElement name="tabs"/>
+            <div id="tabsSeparator"/>
+          </div>
+          
+          <div id="main">
+            <lenya:navElement name="menu"/>
+            <lenya:navElement name="breadcrumb"/>
+            <div id="body"/>
+          </div>
+        </div>
+      </body>
+    </html>
+  </xsl:template>
+  
+  
+  <xsl:template match="@*|node()" priority="-1">
+    <xsl:copy>
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:copy>
+  </xsl:template>
+  
+  
+</xsl:stylesheet> 



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org