您能告诉我如何使用call-template
在xslt中添加活动类吗?
这是我的代码
http://xsltransform.net/jxDigTt/1
预期输出:在A
中添加了有效课程,因为我通过了' A'作为选定项目
<ul>
<li class="active">A</li>
<li>B</li>
</ul>
预期输出:B
中添加了有效课程,因为我通过了&#39; B&#39;作为选定项目
<ul>
<li >A</li>
<li class="active">B</li>
</ul>
完整代码
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" doctype-public="XSLT-compat" omit-xml-declaration="yes" encoding="UTF-8" indent="yes" />
<xsl:template match="/">
<hmtl>
<head>
<title>New Version!</title>
<style>
.active {
color:red
}
</style>
</head>
<xsl:call-template name="submenu_navigation">
<xsl:with-param name="selectedItem" select="'A'"/>
</xsl:call-template>
</hmtl>
</xsl:template>
<xsl:template name="submenu_navigation">
<xsl:param name="selectedItem"/>
<xsl:value-of select='$selectedItem'/>
<ul>
<li>A</li>
<li>B</li>
</ul>
</xsl:template>
</xsl:transform>
答案 0 :(得分:1)
您可以像这样调整submenu_navigation
模板:
<xsl:template name="submenu_navigation">
<xsl:param name="selectedItem"/>
<xsl:value-of select='$selectedItem'/>
<ul>
<li><xsl:if test="$selectedItem = 'A'">
<xsl:attribute name="class">active</xsl:attribute></xsl:if>A</li>
<li><xsl:if test="$selectedItem = 'B'">
<xsl:attribute name="class">active</xsl:attribute></xsl:if>B</li>
</ul>
</xsl:template>
<xsl:if>
创建属性条件。