Leerzeichen in XML durch &#160 ersetzen

Hallo. Danke erstmal, dass Ihr das lest und versucht zu helfen!

Problem: ich habe eine xml-Datei mit Leerzeichen, die der Browser natürlich zusammenkürzt.
Die Daten hole ich mit dem Befehl:

Nun möchte ich alle Leerzeichen durch   ersetzen, damit ich non-breakable Leerzeichen habe.
Folgendes habe ich probiert:

Meldung:
Innerhalb eines Entitätsverweises wurde ein ungültiges Zeichen gefunden.
Bei:
Meldung:
‚replace‘ ist keine gültige XSLT- oder XPath-Funktion. -->replace(‚a‘,‚b‘)

Hallo Erik,

warum kürzt der Browser „natürlich“ die Leerzeichen zusammen? Sollte er eigentlich nicht tun. Hier ist das Encoding wichtig (UTF-8). Für das Xml sowie im Content Type der Website. Den Text des Elements, das du mit value-of selectierst, bekommst du auch mit der xslt-Methode text()

Willst du den text eines Elements direkt ausgeben ohne dass der output verändert wird kannst bei value-of select das output escaping noch deaktiveren.

Viel Erfolg.

Hallo Erik,

ich denke du suchst:

  1. replace gibt’s nicht - translate benutzen
  2. die Funktion benötigt 3 Angaben: text, suchmuster, ersetzungszeichen
  3. du darft das Semikolon nach der 160 nicht vergessen

Der Code oben hat ein Leerzeichen zwischen dem & und # - das ist nur dazu da, damit es auf der Seite hier richtig angezeigt wird, also nach dem Kopieren entfernen.

Viele Grüße
Stefan

Vielen Dank! :smile:
Hab keine Fehlermeldungen mehr. Leider auch kein Ergebnis. Der Browser setzt den Befehl scheinbar nicht um!? Also der Quelltext der Seite hat immernoch die Leerzeichen drinnen -> somit dann auch wieder Falsche Anzeige. :frowning:

Danke erstmal! :smile:
Habe auf UTF-8 gestellt und anstelle von verwendet.
Hat aber leider nichts gebracht. Die Leerzeichen werden immernoch gekürzt. (Also Leerzeichen >= 1 --> Leerzeichen = 1) :frowning:

Hi, Eric

die Fehlermeldung liest sich für mich recht klar:

Schau bei

http://www.w3.org/TR/xpath-functions/

nach

und du wirst „translate“ finden.

Weiterhin viel Spaß mit XSLT.

Gruß

Rolf

kann dir leider nicht helfen

Wie ich sehe sind die entsprechenden Antworten schon gegeben.