路径范围索引配置

时间:2018-05-30 20:14:44

标签: marklogic

我已经定义了路径范围索引和路径命名空间,但查询得到了

  

'前缀nv没有命名空间绑定'

如果我在查询中添加名称空间声明,它就可以工作。查询还定义了一个默认命名空间(相同),并且不确定是否可能导致错误。

命名空间:nv http://developer.envisn.com/xmlns/envisn/netvisn/

路径:/nv:content/nv:crnData8/nv:defaultDescription/nv:value

查询:

declare default element namespace 
'http://developer.envisn.com/xmlns/envisn/netvisn/'; 

在我将其添加到查询时起作用:

declare namespace nv = "http://developer.envisn.com/xmlns/envisn/netvisn/";

1 个答案:

答案 0 :(得分:2)

您是否在管理界面中定义了前缀?在端口8000的admin ui的左窗格中,在数据库的子树中,是一个名为“Path Namespaces”的节点。单击它,转到“添加”选项卡,您可以映射nv,以便您的路径引用将得到解决。

Defining Namespace Prefixes Used in Path Range Indexes and Fields

在XML文档上定义路径范围索引并且路径使用名称空间前缀时,必须预定义路径表达式中使用的任何名称空间绑定。这些命名空间绑定可以由多个路径范围索引使用。

要定义命名空间绑定,请执行以下步骤:

  1. 单击左侧树状菜单上的“数据库”图标。
  2. 在树状菜单或“数据库摘要”表中找到要为其创建名称空间前缀绑定的数据库。
  3. 单击要为其创建命名空间绑定的数据库的名称。
  4. 单击所选数据库下树状菜单中的“路径名称空间”图标。
  5. 单击“添加”选项卡。 “路径命名空间配置”页面显示: enter image description here
  6. 在“前缀”字段中,输入要用于路径范围索引中XPath表达式中的元素或属性的名称空间前缀。
  7. 在“名称空间URI”字段中,输入XPath表达式中XML元素或属性的名称空间URI。
  8. 单击“确定”。