Frage

Ich habe Folgendes in einem XML-Knoten:

<TR_Comment>XXX YYY ZZZ
</TR_Comment>

(wie Sie sehen, gibt es einen Zeilenvorschub)

Mein XSLT ist wirklich einfach:

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

Wie kann ich den Zeilenvorschub mit XSLT entfernen?

War es hilfreich?

Lösung

Macht normalize-space(a:Common/a:TR_Comment), was Sie wollen?

Wenn Sie wirklich daran interessiert sind, innere Leerzeichen zu erhalten, kann dies etwas unelegant werden.Eine Möglichkeit besteht darin, eine rekursive Vorlage zu erstellen, die string-length und substring verwendet, um Zeichen nacheinander vom Ende zu entfernen, bis kein nachfolgendes Leerzeichen mehr vorhanden ist.

Andere Tipps

Verwenden Sie :

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

Wenn dieser Ausdruck ausgewertet wird, ist das Ergebnis der Zeichenfolgenwert des aktuellen Knotens, von dem alle NL- oder CR-Zeichen entfernt werden.

Beachten Sie , dass keine anderen Zeichen gelöscht oder geändert werden. Dies ist daher eine präzisere Lösung und in einigen Fällen dem normalize-space() vorzuziehen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top