Я очень новичок в xquery, я пытаюсь проверить, существует ли атрибут в элементе, используя xquery, если существует возврат, возврат только для элемента b с идентификатором.
Я пробовал следующее:
Вход
<a>
<b id="id2">text</b>
<x id="id4">text</x>
<b>text</b>
<b id="id5">text</b>
</a>
XQuery:
for $x in (*:a/*:b)
let $new:=
let $id := exists($x/@id)
let $c := if ($id = true()) then ($x/@id/string()) else()
return
<string key="id">{$c}</string>
return ($new)
Но я также получаю возвращаемую строку для несуществующего элемента. Как не возвращаться для элементов, у которых нет идентификатора.
выход:
<string key="id">id2</string>
<string key="id"/>
<string key="id">id5</string>
Есть ли простой способ сделать это.