xml – XSL如果:具有多个测试条件的测试

[解决了]

感谢@IanRoberts,我不得不在我的节点上使用normalize-space函数来检查它们是否为空。

<xsl:if test="((node/ABC!='') and (normalize-space(node/DEF)='') and (normalize-space(node/GHI)=''))">
  This worked perfectly fine.
</xsl:if>

[问题]

我正在尝试创建一个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:如果条件,以下是观察

<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条件可以工作,当我尝试检查空的三个节点中的任何其他节点时,它不起作用。

例如:

<xsl:if test=" node/ABC!='' and node/DEF!='' and node/GHI!='' ">
This condition works perfectly fine.
</xsl:if>
感谢@IanRoberts,我不得不在我的节点上使用normalize-space函数来检查它们是否为空。
<xsl:if test="((node/ABC!='') and (normalize-space(node/DEF)='') and (normalize-space(node/GHI)=''))">
  This worked perfectly fine.
</xsl:if>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类
XML入门的常见问题(二)
Java对象的强、软、弱和虚引用
JS解析XML文件和XML字符串详解
java中枚举的详细使用介绍
了解Xml格式
XML入门的常见问题(四)
深入SQLite多线程的使用总结详解
PlayFramework完整实现一个APP(一)
XML和YAML的使用方法
XML轻松学习总节篇