gpt4 book ai didi

xml - XSL 如果 : test with multiple test conditions

转载 作者:数据小太阳 更新时间:2023-10-29 01:38:22 26 4
gpt4 key购买 nike

我正在尝试创建一个 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>

最佳答案

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

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

关于xml - XSL 如果 : test with multiple test conditions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21381055/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com