2010-01-11 77 views
0

HI,比第一個節點

其他XSL選擇的節點我想選擇比第一node.My XSL和XML等所有節點都是這樣的,但我沒有得到的輸出它。

<Categories> 
    <Category> 
    <Title>Business</Title> 
    </Category> 
    <Category> 
    <Title>Politics</Title> 
    </Category> 
</Categories> 

我XSL

<xsl:template match="Categories"> 
    <xsl:variable name="restallTitles"> 
     <xsl:value-of select="//*[position() &gt; 1]"/> 
    </xsl:variable> 
    <xsl:for-each select="Categories/Category"> 
     <xsl:if test="$restallTitles"> 
     <xsl:choose> 
      <xsl:when test="position() mod 2 = 1"> 
      <li class=""><xsl:value-of select="Title"/></li> 
      </xsl:when> 
      <xsl:otherwise> 
      <li class="odd"><xsl:value-of select="Title"/></li> 
      </xsl:otherwise> 
     </xsl:choose>    
     </xsl:if> 
    </xsl:for-each> 
</xsl:template> 

它不顯示任何輸出...任何人是有想法那裏即時得到錯誤::

編輯:: 餘米期待輸出 「政治」在這種情況下,但基本上我想所有,但「第一財經」

+0

你的'xsl:template'聲明是什麼? – 2010-01-11 13:17:57

+0

您期望輸出什麼? – 2010-01-11 13:22:25

+0

我已經編輯我的代碼 – TSSS22 2010-01-11 14:22:28

回答

1

如果你的意思是「所有<Category>小號除了第一個文件中」,然後嘗試:

<xsl:for-each select="(Categories/Category)[position() gt; 1]"> 
    <li> 
    <xsl:if test="position() mod 2 = 1"> 
     <xsl:attribute name="class">odd</xsl:attribute> 
    </xsl:if> 
    <a class="video video-lightbox ratio-16-9" href="{$url1}"> 
     <xsl:value-of select="Title"/> 
    </a> 
    </li> 
</xsl:for-each> 
+0

以上我想用自己的方式,但它仍然沒有顯示輸出 – TSSS22 2010-01-11 14:29:24

+0

你的問題是,你使用'的',並在它的'的'。 XPath是相對的,它必須是'的'因爲你在*'Categories'背景下*當它運行了。 – Tomalak 2010-01-11 14:37:16

+0

感謝我知道了......或者我應該使用 ..........它現在工作正常..........再次感謝.... – TSSS22 2010-01-11 14:46:46

相關問題