私の状態がこれであるかどうかをテストする方法。
<xsl:if test="node = '1' or node='2'">
<input name="list_{@id}" value="{@id}" type="checkbox"/>
</xsl:if>
IFステートメントはOR条件を許可されていますか?ご意見をお聞かせください..
IFステートメントはOR条件を許可されていますか?
いいえ。ただし、XPathにはor
演算子があります。XPathでは大文字と小文字が区別される言語であることに注意してください。
提供されたコードのXPath式:
node = '1' or node='2'
構文的に正しいです。
or
は標準のXPath演算子であり、2つの部分式を組み合わせるために使用できます。
[33] OperatorName ::='および'| 'または'| 'mod' | 'div'
完全なXSLT変換の例を次に示します。
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="num[ . = 3 or . = 5]"/>
</xsl:stylesheet>
この変換が次のXMLドキュメントに適用される場合:
<nums>
<num>01</num>
<num>02</num>
<num>03</num>
<num>04</num>
<num>05</num>
<num>06</num>
<num>07</num>
<num>08</num>
<num>09</num>
<num>10</num>
</nums>
必要な正しい結果が生成されます(とを除くすべての要素がコピーされ<num>03</num>
ます<num>05</num>
:
<nums>
<num>01</num>
<num>02</num>
<num>04</num>
<num>06</num>
<num>07</num>
<num>08</num>
<num>09</num>
<num>10</num>
</nums>
例で使用したのと同じように使用できます。XSLTでサポートされている演算子は次のとおりです。