无法为元素使用<extract-path>以数字开头,例如MarkLogic中的<extract-path> / 5DigitalNotes </extract-path>

时间:2019-07-10 07:39:31

标签: xml search xpath marklogic marklogic-9

我无法提取以Digit开头的元素,例如5 MarkLogic搜索选项中的数字笔记

我正在尝试使用以下搜索选项

<options>
    <extract-document-data>
            <extract-path>/5DigitalNotes</extract-path>
    </extract-document-data>
</options>

但是它返回以下错误。

<error-response><status-code>400</status-code><status>Bad Request</status><message-code>XDMP-UNEXPECTED</message-code><message>XDMP-UNEXPECTED: (err:XPST0003) Unexpected token syntax error, unexpected AlmostNumeric_, expecting Function30_ or Percent_</message></error-response>

我在以下查询中使用过

cts.validExtractPath("/5DigitalNotes")

它返回False。 令人惊讶的是,下面的作品

cts.validExtractPath("/The5DigitalNotes")

它返回True。

谁能让我知道如何使用MarkLogic搜索选项提取此类元素?我没有从存储的文档中更改字段名称的选项,因此仅需要查找解决方法。

1 个答案:

答案 0 :(得分:3)

XML元素的名称不能以数字开头。那些不是格式正确的。如果您具有带有此类名称的JSON属性,请尝试使用/node("5DigitalNotes"),这对XPath不需要的其他字符(例如空格)也很有用。

HTH!