3

xdmp:eval()xdmp:value()関数のより良い説明を誰かが提供できますか?

私はDeveloper APIに従おうとしました。しかし、私はインスタンスに本当に満足しておらず、私にとっては少しあいまいです. 誰かがこれらの機能とその違いを例で理解するのを手伝ってくれたら本当にありがたいです.

4

1 に答える 1

4

どちらの関数もコードの文字列を動的に実行するためのものですがxdmp:value、現在のコンテキストに対して評価されるため、現在のスコープで定義された変数または宣言されたモジュールがある場合、それらを再宣言せずに参照できます。

xdmp:evalを呼び出すコンテキストの知識を持たない、まったく新しいコンテキストの作成を必要としますxdmp:eval。新しい XQuery プロローグを定義する必要があり、メイン コンテキストからの変数がパラメーターとして呼び出しに渡されxdmp:eval、eval スクリプトで外部変数として宣言されます。

一般に、 を使用できる場合はxdmp:value、おそらく最良の選択です。ただし、そうでないxdmp:eval機能、つまり引数で定義されたすべての機能があります。これらのオプションを使用して、クエリを実行するユーザー、クエリが実行されるデータベース、トランザクション モードなどを制御できます。xdmp:value<options>

xdmp:unpath動的文字列を実行するための別の関数がありますxdmp:value

于 2015-12-23T21:47:59.100 に答える