Zeilenumbruch und Sonderzeichen in CDATA bei XML-Dokumenten
-
Ich habe in einem XML-Dokument folgendes Attribut stehen:
<MeinText><![CDATA[Dies ist ein längerer Text.]]></MeinText>
Aber der Browser stellt mir das ganze ohne den Zeilenumbruch dar (<br> oder <br /> geht auch nicht) und das ä wird nicht decodiert, sondern als ä geschrieben.
Was muß ich machen, um das zu ändern?
-
\n statt <br>
-
Das funktioniert nicht. Dann steht an der entsprechenden Stelle im Browser einfach die Zeichenkette \n.
-
Hallo,
XML zeigt, wie auch HTML, Zeilenumbrüche (also \r\n bw. \n) nicht an. Beachte aber: XML ist keine Darstellungssprache. Der Browser zeigt die Daten so an, wie er sie findet.
Willst du die Ausgabe formatieren, kannst du z.B. mit Stylesheets arbeiten.
Zudem solltest du Entitäten eigentlich nicht verwenden, sondern einen entsprechenden Zeichensatz deklarieren.
-
árn[y]ék schrieb:
XML zeigt, wie auch HTML, Zeilenumbrüche (also \r\n bw. \n) nicht an. Beachte aber: XML ist keine Darstellungssprache. Der Browser zeigt die Daten so an, wie er sie findet.
Deshalb wollte ich ja wissen, wie ich das ganze markieren muß, um dem Browser hier anzugeben, daß es sich um einen Zeilenumbruch handelt.
árn[y]ék schrieb:
Willst du die Ausgabe formatieren, kannst du z.B. mit Stylesheets arbeiten.
Ich bin der Meinung, daß Zeilenumbrüche nicht zwangsläufig was mit Formatierung zu tun haben. Formatierung ist ja sowas wie Schriftgröße, Schriftart, Ausrichtung, fett/kursiv/unterstrichen. Eben alles, was man zum Beispiel in modernem HTML per Stylesheet realisiert. Ein Zeilenumbruch gehört dagegen genauso zum unformatierten Text wie Punkt und Komma.
Aber völlig ungeachtet der Frage, ob Zeilenumbrüche jetzt zum Text oder zur Formatierung gehören: In wie weit sollen mir denn bei meinem konkreten Problem Stylesheets helfen? Wie soll ich denn mit Hilfe von Stylesheets bestimmen, wo ein Zeilenumbruch stattfindet?árn[y]ék schrieb:
Zudem solltest du Entitäten eigentlich nicht verwenden, sondern einen entsprechenden Zeichensatz deklarieren.
Und was ist, wenn der Text Zeichen aus mehreren Zeichensätzen enthält? Außerdem ist es bei Texten, die nicht in CDATA gepackt sind, doch auch üblich, diese Codes zu benutzen (was man ja schon daran sieht, daß er kein ä mehr akzeptiert, sondern „ haben will. Würde er diese Codierungen generell nicht wollen, würde er beides als Fehler anzeigen).