You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

XSLT条件判断始终进入otherwise分支问题求助

问题根源
  • 字符串匹配语法错误:测试条件中YES未加引号,在XPath语法里,未被引号包裹的内容会被识别为节点名而非字符串常量,因此$abcd=YES实际是判断变量$abcd的值是否等于名为YES的节点的值,而非和字符串"YES"匹配,所以条件永远不成立,默认输出N。
  • 潜在的节点选择路径错误:变量定义时的select="abcd"是相对路径,只有当当前处理的上下文节点是<root>时才能正确选中目标节点,若上下文不符,$abcd会是空值,也会导致判断失败。
修正方案

直接调整条件的字符串写法,也可以把节点选择改为绝对路径避免上下文影响,修正后代码如下:

<!-- 用绝对路径选中abcd节点,不受当前上下文影响 -->
<xsl:variable name="abcd" select="/root/abcd" />
<xsl:choose>
    <xsl:when test="$abcd='YES'">R</xsl:when>
    <xsl:otherwise>N</xsl:otherwise>
</xsl:choose>

修正后执行即可得到预期输出R。

内容的提问来源于stack exchange,提问作者prime

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 05:24:08