我必须通过以下 -
检查应用于某个元素的模板中的最后一个元素<xsl:apply-templates select="child::*[@depth='2']" />
以下是要应用的模板 -
<xsl:template match="sm:AudioNode[@depth='2']">
<li>
<a>
<xsl:attribute name="title">
<xsl:value-of select="@title"/>
</xsl:attribute>
<xsl:attribute name="href">
<xsl:value-of select="@url"/>
</xsl:attribute>
<xsl:value-of select="@title"/>
</a>
</li>
</xsl:template>
现在,在此模板中,我想检查元素是否为最后一个,添加<xsl:attribute name="class"> last</xsl:attribute>
。
是否可以检查应用模板中的最后一个元素? 如果是,请分享代码。
注意: - 我在此模板中有一个很大的XSLT逻辑,所以不想复制它只是为了添加这个属性。
答案 0 :(得分:0)
在节点上调用模板时,根据您调用应用模板的节点列表设置上下文位置和大小。所以这应该做你所要求的:
<xsl:if test="position() = last()">
<xsl:attribute name="class">last</xsl:attribute>
</xsl:if>