2012-03-06 8 views
1

例のxml:兄弟タグに特定の属性値があるかどうかをテストするにはどうすればよいですか?

<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要素の中にコメントを変換する必要がありますが、最後のコメントの後に、私は余分な テキストを追加するには、「停止します」私は停止を示して前に。

私はコメントタグのためではなく、それだけではなく、最後の1のために、すべてのコメントタグをtrueに評価され、何らかの理由でこのXSLを試してみました:

<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の何が問題になっている:テストか?ステートメントが最後のコメント要素に対してのみtrueと評価されるように、どうすれば修正できますか?

答えて

3

弟もあなたの長男場合はまだ若いし、彼はこのお試し3の最年少だ分の1の兄弟がANY以下の兄弟だけではなく、即時に参照することができ、次のとおりです。どの選択

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

を最初の兄弟姉妹に。

+0

驚くばかりです。出来た! –

関連する問題