Использование & в xquery concat - PullRequest
0 голосов
/ 15 февраля 2019

Как я могу использовать & (символ амперсанда) в операторе XQuery concat?Я использую eXist DB, и это работает:

concat("Marvin ", "and", " Peter")

, но это не так:

concat("Marvin ", "&", " Peter")

Я получаю сообщение об ошибке: expecting '"', found '&'

Выход из амперсанда с \ не работает.

1 Ответ

0 голосов
/ 15 февраля 2019

Поскольку & является управляющим символом для символов XML и ссылок на сущности , его нельзя использовать в качестве литерального символа в строках XML или XQuery.Вы должны использовать объект для его кодирования.Вы можете использовать предопределенный & или ссылаться на него через код Unicode с помощью &#[...]; (десятичное число) или &#x[...]; (шестнадцатеричное):

concat("Marvin ", "&", " Peter"),
concat("Marvin ", "&", " Peter"),
concat("Marvin ", "&", " Peter")
...