text/html. Instead, it should be served as application/xhtml+xml. This MIME type is defined in RFC 3236, published in January 2002. The specification of which MIME types should be used for which versions of HTML is here. For XHTML 1.0, either MIME type is permitted.
Problem: Microsoft Internet Explorer, up to and including IE6SP1, does not understand application/xhtml+xml. Despite the fact that there is a full XML parser inside IE (and has been since IE5), a document served with type application/xhtml+xml brings up the "What do you want to do with this file?" dialogue.
Solution 1: make everybody use a Real Web Browser, such as Mozilla (and other Gecko-based browsers: FireBird?, Netscape 6+, Galeon, Epiphany), Konqueror, Safari, or Opera. Unfortunately, this is beyond the scope of AstroGrid.
Solution 2: forget XHTML 1.1, at least till its more widely supported. There are several objections to this. Among the more hysterical: are we really prepared to let one company hold hostage the adoption of Internet standards? More prosaically, it turns out that Internet Explorer users are a small minority of the users of the AstroGrid web site. We must support IE, but that doesn't prevent us from giving the best possible experience to users of more standards-compliant browsers. Call me strange, but that includes handing Gecko something it can parse without using quirks mode.
Solution 3: sniff the browser type, and modify the HTML and MIME type appropriately. This is currently the implemented solution, but its a kludge.
Solution 4: real content negotiation - hand XHTML 1.1 only to browsers that Accept: application/xhtml+xml. This is my preferred solution, but I haven't yet worked out how to implement it in Cocoon.
-- TimGoodwin - 04 Feb 2004![]() |
Click here for the AstroGrid Service Web |
This is the AstroGrid Development Wiki |
|