Subject: RE: [xsl] output encoding problem (second try) From: "Gabriel K" <gabriel.klappenbach@xxxxxxxxxxxx> Date: Sun, 21 Aug 2005 18:53:36 +0200 |
After some investigation I have come to the conclusion that IXSLProcessor always reads it input in ISO-8859-1 (it could also be windows 1252), regardless of any declarations in Stream, XML-file or Byte Order Mark. Does anyone agree or disagree with that? /Gabriel > -----Ursprungligt meddelande----- > Fren: Jonas Lundberg [mailto:my.name.is.hans@xxxxxxxxx] > Skickat: den 20 augusti 2005 08:20 > Till: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Dmne: Re: [xsl] output encoding problem (second try) > > Now that I think again about it, I am not as sure about the > uselessness of saving the file from Firefox. Sorry about that. > However, I still think that you should experiment with changing the > actual encoding beofre you input it to your system. (Because that > worked for me, although I used a different xslt processor.) > > Hans > > On 8/19/05, Jonas Lundberg <my.name.is.hans@xxxxxxxxx> wrote: > > If I click on "save" on that link, I get an empty .asp page. If I just > > view it in the browser, I get to see it in Firefox, which is > > completely useless. Why is it useless? Well, I had the same problem as > > you have, this week. When looking at a page through Firefox, it looks > > fine, but when transforming it through XSL, the Swedish characters > > were all wrong. So what I view in Firefox is a transformed file, not > > the actual file that you output. > > > > I had a mac character set, which was declared in the HTML file. It did > > not help to change the coding declaration in the file. What helped, > > was to change the actual encoding, by changing the source of the HTML > > file. I suggest that you experiment with changing the actual encoding > > in the source of your files. If you know that you can read an ISO > > encoding, than I suggest that you use that. > > > > Hans > > > > On 8/19/05, Gabriel K <gabriel.klappenbach@xxxxxxxxxxxx> wrote: > > > Yes, I know that the encoding declared is not actually the one used > for EDV. > > > That is the given problem. What I want to know is why and how it can > be > > > fixed. > > > Anyway, I have narrowed down the problem now, so perhaps now we can > solve > > > it. > > > > > > I'm using the MS IXSLProcessor to do the transformation: > > > > > > ' output with IXSLProcessor ----------------------------------------- > > > Set template = Server.CreateObject("MSXML2.XSLTemplate.5.0") > > > template.stylesheet = domXSL > > > set processor = template.createProcessor() > > > processor.input = oStream > > > 'processor.input = domXML > > > processor.output = Response > > > processor.transform() > > > > > > Now. If I use the oStream object as input, I get incorrect encodings > (that > > > are actually used). It seems that IXSLProcessor reads the adodbStream > in > > > ISO-8859-1 for some reason. > > > The oStream object loads it data directly from a COM-object, that > outputs a > > > UTF-8 encoded XML file. This XML file seems to be totally correct: > > > http://gabbah.no- > ip.org/mirakel/default.asp?ctype=KSP&cdoc=object&cnBookmark > > > =ARNEBACKEN&transform=no > > > So we assume there is nothing wrong with the input. The link above is > a > > > direct output of the contents in the oStream variable. > > > oStream is created through: > > > > > > ' setup ADODB Stream ------------------------------------------------- > > > dim oStream > > > set oStream = createobject("Adodb.Stream") > > > oStream.Type = 2 > > > oStream.Charset = "utf-8" > > > oStream.open > > > oStream.writeText o.document > > > oStream.position = 0 > > > > > > > > > On the other hand, if I *save the XML to disk* first, then load it > from disk > > > (via "domXML.load(Server.MapPath('KSP.xml')) ") and use THAT as input > to the > > > IXSLProcessor, the actual encoding is correct, and everything looks > fine! > > > > > > So, it seems to me that the problem is in how IXSLProcessor reads its > input. > > > It seems it reads it as ISO-8859-1 when it reads from a Stream but not > when > > > it reads from a DOMDocument? > > > It sounds weird to me, but that's all I can think of. So does anyone > know > > > more about IXSLProcessor and it's input? I couldn't find any relevant > > > settings for it in the documentation. > > > > > > (Same behaviour in Firefox as in IE. Transformation is done on the > server) > > > > > > /Gabriel > > > > > > > > > > > > > -----Ursprungligt meddelande----- > > > > Fren: Michael Kay [mailto:mike@xxxxxxxxxxxx] > > > > Skickat: den 17 augusti 2005 16:00 > > > > Till: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > > > > Dmne: RE: [xsl] output encoding problem (second try) > > > > > > > > I don't know if I'm the only regular on this list who generally > makes a > > > > point of not following links, especially links that cause programs > to > > > > execute. It's partly general caution, partly that I'm always busy, > and > > > > partly in a case like this because I don't think following the link > will > > > > tell me much, since there is so much happening between the output of > the > > > > XSLT transformation and the pixels that I see in my browser window. > > > > > > > > What's needed is to look at the input and output files of the > > > > transformation > > > > directly (with a hex editor) to see: > > > > > > > > (a) what the declared encoding is (what's in the XML declaration) > > > > (b) what the actual encoding is (what hex codes are used to > represent E D > > > > V) > > > > > > > > The chances are that the two don't match. > > > > > > > > Michael Kay > > > > http://www.saxonica.com. > > > > > > > > > -----Original Message----- > > > > > From: Gabriel K [mailto:gabriel.klappenbach@xxxxxxxxxxxx] > > > > > Sent: 17 August 2005 13:40 > > > > > To: XSL-list > > > > > Subject: [xsl] output encoding problem (second try) > > > > > > > > > > Hi. > > > > > I've been going at this problem for quite some time with no luck. > > > > > The problem is one of encodings. My XSL-file transforms an > > > > > XML document, and > > > > > also reads from another one using document(). For some > > > > > reason, these two > > > > > never display the characters E D V in them correctly *at the > > > > > same time* > > > > > (that is, using a specific encoding). > > > > > > > > > > Below is a link to the output of the transformation. First I > > > > > output with > > > > > IXSLprocessor, and below that using transformNode(). > > > > > > > > > > http://gabbah.no-ip.org/mirakel/ex.asp?ctype=KSP&cdoc=object&c > > > > > nBookmark=ARNE > > > > > BACKEN&cpKNP=* > > > > > > > > > > > > > > > As you can see, with IXSLprocessor, the XML read with document() > is > > > > > displayed correctly, but the main XML is not (the word > > > > > 'TrollhC$ttan' is > > > > > from the main XML). > > > > > With transformNode(), the main XML is displayed correctly, while > the > > > > > 'imported' one is not. (the word Kabelsk?p is from the imported) > > > > > > > > > > I'm trying to output everything in UTF-8. The output element > > > > > controls the > > > > > output encoding only when I use transformNode(), not with > > > > > IXSLProcessor. > > > > > If you change the encoding used in the browser, either the > > > > > main XML or the > > > > > imported will not look good! > > > > > *OBSERVE* that the transformation is successful if I > > > > > transform it in XMLSPY; > > > > > all characters display fine. (Then the main XML has been > > > > > saved to disk first > > > > > and the transformed). > > > > > So the problem is when I go via ASP! > > > > > > > > > > The asp: > > > > > http://gabbah.no-ip.org/mirakel/ex.asp.txt > > > > > the XSL: > > > > > http://gabbah.no-ip.org/mirakel/XSL/PC/KSPex.xsl > > > > > the main XML: > > > > > http://gabbah.no-ip.org/mirakel/ex.asp?ctype=KSP&cdoc=object&c > > > > > nBookmark=ARNE > > > > > BACKEN&cpKNP=*&transform=no > > > > > the XML imported with document(): > > > > > http://gabbah.no-ip.org/mirakel/XML/languageDependent.xml > > > > > XML-engine: > > > > > MSXML3 > > > > > > > > > > Any help with this would be MUCH appreciated.. I've been > > > > > struggling with > > > > > this for many many days! > > > > > > > > > > /Gabriel
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] output encoding problem (, Jonas Lundberg | Thread | [xsl] Seeking Examples of XSLT Memo, Alan |
Re: [xsl] xsl:result-document and S, Kenneth Stephen | Date | RE: [xsl] xsl:result-document and S, Michael Kay |
Month |