Cyberfuzzy: Zeilenumbrüche entfernen?

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

  1. 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,' &#xA;&#xD;$#xA0;','')

    Verwende alternativ die XPath-Funktion normalize-space(...) oder das xsl-Element <xsl:strip-space elements="element1 element2 ..."/> unterhalb von xsl:stylesheet.

    MfG, Thomas

    1. Hallo,

      Diese Idee ziehe ich zurueck:

      translate(Wert,' &#xA;&#xD;$#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