Thomas J.S.: XSL:FO und XML: Unicode wird nicht interpretiert

Beitrag lesen

Hallo,

Also ich habe jetzt alle CDATA aus der XML-Datei herausgelöscht. Dafür steht bei jedem "value-of" ein disable-output-escaping="yes".

Wenn du das CDATA gelöscht hast, ist das Attribut auch nicht notwendig, das hättest du nur gebraucht wenn CDATA geblieben wäre.

Beim Erzeugen der Pdf-Datei klappt alles, bis man ein "<" Zeichen in die Daten einfügt. Dann kommt die Fehlermeldung "A name was started with an invalid character".

Ja, nachdem du CDATA gelöscht hast, muss der Parser meckern.

Also wenn es nicht anders geht, könnte ich die XML-Datei vorher durchlaufen und das "<" in ein Unicode-Zeichen umwandeln. Das sollte wahrscheinlich funktionieren, oder? Gibt es denn viele solcher "kritischer Zeichen", die nicht vorkommen dürfen?

Wenn du das machst, sollst du < und & duch die Entities &lt; und &amp; (oder &#38;) ersetzen. Bei > ist es zwar nicht wirklich notwendig, aber das kannst du auch durch &gt; ersetzen.
ABER wenn du diese Ersetzungen machst, muss du das Attribut disable-output-escaping="yes" löschen, denn sonst hast du &lt; etc. dann im PDF stehen!

Grüße
Thomas