[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

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


Subject: RE: [xsl] Re: encoding error when using cdata
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Tue, 24 Feb 2009 09:20:09 -0000

I strongly suspect that you are using the DOM serializer rather than the
XSLT serializer. Check the code used to run the transformation: if you are
sending the result to a DOM destination, then the XSLT processor is not
doing the serialization, and everything you say in xsl:output is ignored.

Michael Kay
http://www.saxonica.com/ 

> -----Original Message-----
> From: Mike Stroud [mailto:stroudmw@xxxxxxxxx] 
> Sent: 24 February 2009 06: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
Keywords