2011-06-22 38 views
1

我想搜索XML文檔中的元素,該元素具有包含特定ididrefs屬性。例如,給定這個XML文檔doc.xml;試圖模擬XQuery函數fn:idref()但沒有模式

<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處理器。

回答