Заменить несколько символов в строке (XSLT) - PullRequest
6 голосов
/ 12 октября 2009

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

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

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

1007 * Е.Г. *

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

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

Перевод не работает с &

Пример

XML

<title>Mary & the Wolf<title>

1019 * XSLT *

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

Итак, я хочу, чтобы вывод был:

MarytheWolf

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

Ответы [ 2 ]

7 голосов
/ 12 октября 2009

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

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

или

translate(className, ' &#?!','_____')  // would replace any character 
                                       // in the string #1 with '_'
1 голос
/ 12 октября 2009

Вы в основном там:

translate ('abcd', 'cbda', 'CBDA')

даст 'ABCD'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...