Zeilenumbrüche entfernen?
Cyberfuzzy
- xsl
Hallo,
ich lese mit XSL eine Variable in aus einer XML-Datei:
<variable>
Wert
</variable>
In der XML ist vor und nach dem Wert leider ein Zeilenumbruch. Diese muss ich per XSL entfernen. Dazu wollte ich die translate() Funktion verwenden.
Jetzt ist nur die große Frage - wie sage ich der Funktion, dass sie die Zeilenumbrüche in Nix umwandeln soll?
<xsl:value-of select="translate(Wert,'ZEILENUMBRUCH','')" />
Gibt es vielleicht irgend einen Platzhalter für ZEILENUMBRUCH?
Oder gibt es dafür eine bessere Lösung?
Danke
Gruß
Cyberfuzzy
--
http://www.cyberfuzzy.com
Hallo,
ich lese mit XSL eine Variable in aus einer XML-Datei:
<variable>
Wert
</variable>In der XML ist vor und nach dem Wert leider ein Zeilenumbruch. Diese muss ich per XSL entfernen. Dazu wollte ich die translate() Funktion verwenden.
Jetzt ist nur die große Frage - wie sage ich der Funktion, dass sie die Zeilenumbrüche in Nix umwandeln soll?
translate() erledigt eine Zeichen-fuer-Zeichen-Ersetzung: Aus 'ABC' und 'abc' folgt a fuer A, b fuer B und c fuer C. Whitespace wird so 'Nichts' umgesetzt:
translate(Wert,' 

$#xA0;','')
Verwende alternativ die XPath-Funktion normalize-space(...) oder das xsl-Element <xsl:strip-space elements="element1 element2 ..."/> unterhalb von xsl:stylesheet.
MfG, Thomas
Hallo,
Diese Idee ziehe ich zurueck:
translate(Wert,' 

$#xA0;','')
Vom $ statt & mal abgesehen, macht das im von mir genannten Sinne der Zeichen-fuer-Zeichen-Ersetzung nicht das Gesuchte (auch andere Zeichen werden ja ersetzt/entfernt).
translate(Wert,' ','')
sollte helfen oder eben die genannten Alternativen.
MfG, Thomas