gpt4 book ai didi

php - 如何将字符串与 Xpath 1.0 进行比较?

转载 作者:可可西里 更新时间:2023-11-01 13:10:24 25 4
gpt4 key购买 nike

我遇到了 < 的问题Xpath 1.0 中的字符串运算符。

这个简单的 Xpath 表达式

'A' < 'B' (or the equivalent 'A' &lt; 'B')

在我在 libxslt(它是一个 XSLT 1.0 引擎)中运行的 xslt 中没有评估为真。

我检查了 XML Spy,它允许在 1.0 和 2.0 中测试 Xpath 表达式,果然,在 Xpath 2.0 中它的计算结果为 true , 但在 Xpath 1.0 中它的计算结果为 false !

这是 Xpath 1.0 中的错误吗?

我应该使用什么其他表达式来比较两个字符串/字符的字母顺序?请注意,compare() 函数不会执行此操作,因为这是一个 XSLT 2.0 函数。

最佳答案

在 XPath 1.0 中,字符串比较仅针对 =!= 定义,不能进行顺序比较。规范说

When neither object to be compared is a node-set and the operator is <=, <, >= or >, then the objects are compared by converting both objects to numbers and comparing the numbers according to IEEE 754.

因此你的两个操作数都被转换为 float ,使它们都是 NaN。

我相信 Microsoft 的 XML 添加了扩展函数来处理这个问题,但是当然这只有在您使用 MSXML 时才有帮助。

关于php - 如何将字符串与 Xpath 1.0 进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11125944/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com