对象节点到元素节点的转换失败
object-node to element-node conversion fails?
我正试图在JavaScript中为角色设置一个默认功能,比如:
declareUpdate();
var sec = require('/MarkLogic/security.xqy');
var pid = 3223704;
var role = 'scc-proj-' + pid + '-member';
sec.roleSetDefaultPermissions("scc-proj-3223704-member",(xdmp.permission("scc-proj-3223704-member", "read")));
这会产生一个错误:
[javascript] XDMP-AS: $permissions as element(sec:permission)* -- Invalid coercion: object-node{"capability": text{"read"}, "roleId": text{"12999117528518422097...} as element(sec:permission)
如果我仔细观察,似乎xdmp.permissions()
返回一个对象节点,而sec.roleSetDefaultPermissions()
期望一个元素节点。看来有些类型转换不起作用。。。
XQuery等价物可以正常工作。
- 这可以用javascript修复吗
- 作为一种变通方法,我可以使用xdmp.eval或invoke从javascript运行XQuery吗
只需将element
作为第三个可选$output-kind
参数传递给xdmp.permission
:
xdmp.permission("scc-proj-3223704-member", "read", "element");
相关文章:
- 将curl转换为节点请求
- 使用document.cookie将客户端javascript转换为节点模块
- 如何在节点.js上将文本转换为 Base58
- 如何将SVG节点转换为PNG并下载给用户
- 在JavaScript节点环境中将Gzip内容编码响应转换为JSON数据
- Metor:将html保存为字符串,然后将其转换为DOM节点
- 如何在 ckEditor 中将大写节点转换为小写节点
- 如何将节点 js 中的错误对象正确转换为字符串
- 在节点中将二进制数据转换为字符串
- 如何在将转换应用于子节点后重排容器
- 将节点.js应用程序从 JavaScript 转换为咖啡脚本时出现无效字符和模块
- 节点.js解析 fs.readFile() 的意外数字转换
- 转换为 JSON 的 XML 节点会出错
- 无法将 NeDB 节点回调转换为 Bacon EventStream
- 转换节点.js流的简洁方法
- 将 JSON 数组转换为对象节点 js
- 节点转换后拖动不正常,D3
- 在对对象进行字符串化处理时,JSON将元素节点转换为对象
- 将xml节点转换为字符串
- 将html节点转换为一行字符串(最小化)