[Python-Dev] PEP html display in IE
David Goodger
goodger@python.org
Mon, 11 Nov 2002 20:48:31 -0500
Thomas Heller wrote:
> Some PEPs, probably those formatted with reST, do not display any more
> in my IE 6 (Version 6.0.2600.0000), for example
> http://www.python.org/peps/pep-0301.html
> and
> http://www.python.org/peps/pep-0258.html.
>
> It says:
>
> Use of default namespace declaration attribute in DTD not
> supported. Error processing resource
> 'http://www.python.org/peps/pep-0258.html'. Line 8, Position 17
> <html lang="en">
I've put (truncated) variations of PEP 258 on the web with DOCTYPE,
comment, and/or "<?xml?>" removed. Please take a look at each
variation and tell me the results (any errors or differences seen):
A) http://www.python.org/peps/pep-0258.html
B) http://www.python.org/peps/pep-0258-moved-comment.html
C) http://www.python.org/peps/pep-0258-no-comment.html
D) http://www.python.org/peps/pep-0258-no-doctype.html
E) http://www.python.org/peps/pep-0258-no-xml.html
F) http://www.python.org/peps/pep-0258-no-nothing.html
G) http://docutils.sf.net/spec/pep-0258.html (to compare servers)
I don't have MSIE6 at home, and MacOS/MSIE5.1 has no problem with the
HTML, so I'm depending on reports.
The only thing I've done recently is to add an "AUTO-GENERATED HTML;
DO NOT EDIT!" comment to PEPs. I did the same thing to plaintext PEPs
though (PEP 0, PEP 1). Plaintext PEPs don't have the "<?xml?>"
processing instruction at the top, so it may be an interaction.
When I look at the PEP from the web (Win2K, MSIE 5.00.3315.1000), I'm
shown the XHTML source (*not* the rendered page), but no error. When
I look at the exact same HTML & stylesheet from my local HD, there's
no problem at all; I get the page rendered properly.
I ran http://www.python.org/peps/pep-0258.html through the XML
validator at http://www.stg.brown.edu/service/xmlvalid/ and it spewed
out a bunch of errors related to the XHTML DTD, and a couple for
pep-0258.html itself. The latter (marginwidth and marginheight
attributes not allowed on <body>) were easy to fix on both reST and
plaintext PEPs. The W3C XHTML DTD errors are not so easy to fix ;).
ReStructuredText PEPs use the following DOCTYPE line:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Then I tried http://www.python.org/peps/pep-0001.html, a plaintext
PEP, and the results from XML validator were even worse. The DOCTYPE
for plaintext PEPs is:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR/REC-html40/loose.dtd">
That's an SGML-based DTD though, not XML, so I'd expect the XML
validator to barf.
The W3C validator, http://validator.w3.org/, reported only the
document errors, no DTD errors. From all this I'm doubtful that the
DTD errors (or validator bugs and/or over-strictness) are the culprit.
I did a Google search for "Use of default namespace declaration
attribute in DTD not supported" and got a bunch of hits. Short form:
this appears to be an MSIE/MSXML bug. Highlights:
>From http://www.biglist.com/lists/xsl-list/archives/200011/msg00135.html:
From: Dimitre Novatchev
In case you use msxml.dll version 8.0.5226.0 (from W2K SP1), then
you'll get the error message "Use of default namespace declaration
attribute in DTD not supported".
>From http://www.biglist.com/lists/xsl-list/archives/200011/msg00266.html:
Subject: IE5 xmlns DTD attribute BUG was Re: Use of default
namespace declaration
From: "Jonathan Borden" <jborden@mediaone.net>
Date: Mon, 6 Nov 2000 15:10:40 -0500
Joshua Allen <joshuaa@microsoft.com> wrote:
> I think this was lax conformance on part of the earlier parser,
> and has since been tightened. See
> http://www.rpbourret.com/xml/NamespacesFAQ.htm#q7_2.
Err... no. This is a BUG. Explicitly an xmlns attribute can be
defaulted in a DTD (see section 4.3 in the article you quote
above.) This error message from IE5 is a non-conformance. See
http://www.w3.org/TR/REC-xml-names Namespace Constraint: Prefix
Declared if a question remains.
Another BUG in IE5s handling of DTDs ... parsing of DTDs (using
the Sept MSXML3) hangs the browser when the SYSTEM ID is a URI of
the form http://... but not when the same DTD file is located on
the local disc. (This behavior is not constant but reproducable
across multiple installations and people in multiple organizations
... i.e. I am not the only one having this problem).
So what's the solution? Ignore the browser bug or work around it?
-- David Goodger <goodger@python.org> http://www.python.org/peps/
Python Enhancement Proposal (PEP) Editor
(Please cc: all PEP correspondence to <peps@python.org>.)