- From: Mikko Rantalainen <mikko.rantalainen@peda.net>
- Date: Wed, 14 Nov 2007 15:44:49 +0200
- To: www-html@w3.org
- Message-ID: <473AFBD1.8010201@peda.net>
David Woolley wrote: > Paul Kieffer wrote: >> www.ucog.org/news1.php?strArticle=NEWS/2007-10-20.htm > > The page is invalid XHTML, which means it is also invalid under Appendix > C rules. If this were served as XHTML, it would need a CDATA section > around the script; you could also use entities to protect the "<", etc. > If it were served as proper HTML, best practice would be to put an > HTML comment around the script content. None of these options are > available under Appendix C rules (you cannot use entities to protect > scripts in HTML as they are implicitly CDATA sections), so you must have > the script out of line. In fact, one can write something like <script type="text/javascript"> //<![CDATA[ ... //]]> </script> and it will work in both HTML and XHTML mode. (http://developer.mozilla.org/en/docs/Properly_Using_CSS_and_JavaScript_in_XHTML_Documents) Of course, if you mind about *old* browsers, you need to write something like <script type="text/javascript"><!--//--><![CDATA[//><!-- ... //--><!]]></script> (http://www.hixie.ch/advocacy/xhtml) > My advise would be to revert to HTML 4.01 and use HTML comments to > protect the scripts against earlier browsers. Many people think that > Appendix C (serving XHTML as text/html) was a bad idea; it relies on > certain non-compliances that are common in text/html browsers. I agree. If you want to use XHTML, the best way is to check the Accept-header and if it doesn't contain "application/xhtml+xml" then the server must encode the content as a real HTML document. Sending an XHTML file with "text/html" content type will not win anything over real HTML and can cause problems in the worst case. -- Mikko
Received on Wednesday, 14 November 2007 13:45:07 UTC