Я хочу найти в XML-документе элемент, имеющий атрибут idrefs
, содержащий определенный id
.Например, учитывая этот XML-документ doc.xml
;
<doc>
<x1 idrefs="foo bar">
<x2 idrefs="world hello"/>
</x1>
<x3 idrefs="ipsum lepsum"/>
<a xml:id="bar"/>
<b xml:id="hello"/>
</doc>
Я хочу, чтобы этот XQuery;
let $d := doc("doc.xml")
return $d/local:getref("hello")
возвратил этот элемент;
<x2 idrefs="world hello"/>
Я считаю,что fn:idref()
делает именно это, но только если doc.xml
имеет подходящую схему.Можно ли это сделать без схемы?
Я использую процессор Saxon XQuery.