You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by gr...@apache.org on 2005/01/31 00:39:15 UTC
svn commit: r149185 - in lenya/trunk/src/webapp/lenya:
resources/css/menu.xml resources/menu/images/active.gif
resources/menu/images/inactive.gif resources/menu/images/lenya-logo.gif
resources/menu/images/menu-background.gif resources/menu/menu.js
xslt/menu/menu2xhtml.xsl
Author: gregor
Date: Sun Jan 30 15:39:12 2005
New Revision: 149185
URL: http://svn.apache.org/viewcvs?view=rev&rev=149185
Log:
Replaced the Lenya menu with a standards-based implementation by Jon Linczak. New features:
* It is now possible to have more (or less) than 4 menus
* The area tabs are now internationalized
* The new menu displays properly with serialization set to XHTML
* The menu javascript code is now far more robust (and simpler)
* Area tabs now have a hover effect
* Accessibility is improved (by doing away with tables for the menu, and using lists)
This resolves http://issues.apache.org/bugzilla/show_bug.cgi?id=33024
Added:
lenya/trunk/src/webapp/lenya/resources/menu/images/active.gif (with props)
lenya/trunk/src/webapp/lenya/resources/menu/images/inactive.gif (with props)
lenya/trunk/src/webapp/lenya/resources/menu/images/lenya-logo.gif (with props)
lenya/trunk/src/webapp/lenya/resources/menu/images/menu-background.gif (with props)
Modified:
lenya/trunk/src/webapp/lenya/resources/css/menu.xml
lenya/trunk/src/webapp/lenya/resources/menu/menu.js
lenya/trunk/src/webapp/lenya/xslt/menu/menu2xhtml.xsl
Modified: lenya/trunk/src/webapp/lenya/resources/css/menu.xml
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/webapp/lenya/resources/css/menu.xml?view=diff&r1=149184&r2=149185
==============================================================================
--- lenya/trunk/src/webapp/lenya/resources/css/menu.xml (original)
+++ lenya/trunk/src/webapp/lenya/resources/css/menu.xml Sun Jan 30 15:39:12 2005
@@ -15,153 +15,93 @@
limitations under the License.
-->
<css>
+
+body { background-color: #fff; margin: 0; padding: 0; }
-body {
- background-color: white;
- margin: 0px;
- padding: 0px
-}
-
-#lenya-menubar {
- position: absolute;
- top: 0px;
- left: 0px;
- z-index: 2;
-}
-
-#lenya-cmsbody {
- position: absolute;
- width: 100%;
- top: 55px;
- left: 0px;
- z-index: 1;
-}
-
-table.lenya-menubar-menu a { color: #3360AA; text-decoration:none; background-color: transparent; }
-table.lenya-menubar-menu a:hover { color: #FF3333; background-color: transparent; }
-table.lenya-menubar-menu a:visited { color: #6688AA; background-color: transparent; }
-table.lenya-menubar-menu a:visited:hover { color: #FF3333; background-color: transparent; }
-
-table.lenya-menubar-menu img {border:0px}
-
-#navTopBG {
- font-family: verdana, helvetica, sans-serif;
- height: 22px;
- background-image: url('<context-prefix/>/lenya/menu/images/menu-bg_2.gif');
- background-repeat: repeat-x;
- font-size: 10pt;
- color: #333333;
-}
-
-#navBlue {
- height: 6px;
- background-image: url('<context-prefix/>/lenya/menu/images/unten.gif');
- background-repeat: repeat-x;
- padding-top: 1px
-}
-
-#menuSearch, #menuHelp, #menuFile, #menuDebug {
- position:absolute;
- display:block;
- visibility:hidden;
- width:170px;
- top:54px;
- overflow: hidden;
-}
-
-.lenya-menubar-menu-disabled {
- color: #AAAAAA;
-}
-
-.lenya-menubar-highlight {
- color: #BAFF00;
-}
-
-#menuFile {left:14px;}
-#menuSearch {left:114px;}
-#menuHelp {left:214px;}
-#menuDebug {left:314px;}
-
-.menuOutline {
- border: 1px solid #666666;
- border-top: 0px;
- padding: 2px;
- background-color: #EEEEEE;
-}
-
-.menuBg {
- padding: 2px;
- background-color: #EEEEEE;
- background-repeat: repeat;
- background-attachment: scroll;
- background-image: url('<context-prefix/>/lenya/menu/images/bottombg.gif');
- background-position: 0%;
- color: black;
-}
-
-.menuBg .mI, .menuBg .mI:visited {
- display:block;
- padding: 2px 4px;
- font:11px verdana, arial, sans-serif;
- color:#444444;
- background-color: transparent;
- text-decoration: none;
-}
-
-.lenya-menubar-separator {
- height: 1px;
- margin: 3px 0px;
- background-color: #EEEEEE;
- background-repeat: repeat;
- background-attachment: scroll;
- background-image: url('<context-prefix/>/lenya/menu/images/dotted.gif');
- background-position: 0% 50%;
-}
-
-.lenya-menubar-td-infoline {
- text-align:right;
-}
-
-.lenya-menubar-td-left {
- text-align:right;
-}
-
-.lenya-menubar-infoline {
- margin-right: 10px;
- color: #FFFFFF;
- font-size: 11px;
- font-family: verdana, helvetica, sans-serif;
-}
-
-.menuBg a.mI:hover {
- background:#FFFFFF;
- color: black;
-}
-
-.menuBg span.mI {
- color: #AAAAAA;
- background-color: transparent;
-}
-
-.click {
- cursor:pointer
-}
-
-.menuBg a {
- color: #0066FF;
- text-decoration: none;
- background-color: transparent;
-}
-
-.menuBg a:visited {
- color: #0066FF;
- text-decoration: none;
- background-color: transparent;
-}
-
-#page {
- width:100%;
- height:100%;
-}
+#lenya-menus { position: absolute; top: 0; left: 0; z-index: 2; width: 100%; height: 57px; background: url(<context-prefix/>/lenya/menu/images/menu-background.gif) 0 0 repeat-x; }
+
+#lenya-logo { position: absolute; z-index: 3; width: 90px; height: 25px; top: 31px; left: 100%; margin-left: -90px; }
+
+#lenya-cmsbody { position: absolute; width: 100%; top: 57px; left: 0px; z-index: 1; }
+
+#lenya-areas { float: left; height: 25px; margin: 5px 0 0 10px; }
+
+#lenya-info { float: right; height: 20px; margin: 9px 10px 0 0; font-size: 11px; font-family: Arial, "Lucida Grande", Verdana, Helvetica, sans-serif; line-height: 1; }
+
+#lenya-options { padding: 9px 0 0 27px; clear: both; height: 31px; font-size: 11px; font-family: Arial, "Lucida Grande", Verdana, Helvetica, sans-serif; line-height: 1; }
+
+#lenya-options ul { list-style: none; margin: 0; padding: 0; }
+
+#lenya-options ul li { float: left; width: 7em; }
+
+#lenya-options ul li#nav4 { width: 9em; }
+
+#lenya-options ul li, #lenya-options ul li a { display: block; color: #333; font-size: 12px; text-decoration: none; font-weight: bold; cursor: pointer; }
+
+#lenya-options ul li ul { position: absolute; display: block; width: 12em; top: 56px; border: 1px solid #c6c6c5; background: #f1f1f1; padding: 7px; visibility: hidden; }
+
+#lenya-options ul li ul#menu1 { left: 20px; }
+
+#lenya-options ul li ul#menu2 { left: 105px; }
+
+#lenya-options ul li ul#menu3 { left: 187px; }
+
+#lenya-options ul li ul#menu4 { left: 275px; }
+
+#lenya-options ul li ul#menu5 { left: 360px; }
+
+#lenya-options ul li ul#menu6 { left: 445px; }
+
+#lenya-options ul li ul li { width: 12em; }
+
+#lenya-options ul li ul li.lenya-menu-separator { border-bottom: 1px dotted #c6c5c5; margin: 4px 0; font-size: 1px; height: 2px; width: 95%; }
+
+#lenya-options ul li ul li { padding: 0 0 0 3px; }
+
+#lenya-options ul li ul li.disabled { font-size: 11px; font-weight: normal; color: #999; padding: 2px 0 2px 3px; cursor: default; }
+
+#lenya-options ul li.disabled { cursor: default; color: #999; }
+
+#lenya-options ul li ul li a { font-size: 11px; font-weight: normal; padding: 2px 0; }
+
+#lenya-options ul li ul li a:hover { background: #fff; }
+
+#lenya-areas ul { margin: 0; padding: 0; }
+
+#lenya-areas ul li { list-style: none; float: left; display: block; margin: 0 1px 0 0; }
+
+#lenya-areas ul li a { color: #454646; display: block; text-decoration: none; text-align: center; padding: 9px 9px 0 9px; height: 16px !important; height /**/: 25px; display: inline-block; }
+
+#lenya-areas ul li a span { font: bold 10px/1.0 Arial, Verdana, sans-serif; text-transform: uppercase; }
+
+#lenya-areas ul li#area-admin-active a { color: #3975b3; background: url(<context-prefix/>/lenya/menu/images/active.gif) 0 0 repeat-x; }
+
+#lenya-areas ul li#area-admin a { background: url(<context-prefix/>/lenya/menu/images/inactive.gif) 0 0 repeat-x; }
+
+#lenya-areas ul li#area-info-authoring a { background: url(<context-prefix/>/lenya/menu/images/inactive.gif) 0 0 repeat-x; }
+
+#lenya-areas ul li#area-info-authoring-active a { color: #3975b3; background: url(<context-prefix/>/lenya/menu/images/active.gif) 0 0 repeat-x; }
+
+#lenya-areas ul li#area-authoring a { background: url(<context-prefix/>/lenya/menu/images/inactive.gif) 0 0 repeat-x; }
+
+#lenya-areas ul li#area-authoring-active a { color: #3975b3; background: url(<context-prefix/>/lenya/menu/images/active.gif) 0 0 repeat-x; }
+
+#lenya-areas ul li#area-live-active a { color: #3975b3; background: url(<context-prefix/>/lenya/menu/images/active.gif) 0 0 repeat-x; }
+
+#lenya-areas ul li#area-live a { background: url(<context-prefix/>/lenya/menu/images/inactive.gif) 0 0 repeat-x; }
+
+#lenya-areas ul li#area-staging-active a { color: #3975b3; background: url(<context-prefix/>/lenya/menu/images/active.gif) 0 0 repeat-x; }
+
+#lenya-areas ul li#area-staging a { background: url(<context-prefix/>/lenya/menu/images/inactive.gif) 0 0 repeat-x; }
+
+#lenya-areas ul li#area-admin a:hover, #lenya-areas ul li#area-info-authoring a:hover, #lenya-areas ul li#area-authoring a:hover, #lenya-areas ul li#area-staging a:hover, #lenya-areas ul li#area-live a:hover { background-position: 0 -25px; }
+
+#lenya-info ul { margin: 0; padding: 0; }
+
+#lenya-info ul li { list-style: none; display: block; float: left; font-size: 11px; color: #fff; padding: 0 5px; border-right: 1px solid #fff; }
+
+#lenya-info ul li#info-time { border: 0; }
+
+#page { width: 100%; height: 100%; }
</css>
Added: lenya/trunk/src/webapp/lenya/resources/menu/images/active.gif
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/webapp/lenya/resources/menu/images/active.gif?view=auto&rev=149185
==============================================================================
Binary file - no diff available.
Propchange: lenya/trunk/src/webapp/lenya/resources/menu/images/active.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: lenya/trunk/src/webapp/lenya/resources/menu/images/inactive.gif
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/webapp/lenya/resources/menu/images/inactive.gif?view=auto&rev=149185
==============================================================================
Binary file - no diff available.
Propchange: lenya/trunk/src/webapp/lenya/resources/menu/images/inactive.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: lenya/trunk/src/webapp/lenya/resources/menu/images/lenya-logo.gif
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/webapp/lenya/resources/menu/images/lenya-logo.gif?view=auto&rev=149185
==============================================================================
Binary file - no diff available.
Propchange: lenya/trunk/src/webapp/lenya/resources/menu/images/lenya-logo.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: lenya/trunk/src/webapp/lenya/resources/menu/images/menu-background.gif
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/webapp/lenya/resources/menu/images/menu-background.gif?view=auto&rev=149185
==============================================================================
Binary file - no diff available.
Propchange: lenya/trunk/src/webapp/lenya/resources/menu/images/menu-background.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Modified: lenya/trunk/src/webapp/lenya/resources/menu/menu.js
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/webapp/lenya/resources/menu/menu.js?view=diff&r1=149184&r2=149185
==============================================================================
Binary files - no diff available.
Modified: lenya/trunk/src/webapp/lenya/xslt/menu/menu2xhtml.xsl
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/webapp/lenya/xslt/menu/menu2xhtml.xsl?view=diff&r1=149184&r2=149185
==============================================================================
--- lenya/trunk/src/webapp/lenya/xslt/menu/menu2xhtml.xsl (original)
+++ lenya/trunk/src/webapp/lenya/xslt/menu/menu2xhtml.xsl Sun Jan 30 15:39:12 2005
@@ -40,27 +40,17 @@
<xsl:template match="menu:menu">
- <div id="lenya-menubar">
-
- <table width="100%" border="0" cellspacing="0" cellpadding="0" class="lenya-menubar-menu">
- <tr>
- <td style="background-image: url('{$image-prefix}/frame-bg_oben.gif'); width: 13px; height: 4px;">
- <img src="{$image-prefix}/frame-bg_oben.gif" width="13" height="4" alt=""/></td>
- <td style="background-image: url('{$image-prefix}/frame-bg_oben.gif'); height: 4px;">
- <img src="{$image-prefix}/frame-bg_oben.gif" height="4" alt=""/></td>
- <td style="background-image: url('{$image-prefix}/frame-bg_oben.gif'); width: 70%; height: 4px;">
- <img src="{$image-prefix}/frame-bg_oben.gif" height="4" alt=""/></td>
- <td style="background-image: url('{$image-prefix}/frame-bg_oben.gif'); width: 101px; height: 4px;">
- <img src="{$image-prefix}/frame-bg_oben.gif" width="101" height="4" alt=""/></td>
- </tr>
-
- <tr>
- <td class="lenya-menubar-td-left" rowspan="2" valign="bottom" align="right"
- style="background-image: url('{$contextprefix}/lenya/menu/images/grau-bg.gif')">
- <img src="{$image-prefix}/blau_anfang_oben.gif" alt=""/>
- </td>
- <td style="background-image: url('{$image-prefix}/grau-bg2.gif'); white-space: nowrap;">
+ <!-- Lenya graphic -->
+ <div id="lenya-logo">
+ <img src="{$image-prefix}/lenya-logo.gif" alt="Lenya" />
+ </div>
+ <div id="lenya-menus">
+
+ <!-- The main tabs for the different areas of Lenya -->
+ <div id="lenya-areas">
+ <ul>
+
<!-- ADMIN TAB -->
<xsl:if test="not(menu:tabs/menu:tab[@label = 'admin']/@show = 'false')">
<xsl:call-template name="area-tab">
@@ -68,7 +58,6 @@
</xsl:call-template>
</xsl:if>
-
<!-- INFO/SITE TAB -->
<xsl:variable name="info-area">
<xsl:text>info-</xsl:text>
@@ -101,58 +90,40 @@
<xsl:if test="not(menu:tabs/menu:tab[@label = 'live']/@show = 'false')">
<xsl:call-template name="area-tab">
<xsl:with-param name="tab-area">live</xsl:with-param>
- <xsl:with-param name="target">external</xsl:with-param>
+ <xsl:with-param name="target">_blank</xsl:with-param>
</xsl:call-template>
</xsl:if>
- </td>
-
- <td class="lenya-menubar-td-infoline" valign="bottom" align="right" colspan="2"
- style="background-image: url('{$image-prefix}/grau-bg2.gif')">
- <div class="lenya-menubar-infoline">
-
- <xsl:if test="$workflowstate != ''">
- <xsl:call-template name="workflow"/>
- </xsl:if>
-  <i18n:text>User</i18n:text>: <strong><xsl:value-of select="$userid"/></strong>  |  <i18n:text>Server Time</i18n:text>: <strong><xsl:value-of select="$servertime"/></strong>
- </div>
-
- <div style="margin-top: 5px;"><img style="border: 0px;" src="{$image-prefix}/lenya_oben_2.gif" alt=""/></div>
- </td>
- </tr>
-
- <tr>
- <td colspan="2" style="background-image: url('{$image-prefix}/unten.gif')"><img style="border: 0px"
- src="{$image-prefix}/unten.gif" alt=""/></td>
- <td valign="top" rowspan="2"
- style="background-image: url('{$image-prefix}/grau-bg.gif')"><img style="border: 0px"
- src="{$image-prefix}/lenya_unten.gif" alt=""/></td>
- </tr>
-
- <tr valign="top">
- <td valign="top" colspan="3">
- <div id="navTop">
- <div id="navTopBG">
- <div style="height: 100%; padding: 3px 0px;">
- <div style="float:left; width:12px; border-right: solid 1px #999999;"> </div>
- <xsl:apply-templates select="menu:menus/menu:menu" mode="nav"/> 
- </div>
- </div>
- </div>
- </td>
- </tr>
- </table>
-
- <xsl:apply-templates select="menu:menus/menu:menu" mode="menu"/>
- </div>
-
+ </ul>
+ </div>
+
+ <!-- General information about the state of the page, etc. -->
+ <div id="lenya-info">
+ <ul>
+ <xsl:if test="$workflowstate != ''">
+ <xsl:call-template name="workflow"/>
+ </xsl:if>
+ <li id="info-user"><i18n:text>User</i18n:text>: <span id="logged-user"><xsl:value-of select="$userid"/></span></li>
+ <li id="info-time"><i18n:text>Server Time</i18n:text>: <span id="server-time"><xsl:value-of select="$servertime"/></span></li>
+ </ul>
+ </div>
+
+ <!-- drop down menus for area options -->
+ <div id="lenya-options">
+ <ul>
+ <xsl:apply-templates select="menu:menus/menu:menu" mode="nav"/>
+ </ul>
+ </div>
+
+ </div>
+
</xsl:template>
<xsl:template name="area-tab">
<xsl:param name="tab-area"/>
<xsl:param name="tab-area-prefix" select="$tab-area"/>
- <xsl:param name="target" select="'internal'"/>
+ <xsl:param name="target" select="'_self'"/>
<xsl:variable name="tab-documenturl">
<xsl:choose>
@@ -162,100 +133,98 @@
<xsl:otherwise><xsl:value-of select="$documenturl"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>
-
- <a id="{$tab-area-prefix}-tab"
- href="{$contextprefix}/{$publicationid}/{$tab-area}{normalize-space($tab-documenturl)}"
- rel="{$target}">
- <!--
- target="{$target}"
- -->
+
+ <xsl:variable name="tab-name">
<xsl:choose>
- <xsl:when test="starts-with($completearea, $tab-area-prefix)">
- <img style="border: 0px" src="{$image-prefix}/{$tab-area-prefix}_active.gif" alt="active {$tab-area-prefix} tab"/>
- </xsl:when>
+ <xsl:when test="starts-with($tab-area, 'info')">Site</xsl:when>
<xsl:otherwise>
- <img style="border: 0px" src="{$image-prefix}/{$tab-area-prefix}_inactive.gif" alt="inactive {$tab-area-prefix} tab"/>
+ <xsl:value-of select="$tab-area"/>
</xsl:otherwise>
</xsl:choose>
- </a>
+ </xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="starts-with($completearea, $tab-area-prefix)">
+ <li id="area-{$tab-area}-active"><a href="{$contextprefix}/{$publicationid}/{$tab-area}{normalize-space($tab-documenturl)}" target="{$target}"><span><i18n:text><xsl:value-of select="$tab-name"/></i18n:text></span></a></li>
+ </xsl:when>
+ <xsl:otherwise>
+ <li id="area-{$tab-area}"><a href="{$contextprefix}/{$publicationid}/{$tab-area}{normalize-space($tab-documenturl)}" target="{$target}"><span><i18n:text><xsl:value-of select="$tab-name"/></i18n:text></span></a></li>
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:template>
<xsl:template name="workflow">
- <i18n:text>Workflow State</i18n:text>: <b class="lenya-menubar-highlight"><i18n:text><xsl:value-of select="$workflowstate"/></i18n:text></b>
- <xsl:text>  |  </xsl:text>
- <xsl:if test="$islive = 'false'"><i18n:text>not</i18n:text> </xsl:if>
- <i18n:text>live</i18n:text><xsl:text>  |</xsl:text>
+ <li id="info-state"><i18n:text>Workflow State</i18n:text>: <span id="workflow-state"><i18n:text><xsl:value-of select="$workflowstate"/></i18n:text></span></li>
+ <li id="info-live">
+ <xsl:choose>
+ <xsl:when test="$islive = 'false'">
+ <i18n:text>not live</i18n:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <i18n:text>live</i18n:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </li>
</xsl:template>
-
<xsl:template match="menu:menu" mode="nav">
- <div id="nav{@label}" class="click" style="float:left; width: 100px; border-right: 1px solid #999999;">
-   <xsl:value-of select="@name"/>
- </div>
+ <li id="nav{position()}"><xsl:value-of select="@name"/>
+ <ul id="menu{position()}">
+ <xsl:apply-templates select="menu:block[not(@info = 'false') and starts-with($completearea, 'info') or not(@*[local-name() = $completearea] = 'false') and not(starts-with($completearea, 'info'))]"/>
+ </ul>
+ </li>
</xsl:template>
-
+
<xsl:template match="menu:menu[not(*)]" mode="nav">
- <div id="nav{@label}" class="click" style="float:left; width: 100px; border-right: 1px solid #999999;">
-   <span class="lenya-menubar-menu-disabled"><xsl:value-of select="@name"/></span>
- </div>
+ <li id="nav{position()}" class="disabled">
+ <xsl:value-of select="@name"/>
+ </li>
</xsl:template>
-
-
- <xsl:template match="menu:menu" mode="menu">
- <div id="menu{@label}" class="menuOutline">
- <div class="menuBg" style="">
- <xsl:apply-templates select="menu:block[not(@info = 'false') and starts-with($completearea, 'info') or not(@*[local-name() = $completearea] = 'false') and not(starts-with($completearea, 'info'))]" mode="submenu"/>
- </div>
- </div>
- </xsl:template>
-
-
+
<!-- match blocks with not area='false' -->
- <xsl:template match="menu:block" mode="submenu">
+ <xsl:template match="menu:block">
<xsl:apply-templates select="menu:title"/>
-
- <!-- * is menu:item and menu:menu -->
- <xsl:apply-templates select="*[not(@info = 'false') and starts-with($completearea, 'info') or not(@*[local-name() = $completearea] = 'false') and not(starts-with($completearea, 'info'))]" mode="submenu"/>
+ <xsl:apply-templates select="menu:item[not(@info = 'false') and starts-with($completearea, 'info') or not(@*[local-name() = $completearea] = 'false') and not(starts-with($completearea, 'info'))]"/>
<xsl:if test="position() != last()">
- <div class="lenya-menubar-separator">
- <img src="{$image-prefix}/pixel.gif" height="1" alt="" />
- </div>
+ <li class="lenya-menu-separator"></li>
</xsl:if>
</xsl:template>
- <xsl:template match="menu:menu" mode="submenu">
- <span class="mI"><strong><xsl:value-of select="@name"/></strong></span>
- <xsl:apply-templates mode="submenu"/>
- </xsl:template>
<xsl:template match="menu:title">
- <span class="mI"><strong><xsl:apply-templates/></strong></span>
+ <xsl:apply-templates/>
</xsl:template>
<!-- match items with not area='false' -->
- <xsl:template match="menu:item" mode="submenu">
- <xsl:choose>
- <xsl:when test="@href">
- <a class="mI">
- <xsl:attribute name="href">
- <xsl:value-of select="@href"/>
- <xsl:apply-templates select="@*[local-name() != 'href']"/>
- <xsl:text/>
- <xsl:if test="starts-with($completearea, 'info-')">
- <xsl:choose>
- <xsl:when test="contains(@href, '?')"><xsl:text>&</xsl:text></xsl:when>
- <xsl:otherwise><xsl:text>?</xsl:text></xsl:otherwise>
- </xsl:choose>
- <xsl:text>lenya.area=info</xsl:text>
- </xsl:if>
- </xsl:attribute><xsl:value-of select="."/></a>
- </xsl:when>
- <xsl:otherwise>
- <span class="mI"><xsl:value-of select="."/></span>
- </xsl:otherwise>
- </xsl:choose>
+ <xsl:template match="menu:item">
+ <xsl:choose>
+ <xsl:when test="@href">
+ <li><a>
+ <xsl:attribute name="href">
+ <xsl:value-of select="@href"/>
+ <xsl:apply-templates select="@*[local-name() != 'href']"/>
+ <xsl:text/>
+ <xsl:if test="starts-with($completearea, 'info-')">
+ <xsl:choose>
+ <xsl:when test="contains(@href, '?')">
+ <xsl:text>&</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>?</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:text>lenya.area=info</xsl:text>
+ </xsl:if>
+ </xsl:attribute>
+ <span><xsl:value-of select="."/></span>
+ </a></li>
+ </xsl:when>
+ <xsl:otherwise>
+ <li class="disabled"><xsl:value-of select="."/></li>
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:template>
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org