This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
Reported by Björn Höhrmann <derhoermi@gmx.net>: I tried to validate http://www.websitedev.de/xhtml/xhtml1/ as ISO-8859-1 encoded XHTML 1.0 Transitional document. The validator responds * DOCTYPE Override in effect! Any DOCTYPE Declaration in the document has been suppressed and the DOCTYPE for «XHTML 1.0 Transitional» inserted instead. The document will not be Valid until you alter the source file to reflect this new DOCTYPE. The document located at <URL:http://www.websitedev.de/xhtml/xhtml1/> would validate as XHTML 1.0 Strict if you updated it to match the Options used. Yes, the page would validate es XHTML 1.0 Strict, but who cares about that? It has a XHTML 1.0 Transitional document type declaration and I selected "override" to XHTML 1.0 Transitional [...].
Correction: The file has a _Strict_ doctype, not a Transitional one, but the output should still refer to the Transitional DTD as that's what we actually tried to Validate against.
&preparse was being too clever for it's own good and bailing out early if it had already seen a DOCTYPE. Since we call &preparse both before and after &supress_doctype, the new DOCTYPE was never seen by &preparse. &preparse now resets DOCTYPE, Root element, and Charset before it starts parsing the document.