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 2007/10/29 18:47:00 UTC

svn commit: r589770 - in /lenya/trunk/src: pubs/default/sitemap.xmap pubs/default/xslt/addXhtmlTitle.xsl pubs/default/xslt/page2xhtml.xsl webapp/lenya/xslt/exception/document-does-not-exist.xsl

Author: andreas
Date: Mon Oct 29 10:46:58 2007
New Revision: 589770

URL: http://svn.apache.org/viewvc?rev=589770&view=rev
Log:
Show 404 page using the normal default publication layout.

Added:
    lenya/trunk/src/pubs/default/xslt/addXhtmlTitle.xsl
Modified:
    lenya/trunk/src/pubs/default/sitemap.xmap
    lenya/trunk/src/pubs/default/xslt/page2xhtml.xsl
    lenya/trunk/src/webapp/lenya/xslt/exception/document-does-not-exist.xsl

Modified: lenya/trunk/src/pubs/default/sitemap.xmap
URL: http://svn.apache.org/viewvc/lenya/trunk/src/pubs/default/sitemap.xmap?rev=589770&r1=589769&r2=589770&view=diff
==============================================================================
--- lenya/trunk/src/pubs/default/sitemap.xmap (original)
+++ lenya/trunk/src/pubs/default/sitemap.xmap Mon Oct 29 10:46:58 2007
@@ -97,6 +97,11 @@
         </map:select>
       </map:match>
       
+      <map:match pattern="getDoctypeXSLT/">
+        <map:generate src="fallback://xslt/page2xhtml.xsl"/>
+        <map:serialize type="xml"/>
+      </map:match>
+      
       <map:match pattern="**/">
         <map:redirect-to uri="index.html"/>
       </map:match>
@@ -124,6 +129,24 @@
         <map:serialize type="xml"/>
       </map:match>
       
