> Cameron Edwards > Following some of the very interesting UK .gov mails of late, > I've been > involved in a fierce debate about serving XHTML 1.0 STRICT either as > application/xhtml+xml or text/html, content negotiation and the like - > whether, in fact, the world is ready for XHTML etc
Hmm...that old chestnut...right, my current view: A large part of the world is ready for XHTML served as application/xhtml+xml, but IE isn't (and won't, even in version 7), and neither are older browsers which may still be in use (particularly in Govt and Education). So, by just using application/xhtml+xml you are excluding any user agents that don't know what to do with it right from the start (imagine your grandmother with her IE6 going to her local council website - after you finally got her to use the "interweb" - to find information on some opening times or whatever, only to be presented with a "Open / Save as..." dialog). Add to that the draconian error handling of application/xhtml+xml aware user agents...one unescaped character or <br> instead of <br/> and the entire house of cards fall apart. Yes, you should have systems etc in place to ensure that this sort of thing doesn't happen (e.g. if you have content authors, give them an XHTML compliant editing environment, and run any external source such as integrated news feeds through a validator and fix them on the fly), but stuff can slip through in the most unusual of places. Although heavily frowned upon, you can use text/html (it's a SHOULD NOT rather than a MUST NOT) http://www.w3.org/TR/xhtml-media-types/ "The use of 'text/html' for XHTML SHOULD be limited for the purpose of rendering on existing HTML user agents, and SHOULD be limited to [XHTML1] documents which follow the HTML Compatibility Guidelines." Content negotiation, if done properly, works as an acceptable fallback mechanism to deliver XHTML 1.0 to HTML user agents. Of course, for the last two points, there is a fundamental philosophical issue that HTML user agents will see your XHTML as broken HTML...but off hand I can't remember if this causes any *actual* issues or if it's just a "but in theory we're doing a bad thing" kind of deal. With all of the above points many will ask: *why* do you need to actually use XHTML? There is no practical gain from the user perspective in using HTML compatible XHTML, not mixed with any other X languages, over simply going for HTML 4.01 Strict (and avoiding the use of attributes/elements that have been deprecated in XHTML). One of the only situations I came across was when I recently needed to run an existing page through XSLT to turn it into something else ... I couldn't have run an HTML 4 page through the transform (as noted on another recent thread here, I believe). The counter argument here would obviously be that the XHTML document should not be the final repository of information, that there should be a generic XML file which is then transformed to HTML 4.01 and any other required format. Ho hum... Sorry...hope my slightly twisty arguments and stream of consciousness type ramblings made some kind of sense... Patrick ________________________________ Patrick H. Lauke Web Editor / University of Salford http://www.salford.ac.uk ________________________________ Web Standards Project (WaSP) Accessibility Task Force http://webstandards.org/ ________________________________ ****************************************************** The discussion list for http://webstandardsgroup.org/ See http://webstandardsgroup.org/mail/guidelines.cfm for some hints on posting to the list & getting help ******************************************************