xsl:result-document und Sonderzeichen
Gerd
- xsl
0 hh0 Thomas J.S.
Hallo,
ich habe ein Problem bei der Transformation von XML zu XML. Die generierten XML´s müssen Elemente der Form <!CDATA[[...]]> enthalten. Beim Erzeugen dieser habe ich versucht diese Elemente mit <xsl:text disable-output-escaping="yes"><![CDATA[... zu erzeugen. Leider wird das disable-output-escaping ignoriert und somit < ausgegeben anstatt <. Ich denke das Problem hängt damit zusammen das ich <xsl:result-document href="Net.xml" method="xml" indent="yes" encoding="iso-8859-1"> benutze, da es in einer älteren Version ohne mehrere Ausgabedokumente funktionierte.
Folgend ein Teil meiner XSL.
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:result-document href="PrNet3.xml" method="xml" indent="yes" encoding="iso-8859-1">
<xsl:call-template name="sn"/>
</xsl:result-document>
<xsl:template name="sn">
<xsl:text disable-output-escaping="yes"><![CDATA[</xsl:text>
<!-- weitere Anweisungen die dann in CDATA Element stehen sollen -->
<xsl:text disable-output-escaping="yes">]]></xsl:text>
</xsl:template>
Falls jemand ne Idee hat wie sich das Problem lösen lässt, würd ich mich über ne Antwort freuen!
Gerd
Was ergibt der Code bei dir (Unicode Zeichen benutzt)?
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:result-document href="PrNet3.xml" method="xml" indent="yes" encoding="iso-8859-1">
<xsl:call-template name="sn"/>
</xsl:result-document>
<xsl:template name="sn">
<xsl:text disable-output-escaping="yes"><![CDATA[</xsl:text>
<!-- weitere Anweisungen die dann in CDATA Element sollen -->
<xsl:text disable-output-escaping="yes">]]></xsl:text>
</xsl:template>
Gruß,
Holger
Hallo,
@Thomas: Transformiere mit XMLSpy.
@Holger: Unicode Zeichen benutzen bewirkt leider keine Änderung.
Wenn ich die erzeugten xml´s in nem Browser darstelle, setzt er die Entities richtig ein. Allerdings benötige ich sie als xml um sie dann in ein Programm zu laden. Meine Notlösung zur Zeit:transformieren, in Browseransicht darstellen, kopieren und in neues XML file einfügen.
Gruß Gerd
Kannst du vielleicht deine xml quelle gekürzt (auf das problem beschränkt) hier einstellen und das xsl-file. muss ja nur das grundkonzept sein. dann könnte man mal weiter schauen.
Gruß,
Holger
Hallo,
@Thomas: Transformiere mit XMLSpy.
@Holger: Unicode Zeichen benutzen bewirkt leider keine Änderung.
Wenn ich die erzeugten xml´s in nem Browser darstelle, setzt er die Entities richtig ein. Allerdings benötige ich sie als xml um sie dann in ein Programm zu laden. Meine Notlösung zur Zeit:transformieren, in Browseransicht darstellen, kopieren und in neues XML file einfügen.
Gruß Gerd
... Hab es jetzt mit Saxon transformiert und da klappt es. Das reicht mir auch erstmal und da die Zeit drängt werd ich es so lassen. Danke nochmal für die Tips.
Gerd
Hallo,
ich habe ein Problem bei der Transformation von XML zu XML. Die generierten XML´s müssen Elemente der Form <!CDATA[[...]]> enthalten. Beim Erzeugen dieser habe ich versucht diese Elemente mit <xsl:text disable-output-escaping="yes"><![CDATA[... zu erzeugen. Leider wird das disable-output-escaping ignoriert
Welcher XSLT-Prozessor?
Grüße
Thomas