2014-01-30 60 views
0

得到最後一個項目我有這片XSLT的在XSLT

<xsl:template match="/"> 

    <xsl:variable name="boxes" select="$currentPage/boxes/descendant::nodeId [text() != '']" /> 

    <xsl:if test="count($boxes) &gt; 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> 

如果通過最大值和最小值與圖像,文本和鏈接頭版箱運行。

我怎樣才能得到最後一個項目,這樣我可以在最後<li>

輸出class="last"我試圖與<xsl:if test="position()">最後的for-each如預期,但不起作用裏面。

回答

2

使用

<xsl:choose> 
    <xsl:when test="position()=last()"> 
     <!-- set class="list" --> 
    </xsl:when> 
    <xsl:otherwise> 
     <!-- without class="list" --> 
    </xsl:otherwise> 
</xsl:choose> 
+0

甜!工作順利!謝謝! –