1

I have the following in an XML node:

<TR_Comment>XXX YYY ZZZ
</TR_Comment>

(as you can see there is a line feed)

My XSLT is really simple:

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

How can I remove the line feed using XSLT?

2 Answers2

3

Does normalize-space(a:Common/a:TR_Comment) do what you want?

If you are really keen on preserving inner whitespace, it can get a bit inelegant. One way is to make a recursive template that uses string-length and substring to keep removing characters from the end, one at a time, until there is no trailing whitespace.

Nicholas Wilson
  • 8,769
  • 1
  • 32
  • 79
2

Use:

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

when this expression is evaluated, the result is the string value of the current node from which any NL or CR characters are removed.

Do note that no other characters are deleted or modified, so this is a more precise solution and may be preferrable in some cases over normalize-space()

Dimitre Novatchev
  • 230,371
  • 26
  • 281
  • 409