【发布时间】:2014-09-07 08:32:05
【问题描述】:
我正在尝试制作一个可以在使用 XSLT 的网站上的所有页面上使用的菜单。
我有一个 XSL:
<xsl:template match="header/menu">
<div class="header__menu">
<xsl:apply-templates select="item"/>
</div>
</xsl:template>
<xsl:template match="menu/item">
<div class="header__menu-item">
<a class="link">
<xsl:attribute name="href">
<xsl:value-of select="../item/@url"/>
</xsl:attribute>
<xsl:value-of select="."/>
</a>
</div>
</xsl:template>
XML:
<header>
<menu>
<item url="#">Work</item>
<item url="#">About</item>
<item url="#">Blog</item>
</menu>
</header>
我想根据页面更改菜单项的 CSS 类(页面打开且没有链接时的活动类)。
我曾想过尝试 xsl:choose 构造并检查页面 URL,但不知道该怎么做。
有什么建议吗?提前致谢。
【问题讨论】:
-
XSLT 本身不会知道页面 URL,所以您必须将当前 URL 作为参数传递?您目前如何调用 XSLT 来执行转换? (例如,在 PHP、ASP.Net、JavaScript 等中?)。
-
我目前使用 php。我在目录中有一个 index.php 文件,它调用一个 xsl(导入 header.xsl 和其他)和一个页面的 xml。