したがって、基本的に結合しようとしている要素のノードが2つあります。トップレベルノードを同じままにしておきたいのですが、子ノードは相互参照されたノードに置き換えられます。
与えられた:
<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>
この結果を得るために、「リスト」と「スタッフ」の相互参照要素をループしたいと思います。
<list a="1" b="2">
<item foo="bar" boo="2" />
<item foo="baz" boo="3"/>
</list>
「リスト」にある属性を知らなくても、これを実行したいと思います。言い換えれば、私はそれらを明示的に呼び出す必要はありません
attribute a { $list/@a }, attribute b { $list/@b }