>我无法提取以数字开头的元素,例如 MarkLogic 搜索选项中的 5DigitalNotes
我正在尝试使用以下搜索选项
<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 搜索选项提取此类元素?我没有选择从存储的文档更改字段名称,因此只需要找出解决方法。
XML 元素的名称不能以数字开头。这些格式不正确。如果您有具有此类名称的 JSON 属性,请尝试改用/node("5DigitalNotes")
,这个技巧对于 XPath 不期望的名称中的其他字符(如空格)也很有用。
哼!