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