什么是XQuery来导入MarkLogic中的模块名称空间

问题描述 投票:1回答:1

什么是在MarkLogic中导入模块名称空间的XQuery?如何将名称空间绑定到前缀admin

import module namespace admin="http://marklogic.com/xdmp/admin" at "/MarkLogic/admin.xqy"; 

我以这种方式尝试过,但是出错了。

ServerEvaluationCall forestDataDirCall = 
  client
   .newServerEval()
   .xquery("xquery version \"1.0-ml\";\r\n" + 
           "xdmp:with-namespaces(admin,http://marklogic.com/xdmp/admin)
xquery marklogic-9
1个回答
0
投票

您引用的import语句有两件事:

  1. 声明绑定到http://marklogic.com/xdmp/admin名称空间前缀的名称空间“ admin”>
  2. 导入绑定到该admin名称空间的“ /MarkLogic/admin.xqy”库模块,以便可以使用其功能并由admin前缀引用。
  3. 您还可以简单地声明一个名称空间并将其绑定到名称空间前缀

declare namespace admin="http://marklogic.com/xdmp/admin"; 

但是,您将无法使用那些库函数。

看来此问题与您的其他问题之一有关。为了使用管理功能评估代码,您需要在要评估的XQuery中包含import语句:

ServerEvaluationCall forestDataDirCall = client.newServerEval()
  .xquery('import module namespace admin="http://marklogic.com/xdmp/admin" at "/MarkLogic/admin.xqy"; admin:forest-get-data-directory(admin:get-configuration(), admin:forest-get-id(admin:get-configuration(), "' + forestName +'"))');
© www.soinside.com 2019 - 2024. All rights reserved.