1
После использования указанного ниже Xquery я получаю вывод правильно.Как корневой элемент динамически предоставлять в cts: поиск с использованием Marklogic
let $element :="Name"
let $value := "Antony"
let $op := cts:search(//root, cts:element-value-query(xs:QName($element),$value))
return $op
Но я получаю сообщение об ошибке при использовании «корневой» значение в переменной. Пожалуйста, предложите мне, если есть другие варианты?
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>
Спасибо за ваш ответ, но я попробовал этот запрос, только «ваш запрос возвратил пустую последовательность», так что вы можете помочь лучше. – Antony
Можете ли вы добавить образец своих данных, чтобы увидеть, были ли пропуски? –
Я добавил образец XML ниже для вашего сведения. <Корень processtype = «образец»> <название серии = «кк»> Энтони –
Antony