私は単にこれをどこにも見つけることができません。「cat」のIDを持つdivにも「true」と呼ばれるクラスが割り当てられている場合、「YES」という単語を表示するためにxsltにifステートメントを書くにはどうすればよいですか?
1 に答える
1
問題の div が現在のノードであり、その ID が 'cat' であるかクラス属性であるかがわからない場合は、次のように記述できます。
<xsl:if test=".[@id='cat' and contains(@class,'true')]">
YES
</xsl:if>
on に一致するテンプレートをdiv[@id='cat']
使用している場合は、より単純な test を使用できますtest="contains(@class,'true')"
。(そして逆に。)
作成したばかりのテストは div で成功することに注意してください。それclass="untrue"
が状況の問題である場合、解決策は少し面倒になります。
XSLT 1.0 では、最も簡単な方法は次のように書くことです。
<xsl:if test=".[@id='cat'
and
contains(concat(' ', @class, ' '),' true ')]">
YES
</xsl:if>
XSLT 2.0 では、次のように記述します。
<xsl:if test=".[@id='cat'
and
tokenize(@class, '\s') = 'true')]">
YES
</xsl:if>
于 2013-08-15T16:22:08.160 に答える