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 2003/09/16 20:24:30 UTC

cvs commit: cocoon-lenya/src/webapp/lenya/xslt/navigation sitetree2nav.xsl tabs.xsl menu.xsl breadcrumb.xsl

andreas     2003/09/16 11:24:30

  Modified:    src/webapp/lenya/xslt/navigation sitetree2nav.xsl tabs.xsl
                        menu.xsl breadcrumb.xsl
  Log:
  using @current = 'true' attribute to check for currently selected node
  
  Revision  Changes    Path
  1.12      +42 -23    cocoon-lenya/src/webapp/lenya/xslt/navigation/sitetree2nav.xsl
  
  Index: sitetree2nav.xsl
  ===================================================================
  RCS file: /home/cvs/cocoon-lenya/src/webapp/lenya/xslt/navigation/sitetree2nav.xsl,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- sitetree2nav.xsl	9 Sep 2003 11:34:40 -0000	1.11
  +++ sitetree2nav.xsl	16 Sep 2003 18:24:30 -0000	1.12
  @@ -67,40 +67,59 @@
         </xsl:choose>
       </xsl:variable>  
       
  +    <xsl:variable name="language-suffix">
  +      <xsl:text>_<xsl:value-of select="$chosenlanguage"/></xsl:text>
  +    </xsl:variable>
  +    
  +    <xsl:variable name="canonical-language-suffix">
  +      <xsl:choose>
  +        <xsl:when test="not($defaultlanguage = $chosenlanguage)">
  +          <xsl:value-of select="$language-suffix"/>
  +        </xsl:when>
  +        <xsl:otherwise>
  +          <!-- no suffix for default language -->
  +        </xsl:otherwise>
  +      </xsl:choose>
  +    </xsl:variable>
  +    
       <!-- suffix - only when @href is not present -->
  -  
  +    
       <xsl:variable name="suffix">
         <xsl:if test="not(@href)">
  -         <xsl:choose>
  -<!--            <xsl:when test="not($defaultlanguage = $chosenlanguage) and tree:label[lang($chosenlanguage)]">-->
  -            <xsl:when test="not($defaultlanguage = $chosenlanguage)">
  -      	       <xsl:text>_<xsl:value-of select="$chosenlanguage"/></xsl:text>
  -            </xsl:when>
  -            <xsl:otherwise>
  -            	<!-- no suffix for default language -->
  -      	       <!--<xsl:text>_<xsl:value-of select="$defaultlanguage"/></xsl:text>-->
  -            </xsl:otherwise>
  -          </xsl:choose>
  -          <xsl:text>.</xsl:text>
  -          <xsl:choose>
  -            <xsl:when test="@suffix">
  -              <xsl:text><xsl:value-of select="@suffix"/></xsl:text>
  -            </xsl:when>
  -            <xsl:otherwise>
  -              <xsl:text>html</xsl:text>
  -            </xsl:otherwise>
  -          </xsl:choose>
  +        <xsl:text>.</xsl:text>
  +        <xsl:choose>
  +          <xsl:when test="@suffix">
  +            <xsl:text><xsl:value-of select="@suffix"/></xsl:text>
  +          </xsl:when>
  +          <xsl:otherwise>
  +            <xsl:text>html</xsl:text>
  +          </xsl:otherwise>
  +        </xsl:choose>
         </xsl:if>
       </xsl:variable>
       
       <xsl:attribute name="suffix"><xsl:value-of select="$suffix"/></xsl:attribute>
       <xsl:attribute name="basic-url"><xsl:value-of select="$previous-url"/><xsl:value-of select="@id"/></xsl:attribute>
  -    <xsl:attribute name="href">
  +    
  +    <xsl:variable name="canonical-url">
  +      <xsl:text/>
  +      <xsl:value-of select="$basic-url"/><xsl:text/>
  +      <xsl:value-of select="$canonical-language-suffix"/><xsl:text/>
  +      <xsl:value-of select="$suffix"/><xsl:text/>
  +    </xsl:variable>
  +    
  +    <xsl:variable name="non-canonical-url">
         <xsl:text/>
  -      <xsl:value-of select="$path-to-context"/><xsl:text/>
         <xsl:value-of select="$basic-url"/><xsl:text/>
  +      <xsl:value-of select="$language-suffix"/><xsl:text/>
         <xsl:value-of select="$suffix"/><xsl:text/>
  -    </xsl:attribute>
  +    </xsl:variable>
  +    
  +    <xsl:if test="$url = $canonical-url or $url = $non-canonical-url">
  +      <xsl:attribute name="current">true</xsl:attribute>
  +    </xsl:if>
  +    
  +    <xsl:attribute name="href"><xsl:value-of select="concat($path-to-context, $canonical-url)"/></xsl:attribute>
       
       <xsl:apply-templates>
         <xsl:with-param name="previous-url" select="concat($basic-url, '/')"/>
  
  
  
  1.10      +1 -1      cocoon-lenya/src/webapp/lenya/xslt/navigation/tabs.xsl
  
  Index: tabs.xsl
  ===================================================================
  RCS file: /home/cvs/cocoon-lenya/src/webapp/lenya/xslt/navigation/tabs.xsl,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- tabs.xsl	14 Aug 2003 08:33:17 -0000	1.9
  +++ tabs.xsl	16 Sep 2003 18:24:30 -0000	1.10
  @@ -30,7 +30,7 @@
         </xsl:if>
         
         <xsl:choose>
  -        <xsl:when test="starts-with($url, @basic-url)">
  +        <xsl:when test="descendant-or-self::nav:node[@current = 'true']">
             <xsl:call-template name="tab-selected"/>
           </xsl:when>
           <xsl:otherwise>
  
  
  
  1.12      +2 -2      cocoon-lenya/src/webapp/lenya/xslt/navigation/menu.xsl
  
  Index: menu.xsl
  ===================================================================
  RCS file: /home/cvs/cocoon-lenya/src/webapp/lenya/xslt/navigation/menu.xsl,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- menu.xsl	14 Aug 2003 08:33:17 -0000	1.11
  +++ menu.xsl	16 Sep 2003 18:24:30 -0000	1.12
  @@ -28,7 +28,7 @@
   
   <xsl:template match="nav:node">
     <xsl:choose>
  -    <xsl:when test="starts-with($url, @basic-url)">
  +    <xsl:when test="descendant-or-self::nav:node[@current = 'true']">
         <div class="menublock-selected-{count(ancestor-or-self::nav:node)}">
           <xsl:call-template name="item"/>
           <xsl:apply-templates select="nav:node"/>
  @@ -46,7 +46,7 @@
   
   <xsl:template name="item">
     <xsl:choose>
  -    <xsl:when test="substring(@href, (string-length(@href) - string-length($url)) + 1) = $url">
  +    <xsl:when test="@current = 'true'">
         <xsl:call-template name="item-selected"/>
       </xsl:when>
       <xsl:otherwise>
  
  
  
  1.10      +2 -2      cocoon-lenya/src/webapp/lenya/xslt/navigation/breadcrumb.xsl
  
  Index: breadcrumb.xsl
  ===================================================================
  RCS file: /home/cvs/cocoon-lenya/src/webapp/lenya/xslt/navigation/breadcrumb.xsl,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- breadcrumb.xsl	14 Aug 2003 08:33:17 -0000	1.9
  +++ breadcrumb.xsl	16 Sep 2003 18:24:30 -0000	1.10
  @@ -29,7 +29,7 @@
   
   <xsl:template match="nav:node">
     
  -  <xsl:if test="starts-with($url, @basic-url)">
  +  <xsl:if test="descendant-or-self::nav:node[@current = 'true']">
       <xsl:call-template name="separator"/>
       <xsl:call-template name="step"/>
       <xsl:apply-templates select="nav:node"/>
  @@ -40,7 +40,7 @@
   
   <xsl:template name="step">
     <xsl:choose>
  -    <xsl:when test="substring(@href, (string-length(@href) - string-length($url)) + 1) = $url">
  +    <xsl:when test="@current = 'true'">
         <xsl:apply-templates select="nav:label"/>
       </xsl:when>
       <xsl:otherwise>
  
  
  

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