![](/img/trans.png)
[英]Which is better collection() or root element in cts:search option in MarkLogic
[英]How to root element dynamically provide in cts:search using Marklogic
使用下面提到的 Xquery 后,我得到了正確的輸出。
let $element :="Name"
let $value := "Antony"
let $op := cts:search(//root, cts:element-value-query( xs:QName($element),$value))
return $op
但是在變量中使用“ root ”值時出現錯誤。 請建議我,如果有其他選擇嗎?
let $element := "Name"
let $value := "Antony"
let $root := "root"
let $op := cts:search(//$root, cts:element-value-query( xs:QName($element),$value))
return $op
錯誤 :
[1.0-ml] XDMP-UNSEARCHABLE: cts:search(fn:collection()/descendant-or-self::node()/"root", cts:element-value-query(fn:QName("","Name"), "Antony", ("lang=en"), 1)) -- Expression is unsearchable
Stack Trace
At line 16 column 23:
In xdmp:eval("(: let $uri := cts:element-value-query( xs:QName("file...", (), <options xmlns="xdmp:eval"><database>8922589838473153050</database><root>/marklogic/poc/</r...</options>)
$element := "Name"
$value := "Antony"
$root := "root"
14. let $value := "Antony"
15. let $root :="root"
16. **let $op := cts:search(//$root, cts:element-value-query( xs:QName($element),$value))**
17. return $op
示例數據:
<root processtype="sample">
<title series="hk">
<Name>Antony</Name>
</title>
</root>
您不能以這種方式使用$root
值.. 為了匹配$root
值,您必須執行以下操作//root[. = $root]
//root[. = $root]
let $element :="Name"
let $value := "Antony"
let $root :="root"
let $op := cts:search(//root[. = $root], cts:element-value-query( xs:QName($element),$value))
return $op
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.