Удалить перевод строки (LF) из узла XML с помощью XSLT - PullRequest
1 голос
/ 07 сентября 2011

У меня есть следующее в узле XML:

<TR_Comment>XXX YYY ZZZ
</TR_Comment>

(как видите, перевод строки)

Мой XSLT действительно прост:

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

Как удалить перевод строки с помощью XSLT?

Ответы [ 2 ]

4 голосов
/ 07 сентября 2011

normalize-space(a:Common/a:TR_Comment) делает то, что вы хотите?

Если вы действительно заинтересованы в сохранении внутреннего пробела, он может стать немного не элегантным. Один из способов - создать рекурсивный шаблон, который использует string-length и substring, чтобы убирать символы с конца, по одному за раз, пока не останется конечный пробел.

3 голосов
/ 07 сентября 2011

Используйте :

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

, когда это выражение вычисляется, результатом является строковое значение текущего узла, из которого удалены любые символы NL или CR.

Обратите внимание , что никакие другие символы не удаляются или изменяются, так что это более точное решение и может быть предпочтительным в некоторых случаях по сравнению с normalize-space()

...