[prev in list] [next in list] [prev in thread] [next in thread] 

List:       forrest-svn
Subject:    svn commit: r329402 - in
From:       rgardler () apache ! org
Date:       2005-10-29 12:13:24
Message-ID: 20051029121325.15320.qmail () minotaur ! apache ! org
[Download RAW message or body]

Author: rgardler
Date: Sat Oct 29 05:13:16 2005
New Revision: 329402

URL: http://svn.apache.org/viewcvs?rev=329402&view=rev
Log:
don't use absolute paths as this prevents the site being hosted anywhere other than \
the root of the server

Modified:
    forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.Daisy/input.xmap
    forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.Daisy/resources/stylesheets/daisy-to-html.xsl
  forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.Daisy/resources/stylesheets/navigation-to-siteSnippet.xsl


Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.Daisy/input.xmap
                
URL: http://svn.apache.org/viewcvs/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.Daisy/input.xmap?rev=329402&r1=329401&r2=329402&view=diff
 ==============================================================================
--- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.Daisy/input.xmap \
                (original)
+++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.Daisy/input.xmap \
Sat Oct 29 05:13:16 2005 @@ -42,7 +42,9 @@
           <map:part src="cocoon://{1}.daisy.source" />
           <map:part src="{lm:daisy.siteSnippetFor.{1}}" />
         </map:aggregate>
-        <map:transform src="{lm:daisy.transform.daisy.html}"/>
+        <map:transform src="{lm:daisy.transform.daisy.html}">
+          <map:parameter name="documentPath" value="{0}"/>"/>
+        </map:transform>
         <map:transform src="{lm:transform.html.document}"/>
         <map:select type="exists">
           <map:when test="{project:resources.stylesheets}/daisy/postFilter.xsl">

Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.Daisy/resources/stylesheets/daisy-to-html.xsl
                
URL: http://svn.apache.org/viewcvs/forrest/trunk/whiteboard/plugins/org.apache.forrest \
.plugin.input.Daisy/resources/stylesheets/daisy-to-html.xsl?rev=329402&r1=329401&r2=329402&view=diff
 ==============================================================================
--- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.Daisy/resources/stylesheets/daisy-to-html.xsl \
                (original)
+++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.Daisy/resources/stylesheets/daisy-to-html.xsl \
Sat Oct 29 05:13:16 2005 @@ -23,6 +23,11 @@
     xmlns:nav="http://outerx.org/daisy/1.0#navigationspec"
     version="1.0">
     
+  
+  <!-- The path to the current document, used to calculate the path
+       to the site root when working out paths in links -->
+  <xsl:param name="documentPath"/>
+  
   <!-- The pathPrefix is added to the start of all resolved Daisy links 
        It must include a trailing slash if it is non-empty -->
   <xsl:param name="pathPrefix">/</xsl:param>
@@ -159,6 +164,12 @@
   </xsl:template>
   
   <xsl:template match="a">
+    <xsl:variable name="pathToRoot">
+      <xsl:call-template name="dotdots">
+        <xsl:with-param name="path"><xsl:value-of \
select="$documentPath"/></xsl:with-param> +      </xsl:call-template>
+    </xsl:variable>
+    
     <xsl:choose>
       <xsl:when test="starts-with(@href, 'daisy:')">
         <xsl:variable name="docId"><xsl:value-of select="substring-after(@href, \
'daisy:')"/></xsl:variable> @@ -166,7 +177,7 @@
           <xsl:value-of select="$pathPrefix"/>
           <xsl:for-each \
select="//daisyDocument/descendant::doc[@id=$docId][1]/ancestor::group|//daisyDocument/descendant::doc[@id=$docId][1]/ancestor::doc[@nodeId]"><xsl:value-of \
select="@href"/></xsl:for-each>  </xsl:variable>
-        <xsl:variable name="url"><xsl:value-of select="$path"/><xsl:value-of \
select="//node()[@id=$docId]/@href"/></xsl:variable> +        <xsl:variable \
name="url"><xsl:value-of select="$pathToRoot"/><xsl:value-of \
select="$path"/><xsl:value-of select="//doc[@id=$docId]/@href"/></xsl:variable>  <a>
           <xsl:choose>
             <xsl:when test="contains($url, '#')">
@@ -218,6 +229,27 @@
     <xsl:copy>
       <xsl:apply-templates select="@*|*|text()|processing-instruction()|comment()"/>
     </xsl:copy>
+  </xsl:template>
+  
+  <!-- FIXME: this should come from include of dotdots.xsl in forest core -->
+  <xsl:template name="dotdots">
+    <xsl:param name="path"/>
+    <xsl:variable name="dirs" select="normalize-space(translate(concat($path, 'x'), \
' /\', '_  '))"/> +    <!-- The above does the following:
+       o Adds a trailing character to the path. This prevents us having to deal
+         with the special case of ending with '/'
+       o Translates all directory separators to ' ', and normalize spaces,
+		 cunningly eliminating duplicate '//'s. We also translate any real
+		 spaces into _ to preserve them.
+    -->
+    <xsl:variable name="remainder" select="substring-after($dirs, ' ')"/>
+    <xsl:if test="$remainder">
+      <xsl:text>../</xsl:text>
+      <xsl:call-template name="dotdots">
+        <xsl:with-param name="path" select="translate($remainder, ' ', '/')"/>
+		<!-- Translate back to /'s because that's what the template expects. -->
+      </xsl:call-template>
+    </xsl:if>
   </xsl:template>
 
 </xsl:stylesheet>

Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.Daisy/resources/stylesheets/navigation-to-siteSnippet.xsl
                
URL: http://svn.apache.org/viewcvs/forrest/trunk/whiteboard/plugins/org.apache.forrest \
.plugin.input.Daisy/resources/stylesheets/navigation-to-siteSnippet.xsl?rev=329402&r1=329401&r2=329402&view=diff
 ==============================================================================
--- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.Daisy/resources/stylesheets/navigation-to-siteSnippet.xsl \
                (original)
+++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.Daisy/resources/stylesheets/navigation-to-siteSnippet.xsl \
Sat Oct 29 05:13:16 2005 @@ -37,14 +37,7 @@
           <doc>
             <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
             <xsl:attribute name="label">Section Home</xsl:attribute>
-            <xsl:choose>
-              <xsl:when test="@nodeId">
-                <xsl:attribute name="href"><xsl:value-of \
                select="@nodeId"/>.html</xsl:attribute>
-              </xsl:when>
-              <xsl:otherwise>
-                <xsl:attribute name="href"><xsl:value-of \
                select="@id"/>.html</xsl:attribute>
-              </xsl:otherwise>
-            </xsl:choose>
+            <xsl:attribute name="href">../<xsl:value-of \
select="@nodeId"/>.html</xsl:attribute>  </doc>
           <xsl:apply-templates/>
         </group>


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic