This is a very old article. It has been imported from older blogging software, and the formatting, images, etc may have been lost. Some links may be broken. Some of the information may no longer be correct. Opinions expressed in this article may no longer be held.
David Dorward wrote:
Jukka K. Korpela wrote:
But the W3C makes a big noise about it! See http://www.w3.org main page right now. They have created a working draft for XHTML 1.1 Second Edition.
Which says that XHTML 1.1 SHOULD be served as text/html… and references a document which says it SHOULD NOT be served as text/html to support that.
The other major change is that it adds a Schema to validate your X(HT)ML against. All XHTML 1.1 documents must continue to carry a DOCTYPE though, and conform to the DTD.
Overall, I think I am for allowing XHTML 1.1 to be served as text/html, provided it meets the compatibility guidelines in XHTML 1.0 Appendix C.
David, on your web page you write:
Additionally, as far as I know, nothing added in XHTML 1.1 (i.e. Ruby annotation) is supported by legacy user agents. So there seems little point in allowing it to be served as text/html.
As it happens, Ruby annotation is only supported by Internet Explorer 5.0+ for both Windows and Macintosh — precisely the sort of browsers that benefit from allowing XHTML 1.1 to be served as text/html.
(With a bit of CSS trickery, you can fake Ruby support in other browsers.)
Yes, it would be nice if Internet Explorer supported XHTML properly, and sending it as application/xhtml+xml serves as a useful stick to beat Microsoft with, to encourage them to add proper XHTML support to their browser.
You could argue that sending XHTML as text/html prevents you from taking advantage of browsers’ stricter parsing methods. But browser makers are free to apply these strict parsing methods to XHTML documents served as text/html — there is nothing in any specification that even suggests that they should not.
Allowing XHTML 1.1 to be served as text/html finally gives the CJK community a standards-compliant way of serving ruby annotated text to a user agent that supports ruby annotated text.