Замена нескольких символов в строке (XSLT)

мне нужно иметь возможность заменять определенные символы, чтобы я мог использовать их в качестве классов CSS.

у меня есть строки, такие как, class(name), class&name, amonst другие, которые не являются допустимыми классами CSS (насколько я могу судить).

как я могу использовать функцию replace для замены нескольких chracters,

Э. Г.

translate(className, ' ','') (would replace a space)

но можно ли сделать это для нескольких символов?

перевод не с &

пример

XML

<title>Mary & the Wolf<title>

XSLT

<xsl:value-of select="translate(title, ' &','')"/></xsl:attribute>

поэтому я хочу, чтобы выход должен быть:

MarytheWolf

но на данный момент я получаю ошибку с символом&.

2 ответов


translate() работает посимвольный:

translate(className, ' &#?!','')  // would remove any character in the string #1

или

translate(className, ' &#?!','_____')  // would replace any character 
                                       // in the string #1 with '_'

вы большую часть пути туда:

перевести('Азбука', 'к cbda', 'к cbda')

даст 'ABCD'.