Undgå konvertering
Hejsa,Jeg sidder lige lidt fast i et problem, som egentligt burde være simpelt. Jeg er ved at sætte CDATA sections rundt om alle tekst noderne, da disse kan indeholde unicodes (som ’). Jeg ønsker imidlertidigt IKKE disse værdier ændret til en karakter (hvilket sker).
Hvis mit XML ser ud som følger:
<root>her er data ’ og mere ’</root>
Og stylesheetet som virker:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="*">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:apply-templates />
</xsl:copy>
</xsl:template>
<xsl:template match="text()">
<xsl:text disable-output-escaping="yes"><![CDATA[</xsl:text>
<xsl:value-of select="."/>
<xsl:text disable-output-escaping="yes">]]></xsl:text>
</xsl:template>
</xsl:stylesheet>
Bliver outputtet (hvilket er forkert):
<root><![CDATA[her er data ' og mere ']]></root>
ønsket output skulle gerne være:
<root><![CDATA[her er data ’ og mere ’]]></root>
Please hjælp!!
Jacob