XSLT 总是转到 else 条件

Posted

技术标签:

【中文标题】XSLT 总是转到 else 条件【英文标题】:XSLT always go to else condition 【发布时间】:2021-12-14 08:58:23 【问题描述】:

我有以下请求作为输入消息。

<?xml version="1.0" encoding="UTF-8"?>
<root>
   <abcd>YES</abcd>
   <zzzzz>Test1</zzzzz>
</root>

我想得到这样的输出。如果,abcd 等于 YES,输出应该是 R。如果 abcd 等于 NO,输出应该是 N。

为此,我在 xslt 中使用了以下条件。

<xsl:variable name="abcd" select="abcd" />
<xsl:choose>
        <xsl:when test = "$abcd=YES">R</xsl:when>
   <xsl:otherwise>N</xsl:otherwise>
</xsl:choose>

但是当我执行这个时,我得到了 N。但是例外的值是 R。

我的 XSLT 块中是否缺少某些内容?

【问题讨论】:

【参考方案1】:

引用字符串文字:$abcd='YES'

【讨论】:

另外,检查代码的上下文项是root 元素。当一个 OP 没有告诉我们他们代码的上下文项是什么时,我经常怀疑他们没有理解为什么上下文如此重要。

以上是关于XSLT 总是转到 else 条件的主要内容,如果未能解决你的问题,请参考以下文章

“如果”条件永远不会转到 android 中的 Else

IF ... ELSE条件总是返回ELSE条件

在xslt中不执行多个条件

JavaScript if...Else 语句

Camel,使用字段条件拆分带头的大型XML文件

XSLT:根据条件设置多个变量