gpt4 book ai didi

xslt - 如何在 XSLT 中检查变量是否为 Null 或为空?

转载 作者:行者123 更新时间:2023-12-04 17:31:38 24 4
gpt4 key购买 nike

我定义了以下变量:

<xsl:variable name="pica036E"
select="recordData/record/datafield[@tag='036E']" />
<xsl:variable name="pica036F"
select="recordData/record/datafield[@tag='036F']" />

现在我需要做一个条件,如果变量 pica036E 不为空并且 pica036F 为空,则显示以下消息,否则显示另一条消息。
那是我的代码,但我没有任何输出。 “空或空”的定义是否正确?
<xsl:choose>
<xsl:when test="$pica036E != '' and $pica036F = ''">
<xsl:message>
036F no 036E yes
</xsl:message>
</xsl:when>

<xsl:otherwise>
<xsl:message>
036E no 036F yes
</xsl:message>
</xsl:otherwise>
</xsl:choose>

最佳答案

在 XPath 中,X=Y 表示(如果 X 中的某对 x,Y 中的 y 满足 x = y),而 X != Y 表示(如果 X 中的某对 x,Y 中的 y 满足 x != y)。

这意味着如果 X 或 Y 是空序列,则 X=Y 和 X!=Y 都是假的。

例如,$pica036E != ''测试 $pica036E 中是否有值那不是零长度的字符串。如果 $pica036E 中没有值那么就没有满足这个条件的值。

因此,在 XPath 中使用 != 总是一种代码异味。通常,而不是 X != Y , 你应该写 not(X = Y) .

关于xslt - 如何在 XSLT 中检查变量是否为 Null 或为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42831076/

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