I have been reading the discussion "Encoding of the PageTemplateFile"
of Philipp, Dmitry and Fred - through the Web: till now I have only
been subscribed to zope3-users. I wanted to add to that discussion, so
I just joined this zope3-dev list but obviously can't do a list reply
Philipp has already posted my points that I had mailed him privately
and in a reply to that message Fred had asked for pointers explaining
my point that IE gets confused when it sees <?xml ?> processing
instructions (Freds message:).
I had started the original discussion on zope3-users (utf-8/latin-1
content in page templates)
and had mentioned Jeffry Zeldmans book "Designing with Web Standards"
where I got my knowledge from
but there many places on the internet where this problem is mentioned
(do a search for doctype-switching, quirks mode, xml-prolog etc.)
This is just one link that explains the problem, an article
"Rendering Mode and Doctype Switching" from Holly Bergevin
I am citing from page 2 of this article:
Internet Explorer has an unfortunate bug involving the xml
declaration. If there is anything on the first line before the
doctype, IE6 will switch into "quirks" mode. This means that using
an xml declaration (<?xml version="1.0" encoding="UTF-8"?>) will
cause the behavior. An HTML comment, even an empty one, will do the
And quirks mode means the buggy box model etc. - So if one takes the
effort to write a correct xhtml page and specifies the doctype to make
the browser aware of this (doctype-switching) all this will still be
useless in IE if one specifies an xml-declaration in the first line.
So it should at least be possible to suppress the xml declaration
in the output. simpleTAL page templates e. g. have this possibility
in their expand output routine
> API Documentation > Simple TAL
expand has a parameter suppressXMLDeclaration.
Just my 2 cents.
Zope3-dev mailing list