(This text was freely translated from Swedish from this forum thread: http://www.webforum.nu/showthread.php?t=106868&page=2#post1176004 ) jarvklo wrote: sl0k wrote: See no reason to use xhtml when you don't serve the page as application/xhtml+xml since the browser treats the page as html 4 anyway http://hixie.ch/advocacy/xhtml http://keystonewebsites.com/articles/mime_type.php See no reason to *not* use backwards compatible XHTML to browsers that don't handle application/xhtml+xml when you deliver XHTML as a start anyway :) Me neither (you don't win anything on changing Appendix C XHTML to HTML4 more than that it becomes valid HTML4 rather than invalid HTML4), but on the other hand I don't see any reason to deliver XHTML rather than HTML4 when it has to work as HTML4 anyway. jarvklo wrote: Comment on the first link: HTML4 is discontinued [...] That the HTML WG have stopped developing HTML4 is a pity (not least having in mind that it's a crucial part of XHTML), but fortunately there are some others (http://whatwg.org/) that have realized that HTML4 is in a need of an update. jarvklo wrote: Comment on the other: To "translate backwards" machine wise is not a guarantee that you get "good code" No, and not least when you use string substitution; it can have "unexpected" consequences (like for instance that it changes "xml:lang" to "lang" in other places than in tags). jarvklo wrote: (since there are some more or less outstanding differences between HTML4 and XHTML1 that aren't clear from the summaries in the spec...). Try for instance to set a id on in purpose to use it as a CSS selector (good and practical method to separate between pages to generate them with different id on html otherwise) ... If you use the method in "link 2" you will (regardless whether you use strict, transitional or frameset) get a non-valid HTML4 version of your page... xhtml 1.0 Strict: HTML4.01 Strict Ooops! No ID here in HTML 4 That id="" isn't allowed on was a mistake in the spec that was fixed in XHTML 1.0 Second Edition but not in HTML4 or XHTML 1.1 (not even Second Edition). It obviously works equally well to use in HTML4 as in XHTML 1.0, only that it isn't valid according to the DTD. jarvklo wrote: There are more differences - so that method actually requires thorough knowledge of both languages to avoid the risk of "falling in the trap"... ;) If you want XHTML 1.0 to work as both text/html and as XML you have to know both languages anyway because the browser "thinks" that one of them is HTML. For example you have to know that SCRIPT and STYLE is treated as #PCDATA in XHTML but as CDATA in HTML, that CDATA sections works in one but not in the other (at least in practice), that namespace aware DOM methods must be used in one but not in the other, and so forth. From the browsers' point of view there's no difference between XHTML as text/html and HTML4, so it doesn't matter if you change Appendix C XHTML to valid HTML4 before you serve it as text/html or not. Simon Pieters