XHTML: <?xml?> shouldn't be required or a workaround needed for Microsoft stupidity

Petr Stehlik <[email protected]> Tue, 30 Sep 2003 17:42:16 +0200
Newsgroups gmane.comp.java.enhydra.xmlc
Message-ID <[email protected]>
Hi,

in short: we need the Xerces parser in XMLC to handle XHTML files
without the <?xml?> declaration on the first line. Reason: IE6 (and also
Opera7) does not switch to standards compliant CSS mode if the
<!DOCTYPE> is not the very first line. So lame, I know. But we need to
live with that somehow.

Some very relevant links:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnie60/html/cssenhancements.asp
http://gutfeldt.ch/matthias/articles/doctypeswitch.html

Solution to this problem has two parts: first, it should be possible to
XMLCompile a document without the <?xml?> declaration. Second, the
compiled java code should offer a switch to either enable or disable
generating the <?xml?> at the serialization time (writeDOM). It's
obvious that the existing XHTMLCompatibility() function would disable
generating this <?xml?> header..

Please note that http://www.w3.org/TR/xhtml1/#strict says "An XML
declaration is not required in all XML documents;" so I hope XMLC can be
fixed to not reply with:

Error: Document appears to be an HTML document; the xerces parser only
supports XML (does the document start with `<?xml ... ?>'?)

Thanks

Petr