どのノードを子のなxQueryにお?
質問
いつのノードの要素をしているところは本質的に努めます。したいトップレベルのノードのバーニーズニューヨークに、同一であるが、子ノードをぶら下げるフィールドに置き換わり越されます。
指:
<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 }
解決
用途:
$list1/item[@foo = $list2/item/@foo]
このすべて選択し <item>
要素 $list1
の値が foo
属性が等しい foo
属性の一つの <item>
要素$list2.
るためにコピーすべての属性 <list>
要素は、このようになっ:
for $attr in /whateverIsthePathLeadingToList/list/@*
return
attibute {name($attr)} {$attr}
他のヒント
少しsimplier ...既存のものから新しいオブジェクトを作成しますが、その子なしにすることが唯一の
の属性と仮定します:
みましょう$ old_list:=
これはその属性をコピーし、新しいリストを作成します。
<list>{$old_list/@*}</list>
所属していません StackOverflow