在 XQuery 中,

("foo", "bar") = ("foo", "bar")

产生值 true 。这似乎很明显。但我注意到
("foo", "bar") != ("foo", "bar")

产生 true ,我发现这相当令人惊讶。我知道我可以用 = 否定 not($x = $y) 并且我注意到 = 有某种集合交集语义,但是谁能解释 != 的语义,和/或提供引用?

最佳答案

这可以在“3.5.2 一般比较”部分下的 documentation for XQuery 中找到。



阅读推理,它对我来说就像 rules of Atomization 应该归咎于此。如果元素是 untypedAtomic,那么解析器可以自由地“猜测”应该如何进行比较,这允许基于元素本身而不是任何运算符行为的操作差异。

关于operators - = 和 != 的语义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9196310/

10-13 07:37