+      <!-- {1:rendertype}/{2:area}/{3: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>
+        <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="documenturl" value="/{3}.html"/>
+          <map:parameter name="path" value="/{3}"/>
+          <map:parameter name="area" value="{2}"/>
+        </map:transform>
+        <map:transform type="i18n">
+          <map:parameter name="locale" value="{page-envelope:language}"/>
+        </map:transform>
+        <map:serialize type="xml"/>
+      </map:match>
+      
       <!-- /lenyabody-{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">
@@ -132,7 +155,7 @@
           <map:part src="cocoon:/navigation-element/menu/{2}/{3}/{5}/{6}/{7}"/>
           <map:part src="cocoon:/navigation-element/search/{2}/{3}/{5}/{6}/{7}"/>
           <map:part src="cocoon://modules/languageselector/text-none/flagsize-13"/>
-          <map:part src="{resource-type:format-xhtml}?rendertype={1}"/>
+          <map:part src="cocoon:/document-content/{1}/{3}/{7}"/>
         </map:aggregate>
         <map:serialize type="xml"/>
       </map:match>
@@ -174,7 +197,6 @@
           <map:parameter name="document-type" value="{4}"/>
           <map:parameter name="language" value="{page-envelope:document-language}"/>
           <map:parameter name="contextprefix" value="{request:contextPath}"/>
-          <map:parameter name="title" value="{dublincore:title}"/>
           <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 -->
@@ -182,6 +204,12 @@
           <map:parameter name="nodeName" value="{page-envelope:document-name}"/>
         </map:transform>
         
+        <map:act type="language-exists">
+          <map:transform src="fallback://xslt/addXhtmlTitle.xsl">
+            <map:parameter name="title" value="{dublincore:title}"/>
+          </map:transform>
+        </map:act>
+        
         <!-- This is a demonstration of the generic meta data transformer
           described in bug 39891.
           
@@ -201,7 +229,7 @@
           <map:parameter name='area' value='{page-envelope:area}'/>
         </map:transform>
         <map:transform type="i18n">      
-          <map:parameter name="locale" value="{page-envelope:document-language}"/>
+          <map:parameter name="locale" value="{page-envelope:language}"/>
         </map:transform>
         <map:transform type="uuid2url"/>
         <map:serialize type="xml"/>
@@ -221,121 +249,112 @@
       </map:match>
       
       <map:match pattern="*/**.html">
+        
+        <map:select type="resource-exists">
+          <map:when test="lenya://lenya/pubs/{page-envelope:publication-id}/content/authoring/sitetree.xml"/>
+          <map:otherwise>
+            <map:redirect-to uri="{request:requestUri}?lenya.usecase=export.importExampleContent"/>
+          </map:otherwise>
+        </map:select>
       
         <map:act type="language-exists">
-
           <map:act type="set-header">
             <map:parameter name="Last-Modified" value="{date-iso8601-rfc822:{page-envelope:document-lastmodified}}" />
-
-            <!-- HEAD request shouldn't have all the xslt overhead -->
-            <map:select type="request-method">
-              <map:when test="HEAD">
-                <map:generate src="context://lenya/content/util/empty.xml" />
-                <map:serialize type="xhtml"/>
-              </map:when>
-            </map:select>          
+          </map:act>
+        </map:act>
+            
+        <!-- HEAD request shouldn't have all the xslt overhead -->
+        <map:select type="request-method">
+          <map:when test="HEAD">
+            <map:generate src="context://lenya/content/util/empty.xml" />
+            <map:serialize type="xhtml"/>
+          </map:when>
+        </map:select>          
+      
+        <map:select type="resource-exists">
+          <!-- Read from cache -->
+          <!-- If configured within Apache then mod_lenya will nevertheless read from cache -->
+          <map:when test="context:/lenya/pubs/{page-envelope:publication-id}/{global:cache-dir}/{1}/{2}.htmlDISABLED">
+            <map:read src="context:/lenya/pubs/{page-envelope:publication-id}/{global:cache-dir}/{1}/{2}.html" mime-type="text/html"/>
+          </map:when>
+          <!-- Write to cache and serialize -->
+          <map:otherwise>
           
-            <map:select type="resource-exists">
-              <!-- Read from cache -->
-              <!-- If configured within Apache then mod_lenya will nevertheless read from cache -->
-              <map:when test="context:/lenya/pubs/{page-envelope:publication-id}/{global:cache-dir}/{../../1}/{../../2}.htmlDISABLED">
-                <map:read src="context:/lenya/pubs/{page-envelope:publication-id}/{global:cache-dir}/{../../1}/{../../2}.html" mime-type="text/html"/>
+            <map:select type="parameter">
+              <map:parameter name="parameter-selector-test" value="{request-param:rendertype}"/>
+              <map:when test="edit">
+                <map:generate src="cocoon:/lenyabody-edit/{page-envelope:publication-id}/{page-envelope:area}/{page-envelope:document-type}{page-envelope:document-path}"/>
+              </map:when>
+              <map:otherwise>
+                <map:generate src="cocoon:/lenyabody-view/{page-envelope:publication-id}/{page-envelope:area}/{page-envelope:document-type}{page-envelope:document-path}"/>
+              </map:otherwise>
+            </map:select>
+            <!-- TODO: Either fix XUL or remove it, only works under Authoring at moment -->
+            <!-- and the text of menu items is not shown -->
+            <!-- Uncomment to enable XUL menus under Mozilla 5 -->
+            <!-- <map:select type="browser">
+              <map:when test="mozilla5">
+                <map:select type="parameter">
+                  <map:parameter name="parameter-selector-test" value="{../../1}"/>
+                  <map:when test="live"/>
+                  <map:otherwise>
+                    <map:transform src="cocoon://lenya-page/{page-envelope:publication-id}/{../../1}/{../../2}.xml?doctype={page-envelope:document-type}&amp;uiml=xul"/>
+                  </map:otherwise>
+                </map:select>
+                <map:serialize type="xml" mime-type="application/vnd.mozilla.xul+xml"/>
               </map:when>
-              <!-- Write to cache and serialize -->
               <map:otherwise>
-              
+            -->
                 <map:select type="parameter">
-                  <map:parameter name="parameter-selector-test" value="{request-param:rendertype}"/>
-                  <map:when test="edit">
-                    <map:generate src="cocoon:/lenyabody-edit/{page-envelope:publication-id}/{page-envelope:area}/{page-envelope:document-type}{page-envelope:document-path}"/>
-                  </map:when>
+                  <map:parameter name="parameter-selector-test" value="{1}"/>
+                  <map:when test="live"/>
                   <map:otherwise>
-                    <map:generate src="cocoon:/lenyabody-view/{page-envelope:publication-id}/{page-envelope:area}/{page-envelope:document-type}{page-envelope:document-path}"/>
+                    <map:transform src="cocoon://lenya-page/{page-envelope:publication-id}/{1}/{2}.xml?doctype={page-envelope:document-type}"/>
+                    <!-- TODO: External Links checking should be optional on a document by document basis -->
+                    <!-- uncomment to turn on external broken link reporting -->
+                    <!--<map:transform src="fallback://lenya/xslt/authoring/addJavaScript.xsl">
+                      <map:parameter name="scriptSRC" value="/modules/linkcheck/linkreporter.js"/>
+                    </map:transform>-->
                   </map:otherwise>
                 </map:select>
-                <!-- TODO: Either fix XUL or remove it, only works under Authoring at moment -->
-                <!-- and the text of menu items is not shown -->
-                <!-- Uncomment to enable XUL menus under Mozilla 5 -->
-                <!-- <map:select type="browser">
-                  <map:when test="mozilla5">
-                    <map:select type="parameter">
-                      <map:parameter name="parameter-selector-test" value="{../../1}"/>
-                      <map:when test="live"/>
-                      <map:otherwise>
-                        <map:transform src="cocoon://lenya-page/{page-envelope:publication-id}/{../../1}/{../../2}.xml?doctype={page-envelope:document-type}&amp;uiml=xul"/>
-                      </map:otherwise>
-                    </map:select>
-                    <map:serialize type="xml" mime-type="application/vnd.mozilla.xul+xml"/>
+                <map:transform src="fallback://lenya/xslt/util/strip_namespaces.xsl"/>
+                <!-- Write to cache for requests from live area -->
+                <map:select type="parameter">
+                  <map:parameter name="parameter-selector-test" value="{1}"/>
+                  <map:when test="live">
+                    <map:transform src="fallback://lenya/xslt/authoring/edit/addSourceTags.xsl">
+                      <map:parameter name="source" value="context:/lenya/pubs/{page-envelope:publication-id}/{global:cache-dir}/{../../1}/{../../2}.html"/>
+                    </map:transform>
+                    <map:transform type="write-source">
+                      <map:parameter name="serializer" value="xhtml"/>
+                    </map:transform>
+                    <map:transform src="fallback://lenya/xslt/authoring/edit/removeSourceTags.xsl"/>
+                    <map:act type="set-header">
+                      <map:parameter name="Expires" value="{date-iso8601-rfc822:{doc-info:{page-envelope:publication-id}:{page-envelope:area}:{page-envelope:document-uuid}:{page-envelope:document-language}:expires}}"/>
+                    </map:act>
                   </map:when>
+                  <!-- Turn off caching in authoring area -->
                   <map:otherwise>
-                -->
-                    <map:select type="parameter">
-                      <map:parameter name="parameter-selector-test" value="{../../1}"/>
-                      <map:when test="live"/>
-                      <map:otherwise>
-                        <map:transform src="cocoon://lenya-page/{page-envelope:publication-id}/{../../1}/{../../2}.xml?doctype={page-envelope:document-type}"/>
-                        <!-- TODO: External Links checking should be optional on a document by document basis -->
-                        <!-- uncomment to turn on external broken link reporting -->
-                        <!--<map:transform src="fallback://lenya/xslt/authoring/addJavaScript.xsl">
-                          <map:parameter name="scriptSRC" value="/modules/linkcheck/linkreporter.js"/>
-                        </map:transform>-->
-                      </map:otherwise>
-                    </map:select>
-                    <map:transform src="fallback://lenya/xslt/util/strip_namespaces.xsl"/>
-                    <!-- Write to cache for requests from live area -->
-                    <map:select type="parameter">
-                      <map:parameter name="parameter-selector-test" value="{../../1}"/>
-                      <map:when test="live">
-                        <map:transform src="fallback://lenya/xslt/authoring/edit/addSourceTags.xsl">
-                          <map:parameter name="source" value="context:/lenya/pubs/{page-envelope:publication-id}/{global:cache-dir}/{../../1}/{../../2}.html"/>
-                        </map:transform>
-                        <map:transform type="write-source">
-                          <map:parameter name="serializer" value="xhtml"/>
-                        </map:transform>
-                        <map:transform src="fallback://lenya/xslt/authoring/edit/removeSourceTags.xsl"/>
-                        <map:act type="set-header">
-                          <map:parameter name="Expires" value="{date-iso8601-rfc822:{doc-info:{page-envelope:publication-id}:{page-envelope:area}:{page-envelope:document-uuid}:{page-envelope:document-language}:expires}}"/>
-                        </map:act>
-                      </map:when>
-                      <!-- Turn off caching in authoring area -->
-                      <map:otherwise>
-                        <map:act type="set-header">
-                          <map:parameter name="Cache-Control" value="no-cache" />
-                          <map:parameter name="Pragma" value="no-cache"/>
-                        </map:act>
-                      </map:otherwise> 
-                    </map:select>
-                    <!-- pretty-print output for easier debugging and for the benefit of new users 
-                         NOTE: you may want to disable this in production for performance reasons,
-                         but it's on by default in the default publication to make the generated code 
-                         easier to work with for new users. -->
-                    <map:transform src="fallback://lenya/modules/prettyprinting/xslt/xml2nicexml.xsl"/>
-                    <!-- the proxy transformer handles proxy-related URL rewriting -->
-                    <map:transform type="proxy"/>
-                    <map:serialize type="xhtml"/>
-                <!-- Uncomment to enable XUL menus under Mozilla 5 -->
-                <!--  </map:otherwise>
-                </map:select> -->
-              </map:otherwise>
-            </map:select>
-          </map:act>
-        </map:act>
-
-        <map:select type="resource-exists">
-          <map:when test="lenya://lenya/pubs/{page-envelope:publication-id}/content/authoring/sitetree.xml">
-            <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="documenturl" value="{2}.html"/>
-              <map:parameter name="path" value="{page-envelope:document-path}"/>
-              <map:parameter name="area" value="{1}"/>
-            </map:transform>
-            <map:call resource="style-cms-page" />
-            <map:serialize status-code="404" />
-          </map:when>
-          <map:otherwise>
-            <map:redirect-to uri="{request:requestUri}?lenya.usecase=export.importExampleContent"/>
+                    <map:act type="set-header">
+                      <map:parameter name="Cache-Control" value="no-cache" />
+                      <map:parameter name="Pragma" value="no-cache"/>
+                    </map:act>
+                  </map:otherwise> 
+                </map:select>
+                <!-- pretty-print output for easier debugging and for the benefit of new users 
+                     NOTE: you may want to disable this in production for performance reasons,
+                     but it's on by default in the default publication to make the generated code 
+                     easier to work with for new users. -->
+                <map:transform src="fallback://lenya/modules/prettyprinting/xslt/xml2nicexml.xsl"/>
+                <!-- the proxy transformer handles proxy-related URL rewriting -->
+                <map:transform type="proxy"/>
+                <map:serialize type="xhtml"/>
+            <!-- Uncomment to enable XUL menus under Mozilla 5 -->
+            <!--  </map:otherwise>
+            </map:select> -->
           </map:otherwise>
         </map:select>
+
       </map:match>
       
     </map:pipeline>
@@ -343,18 +362,18 @@
     <map:pipeline>
       <map:match pattern="*/**.*">
         <!-- TODO: http://marc.theaimsgroup.com/?l=xml-cocoon-dev&amp;m=112496255207733&amp;w=2 -->
-        <map:match type="regexp" pattern="(.*\.)(pdf|PDF|Pdf)$"> 
-          <map:read src="lenya-document:{page-envelope:document-uuid},lang={page-envelope:document-language}{link:rev}" mime-type="application/pdf">
-            <map:parameter name="byte-ranges" value="false"/>
-          </map:read>
-        </map:match>      
         <map:act type="language-exists">
+          <map:match type="regexp" pattern="(.*\.)(pdf|PDF|Pdf)$"> 
+            <map:read src="lenya-document:{page-envelope:document-uuid},lang={page-envelope:document-language}{link:rev}" mime-type="application/pdf">
+              <map:parameter name="byte-ranges" value="false"/>
+            </map:read>
+          </map:match>      
           <map:read src="lenya-document:{page-envelope:document-uuid},lang={page-envelope:document-language}{link:rev}"/>
         </map:act>
 
         <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="documenturl" value="{2}.html"/>
+          <map:parameter name="documenturl" value="{2}.{3}"/>
           <map:parameter name="path" value="{page-envelope:document-path}"/>
           <map:parameter name="area" value="{1}"/>
         </map:transform>

Added: lenya/trunk/src/pubs/default/xslt/addXhtmlTitle.xsl
URL: http://svn.apache.org/viewvc/lenya/trunk/src/pubs/default/xslt/addXhtmlTitle.xsl?rev=589770&view=auto
==============================================================================
--- lenya/trunk/src/pubs/default/xslt/addXhtmlTitle.xsl (added)
+++ lenya/trunk/src/pubs/default/xslt/addXhtmlTitle.xsl Mon Oct 29 10:46:58 2007
@@ -0,0 +1,50 @@
+<?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 557603 2007-07-19 12:48:31Z 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"
+  exclude-result-prefixes="xhtml"
+  >
+  
+  <xsl:param name="title"/>
+  
+  
+  <xsl:template match="xhtml:head">
+    <xsl:copy>
+      <xsl:apply-templates select="@*|node()"/>
+      <title><xsl:value-of select="$title"/></title>
+    </xsl:copy>
+  </xsl:template>
+  
+  
+  <xsl:template match="xhtml:title"/>
+  
+  
+  <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/trunk/src/pubs/default/xslt/page2xhtml.xsl
URL: http://svn.apache.org/viewvc/lenya/trunk/src/pubs/default/xslt/page2xhtml.xsl?rev=589770&r1=589769&r2=589770&view=diff
==============================================================================
--- lenya/trunk/src/pubs/default/xslt/page2xhtml.xsl (original)
+++ lenya/trunk/src/pubs/default/xslt/page2xhtml.xsl Mon Oct 29 10:46:58 2007
@@ -41,7 +41,6 @@
   <!-- The request url i.e. /lenya/doctypes/xhtml-document_en.html -->
   <xsl:param name="url"/>
   <xsl:param name="language"/>
-  <xsl:param name="title"/>
   
   <xsl:param name="lastPublishedUser"/>
   <xsl:param name="lastPublishedDate"/>
@@ -70,7 +69,10 @@
           </xsl:otherwise>
         </xsl:choose>
         <meta content="Apache Lenya" name="generator"/>
-        <title><xsl:value-of select="$title"/></title>
+        
+        <!-- The title will be overwritten by addXhtmlTitle.xsl if the document exists. -->
+        <title><i18n:text>error-404</i18n:text></title>
+        
         <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8"/>
       </head>
       <body>
@@ -109,6 +111,15 @@
         </div>
       </body>
     </html>
+  </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>
   
   

Modified: lenya/trunk/src/webapp/lenya/xslt/exception/document-does-not-exist.xsl
URL: http://svn.apache.org/viewvc/lenya/trunk/src/webapp/lenya/xslt/exception/document-does-not-exist.xsl?rev=589770&r1=589769&r2=589770&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/xslt/exception/document-does-not-exist.xsl (original)
+++ lenya/trunk/src/webapp/lenya/xslt/exception/document-does-not-exist.xsl Mon Oct 29 10:46:58 2007
@@ -20,7 +20,6 @@
 
 <xsl:stylesheet version="1.0"
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:page="http://apache.org/cocoon/lenya/cms-page/1.0"
   xmlns:i18n="http://apache.org/cocoon/i18n/2.1"
   xmlns="http://www.w3.org/1999/xhtml"
   >
@@ -36,65 +35,63 @@
   
   <xsl:template match="/">
     
-    <page:page>
-      <page:title>
-        <xsl:choose>
-          <xsl:when test="missing-language/available-languages/available-language">
-            <i18n:text>Document not available for this language</i18n:text>
-          </xsl:when>
-          <xsl:otherwise>
-            <i18n:text>error-404</i18n:text>
-          </xsl:otherwise>
-        </xsl:choose>
-      </page:title>
-      <page:body>
-        <div class="lenya-box">
+    <html>
+      <head>
+        <title>
           <xsl:choose>
             <xsl:when test="missing-language/available-languages/available-language">
-              <div class="lenya-box-title">
+              <i18n:text>Document not available for this language</i18n:text>
+            </xsl:when>
+            <xsl:otherwise>
+              <i18n:text>error-404</i18n:text>
+            </xsl:otherwise>
+          </xsl:choose>
+        </title>
+      </head>
+      <body>
+        <div id="body">
+          <xsl:choose>
+            <xsl:when test="missing-language/available-languages/available-language">
+              <h1>
                 <i18n:translate>
                   <i18n:text i18n:key="error-missing-language" />
                   <i18n:param>'<xsl:value-of select="$language"/>'</i18n:param>
                 </i18n:translate>
-              </div>
-              <div class="lenya-box-body">
-                <p>
-                  <i18n:translate>
-                    <i18n:text i18n:key="error-missing-language" />
-                    <i18n:param>'<xsl:value-of select="$language"/>'</i18n:param>
-                  </i18n:translate>
-                </p>
-                <p>
-                  <i18n:text>The following languages are available:</i18n:text>
-                </p>
-                <ul>
-                  <xsl:apply-templates select="missing-language/available-languages/available-language"/>
-                </ul>
-              </div>
+              </h1>
+              <p>
+                <i18n:translate>
+                  <i18n:text i18n:key="error-missing-language" />
+                  <i18n:param>'<xsl:value-of select="$language"/>'</i18n:param>
+                </i18n:translate>
+              </p>
+              <p>
+                <i18n:text>The following languages are available:</i18n:text>
+              </p>
+              <ul>
+                <xsl:apply-templates select="missing-language/available-languages/available-language"/>
+              </ul>
             </xsl:when>
             <xsl:otherwise>
-              <div class="lenya-box-title"><i18n:text>error-document-existance-short</i18n:text></div>
-              <div class="lenya-box-body">
+              <h1><i18n:text>error-document-existance-short</i18n:text></h1>
+              <p>
+                <i18n:translate>
+                  <i18n:text i18n:key="error-document-existance" />
+                  <i18n:param>'<xsl:value-of select="$documenturl"/>'</i18n:param>
+                </i18n:translate>
+              </p>
+              <xsl:if test="$area = 'authoring'">
+                <p>
+                  <a href="?lenya.usecase=sitemanagement.create&amp;path={$path}"><i18n:text>create-document</i18n:text></a>
+                </p>
                 <p>
-                  <i18n:translate>
-                    <i18n:text i18n:key="error-document-existance" />
-                    <i18n:param>'<xsl:value-of select="$documenturl"/>'</i18n:param>
-                  </i18n:translate>
+                  <i18n:text>configure-content-repository</i18n:text>
                 </p>
-                <xsl:if test="$area = 'authoring'">
-                  <p>
-                    <a href="?lenya.usecase=sitemanagement.create&amp;path={$path}"><i18n:text>create-document</i18n:text></a>
-                  </p>
-                  <p>
-                    <i18n:text>configure-content-repository</i18n:text>
-                  </p>
-                </xsl:if>
-              </div>
+              </xsl:if>
             </xsl:otherwise>
           </xsl:choose>
         </div>
-      </page:body>
-    </page:page>
+      </body>
+    </html>
   </xsl:template>
   
   <xsl:template match="available-languages/available-language">



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