Hallo nochmal,
mein alter Beitrag (http://forum.de.selfhtml.org/archiv/2006/6/t131634/) wurde schon ins Archiv verschoben, aber leider war meine Frage noch nicht ganz geklärt. Ich glaube, ich muss mein Problem nochmal anders formulieren: Ich habe eine XML-Datei, die ich mittels XSL:FO in ein Pdf umwandeln möchte. Das klappt wunderbar, so lange in der XML-Datei die "richtigen" Zeichen stehen, die nicht codiert sind. Mal ein Beispiel:
Daten in der XML-Datei:
<key><![CDATA[Hallo Welt]]></key>
Auslesen in der XSL-Datei:
<xsl:value-of select="key"/>
--> Anzeige im Pdf: Hallo Welt
Aber das funktioniert nicht bei japanischen Schriftzeichen, da diese in der XML-Datei codiert vorliegen. Das Problem:
Daten in der XML-Datei:
<key><![CDATA[ロジウ]]></key>
Auslesen in der XSL-Datei:
<xsl:value-of select="key"/> oder <xsl:value-of select="key" disable-output-escaping="yes"/> (gleicher Effekt)
--> Anzeige im Pdf: ロジウ
Aber gewünschte Anzeige: シルバ (oder was ähnliches)
Die japanischen Schriftzeichen werden also auf dem Weg zum Pdf nicht in die richtigen Zeichen konvertiert, sondern es bleibt &#.....; stehen. Wenn ich nun in der XML-Datei mit Suchen-Ersetzen die Zeichenketten <!CDATA[ und ]]> entferne, werden die japanischen Zeichen richtig interpretiert und statt ロ steht im Pdf z.B. シ. Also zum Beispiel:
Daten in der XML-Datei:
<key>ロジウ</key>
Auslesen in der XSL-Datei:
<xsl:value-of select="key"/>
--> Anzeige im Pdf: シルバ
Dann bekomme ich allerdings Probleme, wenn ich ein < oder & in den Daten der XML-Datei habe. Erst dachte ich, dass ich in der XML-Datei das < und & in < und & umwandelt könnte, aber wie soll ich das machen? Wenn ich < ersetzen will, erwische ich natürlich auch die ganzen anderen < Zeichen, die bleiben müssen. An der Generierung der XML-Datei kann ich schlecht etwas ändern. Ich kann die XML-Datei nur nachträglich durchparsen und etwas suchen und ersetzen. Das ganze müsste automatisch funktionieren können.
Ich hoffe, mein Problem ist etwas klarer geworden. Hätte jemand noch einen Tipp für mich?
Schöne Grüße,
Cathie