Xquery: как извлечь информацию из REF/ID

В моем XML у меня есть несколько идентификаторов и атрибутов 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". Я хотел бы, чтобы имя и фамилия, как результат.

Это возможно? Если не так, как это возможно?

1 ответ

Решение
for $x in library/book 
where $x/about = "Programming"
return data (library/author[@ID=$x/author/@ref])
Другие вопросы по тегам