XPath: закодировать для uri (), но оставить символы, разрешенные в IRI, незакодированными - PullRequest
0 голосов
/ 29 апреля 2019

XPath имеет функцию encode-for-uri(), которая делает строку безопасной для использования в сегменте пути URI:

encode-for-uri('AC/DC') => AC%2FDC

Но он также% -кодирует международные символы:

encode-for-uri('汉/语') => %E6%B1%89%2F%E8%AF%AD

Это действительно необходимо для URI, но не необходимо для IRI, которым разрешено включать эти символы.

Есть ли способ достичь эффекта encode-for-uri() в XPath, оставляя символы i18n незакодированными? Как это:

???('汉/语') => 汉%2F语

1 Ответ

0 голосов
/ 29 апреля 2019

Возможно, функция iri-to-uri() делает то, что вы ищете.

Тем не менее, он не скрывается "/" - он предназначен для работы на всем IRI, а не на сегменте пути.

...