首页 > 解决方案 > 什么是 xdmp:值???XQuery、MarkLogic

问题描述

我学习了 xdmp:value 函数。

像这样使用

let $var := 5
return xdmp:value($var)

然后,我得到5。

我写这个有什么区别:

let $var := 5
return $var

我这里也有 5 个。也许我错过了一些观点。

请解释一下这个功能。

提前致谢。

标签: xmlxquerymarklogicqnames

解决方案


在示例中是否使用 xdmp:value() 确实没有区别。尽管我会警告不要不必要地使用 xdmp:value() 以最大化您的查询性能。

xdmp:value() 最常见的用例之一是将文本字符串评估为代码而不丢失上下文(例如使用 xdmp:eval())。

例如:

let $x := 1
return xdmp:value("$x + 1")

xdmp:value() 的另一个常见用例是将变量动态集成到 XPath 表达式中。

例如:

/path/to/mystery/element/xdmp:value($elementName)

推荐阅读