MarkLogic无法将变量分配给cts:document-query()

MarkLogic无法将变量分配给cts:document-query(),marklogic,Marklogic,如何将变量分配给cts:document-query()。我要从文件系统中读取示例代码,然后将变量分配给document-query()。但它会挤出错误 案例1)在没有为文档查询分配变量的情况下工作 let $list-pdf := cts:search(/,cts:and-query(( cts:directory-query("/pdf/"), cts:document-query(("/

如何将变量分配给cts:document-query()。我要从文件系统中读取示例代码,然后将变量分配给document-query()。但它会挤出错误

案例1)在没有为文档查询分配变量的情况下工作

let $list-pdf := cts:search(/,cts:and-query((
                          cts:directory-query("/pdf/"),
                          cts:document-query(("/pdf/US1610547.pdf", "/pdf/US1696102.pdf", 
                         "/pdf/US1953345.pdf"))) 
 for $pdf in $list-pdf 
return base-uri($pdf)
返回结果:

 /pdf/US1610547.pdf
 /pdf/US1696102.pdf
案例2-从文件系统读取后,我将变量赋值给document-query()。MarkLogic给了我错误

let $pdf := xdmp:filesystem-file("/output/listpdf.txt")
let $pdfs := tokenize($pdf,"\n")
let $list-pdf := cts:search(/,cts:and-query((
                          cts:directory-query("/pdf/"),
                          cts:document-query(($pdfs))
                                                                    ))) 
for $pdf in $list-pdf 
return base-uri($pdf)
返回错误代码:

[1.0-ml] XDMP-URI: cts:document-query(("/pdf/US1610547.pdf", "/pdf/US1696102.pdf",...)) -- Invalid URI format: ""

错误消息表示标记化的结果包括URI序列中的空字符串项:

-- Invalid URI format: ""
您可以在标记化后应用谓词以排除空字符串(或使用更复杂的逻辑,具体取决于您的输入可信任的程度),即:


错误消息表示标记化的结果包括URI序列中的空字符串项:

-- Invalid URI format: ""
您可以在标记化后应用谓词以排除空字符串(或使用更复杂的逻辑,具体取决于您的输入可信任的程度),即:


一般评论:只使用
cts:uri(“/pdf/”,(),cts:documentquery($pdfs))
比使用
cts:search()
检索文档、迭代并获取每个文档
base-uri()
一般评论更简单:只使用
cts:uri(“/pdf/”,(),cts:documentquery($pdfs))
而不是使用
cts:search()
检索文档,遍历并获取每个文档
base-uri()