1
特定のフォレスト内のドキュメントの総数を返すコードがあります。フォレストの文書数が0以上かどうかを調べたいの$ F-ID森林番号との$ DB-名です実行時に値が評価される変数を指定してクエリを評価するにはどうすればよいですか?
declare function local:forest-doc-count($db-name,
$f-id as xs:unsignedLong) as xs:integer {
let $_ := xdmp:log(xdmp:describe(fn:concat("$db-name -->", $db-name),(),()))
let $query := 'xquery version "1.0-ml";
declare variable $f-id as xs:unsignedLong external;
xdmp:estimate(cts:search(fn:doc(),(),(),(), $f-id))'
let $count := xdmp:eval($query ,(),
map:entry("f-id", $f-id),
map:entry("database", xdmp:database($db-name))
)
return $count
};
はデータベース名です。今の私は、通話中に外部の変数に値をバインドし、その後、クエリで外部変数を宣言し
未定義変数$ F-ID
arg4はxs:string型ではありません。これは私が受け取っているものです。 – basari66
コードに2つのタイプミスが修正されました。文字通りコピーしましたか?このように 'local:forest-doc-count(xdmp:データベース名(xdmp:データベース))、xdmp:データベースフォレスト(xdmp:データベース())[1])で呼び出すと、 ' – grtjn
いいえ、私はそのまま貼り付けてコピーしませんでした。私のために働いていない。私もログを入れ、エラーログをチェックしました。 $ db-nameの文字列があります。私はまだ 'arg4はxs:string'型ではないという同じエラーを受けています。コードを更新しましたので、エラーをさらに確認することができます。 – basari66