2009-10-12 38 views
6

Necesito poder reemplazar ciertos caracteres para poder usarlos como clases de CSS.Reemplazar varios caracteres en una cadena (XSLT)

Tengo cadenas como, clase (nombre), clase & nombre, amonst otras que no son clases válidas de CSS (por lo que puedo decir).

¿Cómo puedo usar la función de reemplazar para sustituir múltiples chracters,

P. ej

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

¿Pero es posible hacer esto para múltiples caracteres?

Traducir no se parece a trabajar con &

Ejemplo

XML

<title>Mary & the Wolf<title> 

XSLT

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

así que quiero que la salida sea:

MarytheWolf 

Pero en este momento me sale un error con el carácter &.

Respuesta

7

translate() obras personaje-sabia:

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

o

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

Gracias, parece una buena idea reemplazar con un char en lugar de nada en absoluto. – CLiown

+0

¿Cuál es el código para XSLT? He intentado & en la traducción, pero arroja un error? – CLiown

+0

'&' es la secuencia de escape XML para el símbolo comercial. No es que XSLT o XPath lo requieran, pero XML sí lo necesita. – Tomalak

1

Eres la mayor parte del camino:

translate ('ABCD', 'CBDA', 'CBDA ')

daría' ABCD '.

Cuestiones relacionadas