我正在尝试创建一个XSL条件来检查节点组合是否为空。我已经尝试了下面的条件,但它们并不起作用,有人知道如何让它工作吗?
<xsl:if test=" node/ABC!='' and node/DEF='' and node/GHI='' ">
This does not work
</xsl:if>
我也尝试过
<xsl:when test="((node/ABC!='') and (node/DEF='') and (node/GHI=''))">
This does not work either..
</xsl:when>
并且也尝试了
<xsl:if test="(node/ABC!='')>
<xsl:if test="(node/DEF='')>
<xsl:if test="(node/GHI='')">
Nope not working..
</xsl:if>
</xsl:if>
</xsl:if>
我尝试使用单个xsl:if条件,以下是观察结果
<xsl:if test="node/ABC!=''>
**This is working fine**
</xsl:if>
然而,如果我尝试搜索空条件,即
<xsl:if test="node/ABC=''>
**This does not work**
</xsl:if>
此外,如果我尝试使用“==”(双等于号),那么它会产生XSLT错误。即
<xsl:if test="node/ABC==''>
***This gives a compilation error***
</xsl:if>
我希望能够获得帮助,以弄清如何使我的xsl:if测试能够检查多个条件。
[编辑]:在此更新,如果所有节点都不为空的情况下if条件是起作用的,但当我尝试检查其他任何一个空节点时,它就不起作用了。
例如:
<xsl:if test=" node/ABC!='' and node/DEF!='' and node/GHI!='' ">
This condition works perfectly fine.
</xsl:if>