XSL - заменить трубу другим персонажем - PullRequest
0 голосов
/ 28 ноября 2018

Я использую XSLT 2. Как я могу заменить трубу другим символом?

Например, у меня есть такой элемент:

<list items="A1|A2|A3"/>

Я хочу получить

<list items="A1,A2,A3"/>

Я пробовал что-то подобное, но не работает

<xsl:variable name="result" select="replace(list/@items, '|', ',')"/>

В чем проблема?

1 Ответ

0 голосов
/ 28 ноября 2018

Функция replace() использует регулярное выражение - и символ канала является специальным символом в регулярном выражении.Либо экранируйте символ:

<xsl:variable name="result" select="replace(list/@items, '\|', ',')"/>

, либо используйте вместо него функцию translate().

...