Я очень плохо знаком с 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. Поэтому мне как-то нужно определить это числовое значение (игнорируя любой текст), чтобы выполнить ' ле операция я предполагаю.
Кроме того, существует вероятность того, что у узла вообще не будет цифр (например, «Неограниченные единицы»), и в этом случае его необходимо рассматривать как имеющее значение, скажем, 1000000.
Есть ли способ сделать это? Я пробовал различные комбинации fn: replace (blah, '\ D', '') и приведение к xs: int, но я не могу заставить его работать.
Любое руководство будет с благодарностью.