0
をラップするために私はあなたに簡単な例を与えてみましょう:のXQuery Updateは、私は、XQueryの更新を使用して別の新しいノードとノードをラップしようとしていると私はいくつかの異なるエラーでこだわっている既存のノード
初期XMLは
です<a id="test">
<title>title</title>
</a>
XQueryコードは次のとおりです。
copy $x := db:open('testdb')/a[@id eq 'test']/title
modify replace node $x
with <b>{$x}</b>
return <ok/>
私は周囲のデータベースとしてbasexを使用していると私はデシベル使用している理由です:オープン関数を。
私が最後に取得したいのは
<a id="test">
<b>
<title>title</title>
</b>
</a>
あるしかし、私はエラーが表示さ:
[XUDY0009] Target has no parent: element title {...}.
注:
db:open('testdb')/a[@id eq 'test']/title
が
です:クエリの結果を<title>title</title>
copy $x := db:open('testdb')/a[@id eq 'test']/title
modify replace node db:open('testdb')/a[@id eq 'test']/title
with <b>{$x}</b>
return <ok/>
を次のように私は、クエリを変更した場合、エラーが更新クエリのこの種を行うための適切な方法は何
[XUDY0014] Node was not created by copy clause: element title {...}.
のですか?あなたは$ Xにバインドされたノード、およびリターン$ xに変更する必要が
最初のクエリがエラーを発生させます「[XUDY0009]ターゲットにはparent:要素がありません。 " 2番目のクエリは、 "置き換え"トークンで構文エラー文字列を発生させます:(ただし、3番目のクエリは正常に動作します) – IgnacioHR
最初の2つのクエリが更新されました。セマンティクス:http://docs.basex.org/wiki/Update –
ありがとうございます!すべてのクエリが機能します! – IgnacioHR