数据来自服务器,通常是两行,但有时甚至更多。所以我试着让列表动态变化。
<xsl:template match="Event">
<ul class="lines">
<xsl:apply-templates select="Line"/>
</ul>
</xsl:template>
<xsl:template match="Line">
<li class="something">
<a href="">
<span class="result"><xsl:value-of select="@result"/></span>
<span class="odds"><xsl:value-of select="@odds"/></span>
</a>
</li>
</xsl:template>
我必须计算“li”的数量,如果它超过2,我必须更改“li”的类
答案 0 :(得分:1)
这样的事情怎么样:
<xsl:template match="Event">
<ul class="lines">
<xsl:apply-templates select="Line"/>
</ul>
</xsl:template>
<xsl:template match="Line" name="Line">
<xsl:param name="classVal" select="'something'" />
<li class="{$classVal}">
<a href="">
<span class="result">
<xsl:value-of select="@result"/>
</span>
<span class="odds">
<xsl:value-of select="@odds"/>
</span>
</a>
</li>
</xsl:template>
<xsl:template match="Line[count(../Line) > 1]">
<xsl:call-template name="Line">
<xsl:with-param name="classVal" select="'somethingElse'" />
</xsl:call-template>
</xsl:template>
答案 1 :(得分:1)
在匹配Line
的模板中,您可以使用Line
函数(返回最后一个节点的索引号)访问此Event
中last()
个元素的总数在“当前节点列表”中由导致此模板触发的select
apply-templates
表达式确定的,在这种情况下是特定{{1}的Line
个子集的集合}})。
Event