【发布时间】:2011-01-25 13:33:20
【问题描述】:
我是 XQuery 的新手,坦率地说,我发现学习曲线非常陡峭。
我的 XML 结构看起来像这样:
<root>
<product>
<size>500 units</size>
</product>
<product>
<size>1000 units</size>
</product>
<product>
<size>Unlimited units</size>
</product>
</root>
我需要编写一个 XQuery 语句来返回 size 中的数值小于 1000 的所有节点。所以我需要以某种方式确定这个数值(忽略任何文本)来执行我假设是“le”操作。
除此之外,节点可能根本没有数字(例如“无限单位”),在这种情况下,它需要被视为具有 1000000 的值。
有没有办法做到这一点?我尝试了 fn:replace(blah, '\D', '') 和转换为 xs:int 的各种组合,但我似乎无法让它工作。
任何指导将不胜感激。
【问题讨论】:
标签: parsing xpath numbers xquery