Domanda

Ho quanto segue in un nodo XML:

<TR_Comment>XXX YYY ZZZ
</TR_Comment>

(come puoi vedere c'è un avanzamento riga)

Il mio XSLT è davvero semplice:

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

Come posso rimuovere l'avanzamento riga utilizzando XSLT?

È stato utile?

Soluzione

normalize-space(a:Common/a:TR_Comment) fa quello che vuoi?

Se ti interessa davvero preservare gli spazi vuoti interni, può diventare un po 'inelegante.Un modo è creare un modello ricorsivo che utilizzi string-length e substring per continuare a rimuovere i caratteri dalla fine, uno alla volta, fino a quando non ci sono spazi vuoti finali.

Altri suggerimenti

Usa :

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

quando questa espressione viene valutata, il risultato è il valore stringa del nodo corrente da cui vengono rimossi i caratteri NL o CR.

Tieni presente che nessun altro carattere viene eliminato o modificato, quindi questa è una soluzione più precisa e potrebbe essere preferibile in alcuni casi rispetto a normalize-space()

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top