2016-05-04 29 views

回答

3

问题是('A', 'B')。在表示两个字符串序列的XQuery中。在JavaScript中,这被解释为两个语句并返回最后一个语句的结果,在这种情况下为'B'。因此语法是有效的 - 这就是为什么没有错误 - 但意图不同。一般来说,JavaScript中XQuery序列的等价物是一个数组。因此,上面的代码应该是

declareUpdate(); 
xdmp.documentInsert(
    'mydoc.xml', 
    fn.head(xdmp.unquote(`<mydoc/>`)), 
    xdmp.defaultPermissions(), 
    ['A', 'B'] 
); 

请注意方括号['A', 'B']。从XQuery复制到JavaScript时,这是需要注意的。