Como obter o nó sem filhos no xQuery?

Então, eu tenho dois nós de elementos aos quais estou tentando juntar-me. Quero que o nó de nível superior permaneça o mesmo, mas os nós filhos sejam substituídos por aqueles com referência cruzada.

Dado:

<stuff>
  <item foo="foo" boo="1"/>
  <item foo="bar" boo="2" />
  <item foo="baz" boo="3"/>
  <item foo="blah boo="4""/>
</stuff>

<list  a="1" b="2">
  <foo>bar</foo>
  <foo>baz</foo>
</list>

Eu quero percorrer "lista" e elementos de referência cruzada em "coisas" para este resultado:

<list  a="1" b="2">
  <item foo="bar" boo="2" />
  <item foo="baz" boo="3"/>  
</list>

Quero fazer isso sem precisar saber quais atributos podem estar na "lista". Em outras palavras, não quero explicitamente explicá-las como

attribute a { $list/@a }, attribute b { $list/@b }

questionAnswers(2)

yourAnswerToTheQuestion