Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
TIBCO BusinessWorks XPath联合运算符_Xpath_Tibco_Businessworks - Fatal编程技术网

TIBCO BusinessWorks XPath联合运算符

TIBCO BusinessWorks XPath联合运算符,xpath,tibco,businessworks,Xpath,Tibco,Businessworks,我不完全理解在使用XPath联合运算符时看到的行为 具有以下XML <root> <foo>hello</foo> <bar>world</bar> </root> 你好 世界 对于不同的XPath表达式,我们得到了这些结果 (/root/foo |/root/bar)[1]->您好 (/root/foo |/root/bar)[last()]->world (子字符串(/root/foo,2,4)|

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

具有以下XML

<root>
    <foo>hello</foo>
    <bar>world</bar>
</root>

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

  • (/root/foo |/root/bar)[1]
    ->您好

  • (/root/foo |/root/bar)[last()]
    ->world

  • (子字符串(/root/foo,2,4)|/root/bar)[1]
    ->ello

  • (子字符串(/root/foo,2,4)|/root/bar)[last()]
    ->world

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

  • (/root/foo | substring(/root/bar,2,4))[1]
    ->orld(预期为hello)

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


提交结果有什么原因吗?这些结果是否符合XPath 2.0规范?

否,最后两个结果不符合规范。如果union运算符的操作数是字符串而不是节点,这是一个类型错误,在上两个示例中就是这种情况。

否,最后两个结果不符合规范。如果union运算符的操作数是字符串而不是节点,这是一个类型错误,在最后两个示例中就是这种情况。

TIBCO BusinessWorks仅符合XPath 1.0。支持一些XPath 2.0函数。 (来源:FAQ1-7BXZE5 on)

要回答您的两个问题:

  • “提交结果是否有原因?”
对。XPath 1.0联合结果不可预测。一条很好的规则是:在BusinessWorks中,即使是简单的案例,也不应该依赖工会秩序

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

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

TIBCO BusinessWorks仅符合XPath 1.0。支持一些XPath 2.0函数。 (来源:FAQ1-7BXZE5 on)

要回答您的两个问题:

  • “提交结果是否有原因?”
对。XPath 1.0联合结果不可预测。一条很好的规则是:在BusinessWorks中,即使是简单的案例,也不应该依赖工会秩序

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

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

我想您指的是最后四个(它们都有子字符串函数)。如果我理解的很好,问题是最后四个表达式不应该被允许。我想你是指最后四个(它们都有一个子串函数)。如果我理解得很好,问题是不允许使用最后四个表达式。如果它只是XPath 1.0兼容,那么这个问题适用:如果它只是XPath 1.0兼容,那么这个问题适用: