質問

いつのノードの要素をしているところは本質的に努めます。したいトップレベルのノードのバーニーズニューヨークに、同一であるが、子ノードをぶら下げるフィールドに置き換わり越されます。

指:

<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>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top