Не в состоянии использоватьдля элемента начинается с цифры, например/ 5DigitalNotesв MarkLogic - PullRequest
0 голосов
/ 10 июля 2019

Я не могу извлечь элемент, который начинается с цифры, например 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")

возвращает Ложь. На удивление ниже работает

cts.validExtractPath("/The5DigitalNotes")

возвращает True.

Может кто-нибудь сообщить мне, как я могу извлечь такие элементы, используя параметры поиска MarkLogic? У меня нет возможности изменить имя поля из сохраненных документов, поэтому нужно найти только обходной путь.

1 Ответ

3 голосов
/ 11 июля 2019

Элементы XML не могут иметь имен, начинающихся с цифр. Это не очень хорошо. Если у вас есть свойства JSON с такими именами, попробуйте вместо этого использовать /node("5DigitalNotes"), трюк также полезен для других символов в именах, не ожидаемых XPath, например пробелов.

НТН!

...