我有这件XSLT
<xsl:template match="/">
<xsl:variable name="boxes" select="$currentPage/boxes/descendant::nodeId [text() != '']" />
<xsl:if test="count($boxes) > 0">
<div id="boxContainer">
<ul class="noList" id="frontBoxes">
<xsl:for-each select="$boxes">
<xsl:variable name="node" select="umbraco.library:GetXmlNodeById(.)" />
<xsl:variable name="imageNodes" select="umbraco.library:Split($node/descendant::boxImage, ',')" />
<xsl:for-each select="$imageNodes/descendant::value">
<xsl:variable name="image" select="umbraco.library:GetMedia(.,0)" />
<li>
<a class="boxLink">
<xsl:attribute name="href">
<xsl:value-of select="umbraco.library:NiceUrl($node/descendant::boxLink)" />
</xsl:attribute>
<xsl:value-of select="$node/@nodeName" />
</a>
<img src="{Eksponent.CropUp:Url($image/umbracoFile, 'frontBoxes')}" width="{$image/umbracoWidth}" height="{$image/umbracoHeight}" alt="" />
<xsl:value-of select="$node/descendant::bodyText" />
</li>
</xsl:for-each>
</xsl:for-each>
</ul>
</div>
</xsl:if>
</xsl:template>
如果包含带有图像,文本和链接的首页框的最大值和最小值。
如何获取最后一项,以便我可以在最后class="last"
<li>
我已尝试使用<xsl:if test="position()">
在最后一个for-each中但是这不能按预期工作。
答案 0 :(得分:2)
使用
<xsl:choose>
<xsl:when test="position()=last()">
<!-- set class="list" -->
</xsl:when>
<xsl:otherwise>
<!-- without class="list" -->
</xsl:otherwise>
</xsl:choose>