首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >marklogic javascript中的xdmp.spawn

marklogic javascript中的xdmp.spawn
EN

Stack Overflow用户
提问于 2018-01-29 20:56:07
回答 2查看 182关注 0票数 0

在marklogic中执行xdmp.spawn函数,如下所示:

代码语言:javascript
复制
var abc = "foo"
xdmp.spawn("/oneplusone.sjs", (xs.QName("abc"), "foo").Object,{result: true})

错误:

代码语言:javascript
复制
 [javascript] JS-JAVASCRIPT: fn.count(Sequence()) -- Error running JavaScript request: ReferenceError: abc is not defined

oneplusone.sjs是我的模块数据库中的一个模块,它只返回变量"abc“(它是作为外部传递的字符串"foo”)的值。

你能帮我解决这个问题吗?另外,请给出一个详细的示例,说明如何使用xdmp.spawn以及如何将第二个参数作为对象传递。

EN

回答 2

Stack Overflow用户

发布于 2018-01-29 21:30:38

下面的代码片段可以正常工作:

代码语言:javascript
复制
var name = (xs.QName("abc"), "foo")
xdmp.spawn("/oneplusone.sjs", name.Object,{result: true})

问题是被称为(/oneplusone.sjs)的模块只有一行代码,即变量abc。这适用于Xquery,但在Javascript中,他们希望在被调用的模块中声明变量。另外,请让我帮助我在被调用的模块中获取变量的值,因为现在它是作为对象传递的。

票数 0
EN

Stack Overflow用户

发布于 2018-01-30 00:12:03

该函数需要一个JSON对象,其键引用变量名。在XQuery代码中调用带名称空间的变量有点困难,但这不适用于服务器端JavaScript。要做到这一点,你可以这样做:

代码语言:javascript
复制
var abc = "foo"
xdmp.spawn("/oneplusone.sjs", { "abc": abc }, {result: true})

如果您最终想要调用XQuery代码,您可能需要xdmp.keyFromQName

哈!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48501814

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档