Re: Bug in Mozilla parser

Peter Flynn <[email protected]>
Newsgroups gmane.comp.mozilla.devel.xml
Organization Usenet Labs Bozon Detector Facility
Message-ID <[email protected]>
Vinu wrote:
> What i can see in memory(i use C/C++ version of the parser in
> VisualStudio) is that the XML buffer is represented as one byte per
> character.
> For e.g space char is represented as 32(dec) and so on.
> Now this buffer also contains the character ¤ which has ASCII code
> 164(decimal) or A4(hex).
> When the parser starts parsing this buffer to build a DOM tree, it is
> replacing ¤(code 164 and represented as one byte) with two bytes(which
> when represented in ASCII are the characters ¤). I think this is an
> UTF-8 representaion, where two bytes are used to represent ¤, whereas
> in ASCII/latin1 it would be represented with just one byte.

OK, now I understand. Sorry for being so slow. 

> So when i get back the XML from the DOM, and i am expecting a latin1
> encoding, i get ¤ wherever ¤ was expected.

Does your XML document start with an XML Declaration specifying
ISO-8859-1 as the character encoding? If not, then UTF-8 is assumed.

> So is the behaviour of any XML parser to store XML internally in UTF-8

Given that parsers are mandated to support UTF-8, probably yes.

> and then probably its the responsibility of the application using this
> parser to convert this XML in UTF-8 encoding to any encoding which it
> wishes.

Yes, that's probably true also.

///Peter
-- 
XML FAQ: http://xml.silmaril.ie/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.