如何测试我的条件是否为此:
<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'
语法正确
或者
是一个标准XPath运算符,可以用于组合两个子表达式
[33] OperatorName ::= 'and' | 'or' | '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>
<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>