Pregunta

Tengo lo siguiente en un nodo XML:

<TR_Comment>XXX YYY ZZZ
</TR_Comment>

(como puede ver, hay un avance de línea)

Mi XSLT es realmente simple:

<xsl:value-of select="a:Common/a:TR_Comment"/>

¿Cómo puedo eliminar el avance de línea usando XSLT?

¿Fue útil?

Solución

Hace normalize-space(a:Common/a:TR_Comment) ¿haces lo que quieres?

Si está realmente interesado en preservar el espacio en blanco interno, puede volverse un poco poco elegante.Una forma es hacer una plantilla recursiva que use string-length y substring para seguir eliminando caracteres desde el final, uno a la vez, hasta que no queden espacios en blanco al final.

Otros consejos

Uso :

translate(., '&#10;&#13;', '')

cuando se evalúa esta expresión, el resultado es el valor de cadena del nodo actual del que se eliminan los caracteres NL o CR.

Tenga en cuenta que no se eliminan ni modifican otros caracteres, por lo que esta es una solución más precisa y puede ser preferible en algunos casos a normalize-space()

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top