XQueryの:どのようにお返しに2つのコンストラクタを連結するには?

StackOverflow https://stackoverflow.com/questions/729046

  •  05-09-2019
  •  | 
  •  

質問

私は、コンストラクタが含まれている機能を持っています:

declare function local:Construct ($id)
{
  <tag id="{$id}"/>
}

私は "FLWOR" の見返りに機能を使用します:

for $val in ...
...
return local:Construct(data($val/id))

この作品。

今、私はこのような2つの構築を連結したい。

for $val in ...
...
return local:Construct(data($val/id1)) + local:Construct(data($val/id2))

プラス記号はもちろん間違っています。私が代わりに何を使うべきでしょうか?

役に立ちましたか?

解決

私はあなたのの演算子、そうなどを使用したい場合には、$ valの を使用すると、それぞれのための2つのノードを返すようにしたいと仮定します

for $val in ...
...
return (local:Construct(data($val/id1)), local:Construct(data($val/id2)))

余分な括弧が必要とされている、またはあなたが「未定義の変数」エラーになりFLWOR、結果にlocal:Construct(data($val/id2))を連結しようとされます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top