首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TIBCO BusinessWorks XPath联合算子

TIBCO BusinessWorks XPath联合算子
EN

Stack Overflow用户
提问于 2013-02-28 16:24:40
回答 2查看 1.6K关注 0票数 0

我不完全理解我在使用XPath联合运算符时所看到的行为。

具有以下XML

代码语言:javascript
复制
<root>
    <foo>hello</foo>
    <bar>world</bar>
</root>

对于不同的XPath表达式,我们得到了这些结果

  • (/root/foo | /root/bar)[1] -> hello
  • (/root/foo | /root/bar)[last()] ->世界
  • (substring(/root/foo, 2, 4) | /root/bar)[1] -> ello
  • (substring(/root/foo, 2, 4) | /root/bar)[last()] ->世界

到目前为止,它们都是直观的结果,但是..。

  • (/root/foo | substring(/root/bar, 2, 4))[1] -> (期望你好)
  • (/root/foo | substring(/root/bar, 2, 4))[last()] -> hello (预期)

是否有理由提出结果?这些是否符合XPath 2.0规范?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-07 12:49:42

TIBCO BusinessWorks只兼容XPath 1.0。有些XPath 2.0函数是受支持的。(资料来源: FAQ1-7BXZE5 on http://support.tibco.com)

来回答你的两个问题:

  • “是否有理由提出结果?”

是。XPath 1.0的联合结果是不可预测的。一个很好的规则是:在BusinessWorks中不应该依赖Union order,即使在简单的情况下也是如此。

  • “这些是否符合XPath 2.0规范?”

结果不符合XPath 2.0规范,但您的查询使用XPath 1.0引擎进行评估。

票数 3
EN

Stack Overflow用户

发布于 2013-02-28 16:46:22

不,最后两个结果不符合规范。如果联合运算符的操作数是字符串而不是节点,则是类型错误,这在最后两个示例中是这样的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15140537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档