2012-03-06 51 views
1

示例XML:如何測試follow-sibling標籤是否具有特定的屬性值?

<body> 
<macroField dictTag="comment"></macroField> 
<macroField dictTag="comment"></macroField> 
<macroField dictTag="comment"></macroField> 
<macroField dictTag="comment"></macroField> 
<macroField dictTag="stopName">Old Wisconsin </macroField> 
<macroField dictTag="stopName">Another stop</macroField> 
<macroField dictTag="stopName">Another stop</macroField> 
</body> 

我需要改造的意見到div的,但是最後的評論我要添加額外的 文本之後「停:」之前我告訴停止。

我想這對於XSL註釋標籤,但由於某種原因,它的計算結果爲true,每個註釋標籤,而不僅僅是最後一個:

<xsl:template match="*[@dictTag = 'comment']"> 
    <div class="comment_line"> 
     <xsl:value-of select="."/> 
    </div> 
    <xsl:if test="following-sibling::macroField/@dictTag = 'stopName'"> 
     <p>STOPS</p> 
    </xsl:if> 
</xsl:template> 

什麼是錯我的xsl:if測試?我如何修改它,以便只有最後一個註釋元素的語句的計算結果爲true?

回答

3

繼兄弟姐妹可能是指下列任何兄弟姐妹,而不僅僅是眼前的單弟弟仍然年輕,即使你的長子,他是最年輕的3試試這個:

following-sibling::macroField[1]/@dictTag = 'stopName' 

它選擇在後面的第一個兄弟姐妹。

+0

太棒了。有效! – 2012-03-06 16:43:31

相關問題