1

我想在 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 处理器。

4

1 回答 1

3

这似乎与

如何使用 XQuery fn:idref() 函数?

没有架构,您需要

//*[tokenize(@idrefs, ' ') = "hello"]
于 2011-06-22T11:20:36.257 回答