xdmp:eval()
とxdmp:value()
関数のより良い説明を誰かが提供できますか?
私はDeveloper APIに従おうとしました。しかし、私はインスタンスに本当に満足しておらず、私にとっては少しあいまいです. 誰かがこれらの機能とその違いを例で理解するのを手伝ってくれたら本当にありがたいです.
xdmp:eval()
とxdmp:value()
関数のより良い説明を誰かが提供できますか?
私はDeveloper APIに従おうとしました。しかし、私はインスタンスに本当に満足しておらず、私にとっては少しあいまいです. 誰かがこれらの機能とその違いを例で理解するのを手伝ってくれたら本当にありがたいです.
どちらの関数もコードの文字列を動的に実行するためのものですがxdmp:value
、現在のコンテキストに対して評価されるため、現在のスコープで定義された変数または宣言されたモジュールがある場合、それらを再宣言せずに参照できます。
xdmp:eval
を呼び出すコンテキストの知識を持たない、まったく新しいコンテキストの作成を必要としますxdmp:eval
。新しい XQuery プロローグを定義する必要があり、メイン コンテキストからの変数がパラメーターとして呼び出しに渡されxdmp:eval
、eval スクリプトで外部変数として宣言されます。
一般に、 を使用できる場合はxdmp:value
、おそらく最良の選択です。ただし、そうでないxdmp:eval
機能、つまり引数で定義されたすべての機能があります。これらのオプションを使用して、クエリを実行するユーザー、クエリが実行されるデータベース、トランザクション モードなどを制御できます。xdmp:value
<options>
xdmp:unpath
動的文字列を実行するための別の関数がありますxdmp:value
。