「ビデオ」のクラスが body タグに表示されるかどうかに応じて、xslt にいくつかの html を表示したいと思います。これは可能ですか?多くの理由で、私は Javascript を使用できません。
質問する
1004 次
2 に答える
4
XSLT では、ほぼ完全に明示的な条件付き命令を回避できます。
<xsl:template match=
"/html/body[contains(concat(' ', @class, ' '),' video ')]">
<!-- Wanted processing here -->
</xsl:template>
もちろん、実行のために選択されるためには、このテンプレートは、対応する の select 属性で指定されたノードセットのノードと一致する必要があります<xsl:apply-templates>
-- 明示的に、または XSLT デフォルト処理の一部として (組み込みのXSLT テンプレートで)。
于 2012-10-10T12:10:52.657 に答える
2
<xsl:if test="contains(/html/body/@class, 'video')">
</xsl:if>
もちろん、これはmy-video
他のクラスでも true と評価されます。このような衝突が発生する可能性がある場合は、使用を検討してください。
<xsl:if test="/html/body/@class = 'video' or
contains(/html/body/@class, ' video ' or
starts-with(/html/body/@class, 'video ' or
ends-with(/html/body/@class, ' video')">
</xsl:if>
matches()
XSLT 2.0 を使用している場合は、関数も使用できます。
于 2012-10-09T20:00:35.343 に答える