RE: [xsl] Re: encoding error when using cdata

Subject: RE: [xsl] Re: encoding error when using cdata
From: "Margaret Gruen-Kerr" <margaret.gruen-kerr@xxxxxxxxxx>
Date: Tue, 24 Feb 2009 09:02:32 +0100
Have you tried adding an encoding attribute to the xsl:output statement

<xsl:output indent="yes" method="xml" cdata-section-elements="Name LongDesc"
encoding="WINDOWS-1252"/>


Margaret Gr|n-Kerr


-----Original Message-----
From: Mike Stroud [mailto:stroudmw@xxxxxxxxx]
Sent: 24 February 2009 07:23
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: [xsl] Re: encoding error when using cdata

Hello Michael & all,

Many thanks for your reply. What I don't understand is why the resultant XML
file is encoded like this: <?xml version="1.0"
encoding="UTF-16"?>. I can't seem to change it! What I want is WINDOWS-1252,
but I end up with UTF-16 no matter what I do (The source XML document is
UTF-8). My XSL looks like this:

<?xml version="1.0" encoding="Windows-1252"?> <xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
<xsl:output indent="yes" method="xml" cdata-section-elements="Name LongDesc"/>
<xsl:template match="/" xmlns:wc="http://www.ptc.com/infoengine/1.0";>
<xsl:copy-of select="."/>
</xsl:template>
</xsl:stylesheet>

Thanks again,

Mike.


> Date: Mon, 23 Feb 2009 09:35:00 -0000
> To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
> From: "Michael Kay" <mike@xxxxxxxxxxxx>
> Subject: RE: [xsl] encoding error when using cdata
> Message-ID: <F96EBBFDBCD64FF788886401A4C8328C@Sealion>
>
> The error is Microsoft-specific, see for example
>
> http://support.microsoft.com/kb/275883
>
> Incidentally, your code shows inconsistencies in the spelling of
> "description" and "longDesc". XML is case-sensitive.
>
> Michael Kay
> http://www.saxonica.com/
>
>> -----Original Message-----
>> From: Mike Stroud [mailto:stroudmw@xxxxxxxxx]
>> Sent: 23 February 2009 09:13
>> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
>> Subject: [xsl] encoding error when using cdata
>>
>> Hello all,
>>
>> I've been experimenting with cdata because I've got some funny
>> characters in my XML files. I've got something like this:
>>
>> <?xml version="1.0" encoding="UTF-8"?> <wc:COLLECTION
>> xmlns:wc="http://www.ptc.com/infoengine/1.0";>
>> <ChangedParts NAME="ChangedParts" TYPE="Unknown" STATUS="0"> <Part>
>> <Name>446RLi SMD ASSY</Name> <description></description>
>> <LongDesc></LongDesc>
>>
>> etc...
>>
>> The XSL looks like this:
>>
>> <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0"
>> xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
>> <xsl:output indent="yes" method="xml"
>> cdata-section-elements="Name Description Longdesc"/> <xsl:template
>> match="/" xmlns:wc="http://www.ptc.com/infoengine/1.0";>
>> <xsl:copy-of select="."/>
>> </xsl:template>
>> </xsl:stylesheet>
>>
>> And the resultant XML turns out like this...
>>
>> <?xml version="1.0" encoding="UTF-16"?> <wc:COLLECTION
>> xmlns:wc="http://www.ptc.com/infoengine/1.0";>
>>
>> etc...
>>
>> I now get the following error: Switch from current encoding to
>> specified encoding not supported. Line: 1. <?xml version="1.0"
>> encoding="UTF-16"?>
>>
>> Does anyone know how I can fix this? I've tried different encoding
>> methods in the XSL file, but they appear to be ignored.
>>
>> Thanks,
>>
>> Mike.

Current Thread