Hallo,
Ich konvertiere gerade ein XML-Dokument in ein anderes. Dabei werden massig Entities der Form { in der Quelldatei genutzt. In der Ziel-XML-Datei sind diese Entities nun alle interpretiert (also es stehen die echten Zeichen da, zB 'ä'). Wie kann ich es erreichen, dass mir bei der XSLT-Transformation die Entities erhalten bleiben?
Kannst gar nichts machen, XML-Prozessoren müssen sich soi verhalten, da solche Entities inkludiert werden müssen. D.h. der Prozessor muss die ersetzen.
http://edition-w3c.de/TR/2004/REC-xml11-20040204/#included
"Ein Entity wird inkludiert, wenn sein Ersetzungstext an der Stelle der Referenz selbst geladen und verarbeitet wird, so als ob es Teil des Dokumentes wäre, und zwar an der Stelle, an der die Referenz steht."
So ziemlich die einzige Möglichkeit die es gäbe ist die Verwendung von CDATA für jeden Text.
<text>
<![CDATA[¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³]]>
</text>
<xsl:value-of select="text" disable-output-escaping="yes" />
in diesem Fall, bleiben die Entities als solches erhalten.
Grüße
Thomas