How to get node without children in xQuery?

Posted by mbrevoort on Stack Overflow See other posts from Stack Overflow or by mbrevoort
Published on 2010-06-11T20:32:55Z Indexed on 2010/06/11 21:22 UTC
Read the original article Hit count: 301

Filed under:
|
|
|

So I have two nodes of elements that I'm essentially trying to join. I want the top level node to stay the same but the child nodes to be replaced by those cross referenced.

Given:

<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>

I want to loop through "list" and cross reference elements in "stuff" for this result:

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

I want to do this without having to know about what attributes might be on "list". In other words I don't want to have to explicitly call them out like

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

© Stack Overflow or respective owner

Related posts about Xml

Related posts about xpath