Xquery:如何从 REF/ID 中提取信息

Xquery: How to extract out info from an REF/ID

在我的 xml 中,我有许多 ID 和 REF 属性。

简化于:

<library>
 <book ID="123">
   <author ref="33"></author>
   <Info>Vulpes Vulpes, Canis Lupus</info>
   <about>Programming</about>
 </book>

 <author ID="33">
  <firstname>John</firstname>
  <lastname>McLovin</lastname>
 </author>
</library>

所以我想使用 Xquery 提取有关作者的信息,使用书下的 REF 属性。

for $x in library/book 
where $x/about = "programming"
return data ($x/library/book/author/@ref)

通过这种方法,我提取了 refnumber 33。但是我想要 ref="33" 指向的数据,它位于 ID="33" 下。我想要名字和姓氏作为结果。

这可能吗?如果不是这样,怎么可能?

for $x in library/book 
where $x/about = "Programming"
return data (library/author[@ID=$x/author/@ref])