Для XPath 1.0 правило:
(a) строковый литерал не может содержать метку, используемую в качестве разделителя строк; единственный способ обойти это - сформировать строку с помощью concat (), например concat("'", '"', "'")
- это строка из трех символов '"'
.
(b), если строковый литерал содержит символ, имеющий особое значение в языке хоста (например, "
в Java или &
в XML), тогда его необходимо экранировать, используя соглашения по экранированию основного языка (\"
в Java, &
в XML ).
В XPath 2.0 вы можете обойти (a) путем удвоения: например, """"
- это строковый литерал, представляющий строку длиной один, содержащую символ двойных кавычек. Вы также можете обойти и (a), и (b), используя функцию codepoints-to-string()
.