dean.edwards.name/weblog/2005/09/msie7-xhtml/

MSIE7 Will Not Support application/xml+xhtml MIME Type

Announced a few days ago on the IEBlog:

Why aren’t we supporting XHTML when it’s served as the “application/xml+xhtml” media type in IE7? I made the decision to not try to support the MIME type in IE7 simply because I personally want XHTML to be successful in the long run.

Obviously this is going to disappoint many web developers who’s expectations had been raised by a recent series of encouraging announcements from the IE development team.

Personally, I would prefer Microsoft to concentrate on fixing HTML/CSS bugs and implementing the missing CSS2.1 features. If implementing full XHTML support impacts on the release date of IE7 then my opinion is that we should wait for IE8. But that’s just me. Other web developers may have different ideas.

Comments (27)

Leave a comment

That’s so weak. They could easily support it if they actually put some effort into it. I can’t say that I know for a fact that adding support for it would be easy, but not supporting it is just being dumb, and they have a team of ‘talented’ developers that I’m sure could whip something up that at least placates us for now (like just shunts xml+xhtml into the strict doctype or something).

I’m kind of tempered here. On one hand, they’re fixing some stupid rendering bugs, making us happy, then they drop this load on us.

I agree with dean on this one.

What good brings the mime type for us web developers right now? Right, zero.

What good brings partial, if not nearly complete CSS 2.1 for us? Right, many things.

IE overall is such a wreck, lots of work has to be done in order to make it state of the art again, so I don’t think it would be possible to do *everything* until March 06 or whatever the deadline for IE7 is.

I just hope that they keep up and release a polished version, call it IE7.5 or IE8, what matters is that they keep it going now that they’re at it again.

Nathan – I think you’re being unreasonable. Right now, we can’t use the ‘true’ XHTML mime-type because IE 5 and 6 doesn’t support it. There’s pretty slim benefit to actually gaining it in IE7 (since it doesn’t claim support for XHTML 1.1 or 2 either).

I think it’s fantastic that the IE devs are being open about their limitations. So, there isn’t enough time to produce ‘proper’ XHTML support? The fact that they’re not going to do it is a good thing, because the developers are showing some care for the web at large.

I know that there are discrepancies between the IE team and ‘Microsoft the big and evil company marketing department’, but please try to remember that the IE team are the humans in all this. These are the ones who see the code and know what is technically reasonable. Their decision here is both mature and sensible, and the fact that they’ve told us so openly about it in advance is excellent too.

Just because Microsoft are so rich, does not mean that it makes business sense to pour all that money into one single application that ships with the OS. Get used to that. I think IE7 has gone further than I expected it to (initially my cynicism expected nothing more than new UI features). There seems to be real commitment to making IE ‘real’ again, and good luck to them.

  • Comment by: Ben Ward
  • Posted:

^ ben’s comment++

Nathan — Do you really want another half-assed MS implementation of a standard???

I didn’t think so.

  • Comment by: Andrew K
  • Posted:

I’m with you on this Dean. Let them leave it until they can do it properly.

  • Comment by: Olly
  • Posted:

What does XHTML do that HTML can’t? A few years ago everyone started jumping on the XHTML bandwagon, and I have no idea why (I suspect most of the jumpers didn’t either). I’m still happily plodding along with HTML. It does what I need.

If you’re gonna use XHTML, use it server-side for content storage (XHTML2 may be preferable here).

  • Comment by: Chris
  • Posted:

Right now, we can’t use the ‘true’ XHTML mime-type because IE 5 and 6 doesn’t support it. ====================================================== Will you say the same thing when IE8 comes out? If everyone would just use Firefox or Opera, all our browser problems would be solved.

  • Comment by: Rob Belics
  • Posted:

If everyone would just use Firefox or Opera, all our browser problems would be solved.

It’s all so simple! Just get everyone to convert to another browser. Why has no one thought of this before!?

  • Comment by: -dean
  • Posted:

@Chris: I agree. While I don’t think the march of progress is bad, I also recognize that most browsers today either don’t support XHTML at all, or do so in a limited fashion. Pages I write today, in HTML 4 Strict are fairly easy to convert to XHTML if and when the time comes that browsers step up to the XHTML plate. Not to mention, I can’t even think of a browser today that doesn’t support it fully.

As for useless hacks to MSIE, I understand that hackish support for xml+xhtml is not really ideal, but to not support it at all is also pretty crappy. They have a team of developers working on this problem, and the fact they haven’t or wont come up with a solution is almost unreal.

I guess you guys are right, though, I would rather them not have support for it, and fix it later than have them write something horrendous.

“if and when the time comes that browsers step up to the XHTML plate.” Firefox and Opera have for many moons. Now we know IE won’t for many moons.

  • Comment by: Rob Belics
  • Posted:

Rob: unfortunately that’s the problem. When they’ve got most of the world under their belt, it’s hard to just say “screw ’em” and just do it anyway, knowing full-well, that you’re locking out the majority of your users.

I know and agree. I just don’t know what should be done. The Justice Department told them to cut IE off from Windows but I understand where they can’t do that since it’s fundamental to all of Windows. (Whatever happened to that ruling anyway?).

If IE was a seperate app, I’m sure its usage would drop by 50%. Even though IE would advertise it to Windows buyers, there would be no advantage to using over FF or Opera or any other. Actually, there would be no desire to use it because it would no longer be a usable browser. Company websites would start pushing people to use FF or Opera because then they could use modern features and the web could move forward.

I’m sure MS thinks of this, too. If they don’t use IE then it’s just one more product you don’t need MS for. Then some may discover OpenOffice and on and on.

MS should not be the standard because no one company should rule the ‘net. MS is a member of the W3C but doesn’t follow their own recommendations. Now with holding back the web by not following standards, we have to wait beyond 2006. When is IE8 coming out?

I really need to get my own blog.

  • Comment by: Rob Belics
  • Posted:

Rob – I think the only thing we can do is to nag Microsoft when they do the wrong thing and encourage them when they do the right thing. It’s not much, but all we have is our voice. So get a blog already.;-)

  • Comment by: -dean
  • Posted:

You say: “my opinion is that we should wait for IE8”. What you do not seem to see is that you are asking everyone to wait until 2012. For a major corporation which disposes of huge and incredible financial, technological, material and human resources, this is unacceptable.

IE 7 will not pass Acid2 test. So, logically, we should also wait for IE 8 to pass such test in 2012 too.

Etc, etc, etc. We will have to wait again and again, for years and years to see a MSIE version which will fix all kinds of requests, standards and bug fixes, spec violations, again and again. Always.

<font> and vertical-align: top in malformed markup code CRASHES in IE6, even with SP2, even with the latest security update/patch. Everything was nicely reported and explained at
http://jehiah.com/archive/ie-vertical-align-top-vulnerability
and 2½ years later, we’re still waiting.

padding-top is ignored in nested box. webstandards.org has a reduced testcase in its archives on this:
http://archive.webstandards.org/css/winie/inline.html
9 years ago, in 1997, the whole thing was nicely, cleanly, gently reported. And we’re still waiting! The chances are we’ll all still be waiting for that bug to be fixed in 2006.

Aren’t you tired of waiting for the next MSIE version to fix bugs, requests, implement web standards support, etc.. ??

Gérard

I still don’t get what all the fuss is about.

Why is everyone using XHTML client-side? What does it do, that HTML can’t? Nothing really, its just more structured for parts.

Suggestion: store your content on the server in XHTML2 (or whatever is trendy these days) in your database. Serve the content as HTML with some simple XSLT. Few years on, you want to serve proper XHTML when there’s more of a need to, no problem! Just modify the XSLT.

If IE7 did support everything we could possibly imagine, would everyone switch? I doubt it, there will still be many, many users running IE6 and below, or any number of other browsers (portable devices, etc.). So people would then serve XHTML with proper MIME-type to those devices capable, and HTML to the rest, perhaps? Why not just make life easier for yourself and serve HTML to everyone? Does exactly what you want, and its simpler.

  • Comment by: Chris
  • Posted:

It is possible to server valid XHTML to Internet Explorer with an appropriate MIME type.

Spot the hack:

http://dean.edwards.name/my/application_xml.html

  • Comment by: -dean
  • Posted:

“If everyone would just use Firefox or Opera, all our browser problems would be solved.”

Says you – I still consider IE far superior than both. The way IE was made you can do anything with it you want, which of course led to all the security issues – but the fact remains, that they have pretty much got that fixed up, made it a bit more selective in when it can do whatever it wants – but the fact remains – it still can do anything that you want it to. Heck, if I designed for Moz, I would just tell IE users that they have to accept one activex download from me – and then put the Moz activex webbrowser control in the webpage, and my webpage inside of that

End of problem.

I design, I use CSS non stop, dom – two dedicated linux servers, dont know crap about ASP as I am completely a PHP guy – so I am not some sort of freaked out over the top Microsoft is the greatest thing on earth guy, but am someone that prefers the most powerful tools I can get my hands on to work with. Right now as it stands, that is IE hands down. Nobody in five years of Microsoft doing nothing with the actual webbrowser has yet come close to that level of power that they provide you.

But then again, you got that box hack trip trap whatever – its funny, I have no clue what you guys are even talking about on those things – but then, I always figure out what to do what I want to do with whats in front of me, and not go look for what other methods are written in a book but not in actual production use by the product I am developing for. I have never not been able to get a webpage to look exactly the way I want, so I dont really feel like I am missing anything either.

  • Comment by: Zach
  • Posted:

ok – and that is cool as hell:)

(the little favicon’s next to the posts)

  • Comment by: Zach
  • Posted:

It’s not the box-hack trip trap dude. He’s saying “oh look, they can’t even keep up”. Ever tried to access Element.prototype? Ever think of how powerful that might be? Entire 200kb JavaScript libraries were created to create cross browser equivalents because IE doesn’t support it.

:hover, :active? We have suckerfish hacks ot make IE work – but all the other browsers are fine.

input[type=”submit”] { ? Nope. IE can’t handle it.

How about rounded corners?

SVG? No, not even in the works.

XBL? No… they’re using HTC instead, which is completely lame in comparison btw.

XMLHttpRequest? No, not unless you want to loop through and try ActiveX.

What does Microsoft offer? ActiveX? HTC? Scripting.FileSystemObject if you have permission? What’s so powerful? Only things that are security breaches! Nothing else. 5.5 was powerful before they “plugged the holes” aka disabled all the powerful features.

I’m not anti-microsoft either. I use ASP/AJAX for my website, and find ASP 3.0 to be very powerful – it lets me literally Response.Echo( myObject.toSource() ); to throw some JSON to the client. IE is weak, and if they let it die, then people would be able to finally use more powerful technologies without fear of losing the IE customer base.

Thanks for listening to the rant.

  • Comment by: Dan
  • Posted:

Using XHTML2 and XSLT would be nice if it wasn’t for the browsers choking on stuff like closed script tags (been there, done that). So you’ll have to use plaintext output, which is a pain compared to the native XSLT transformations. Not to mention the processing overhead of having every single page pass through a 3000-line transformation.

I’ve also found that some CSS rules can be really hard to match when using HTML’s mess of mandatory/optional/forbidden end tags.

Sure HTML 4 is “good enough”. And HTML 2 sure did the job, no? Hell, why don’t we go back to sending paper around? All the design freedom in the world, and no worries about server downtime.

Joking aside, XHTML is a natural step in the evolution of the web, and especially XHTML 1.0 is so close to HTML 4 that it’s just ridiculous that they don’t have the time to support it.

I’d bet they are more busy developing the next “smart tags” or other non-standard crap to make the life of modern web developers just a little bit more miserable.

  • Comment by: Victor
  • Posted:

Just to hit one thing

– and I am not arguing or flaming, I actually am trying to figure out what the big deal is –

“How about rounded corners?”

Sometimes you want rounded corners – I can understand that. What I dont understand is whats so wrong with four tiny gifs or pngs?

(and I do completely understand the png thing, it is just a pain in the ass to do with filters)

These days, anything I do is already layered – and I am more and more going with stacking iframes, instead of divisions. its not terribly difficult to throw four rounded corners in the four corners of each page or division. As I said, I already am positioning everything anyway because I dont like the way background images work.

But I am also a guy that just doesnt care what the code looks like, I am not going to get excited about a few hundred lines in my global js files, nobody is going to notice, even on dial up, and nobody is going to notice how elegant my html/script code looks that really impacts anything I do.

I think that above paragraph goes for pretty much everyone. Yes, if you working on a community project and multiple people are going to be working on the code, then it matters what it looks like – though not that much cause it takes 30 seconds to run it through Tidy or something similiar.

I guess that is what I dont get, why is anything that is doable, with as much work as linking to an external js file, and calling it as a function, that big of a deal? Why is anything that we can make just work, with little effort, that big of a deal? Its a much bigger deal to me to learn a different way to do what I do, which is going to take real time, instead of just doing it which takes me as long as it takes to type four or five words together.

And the :hover, :active stuff honestly annoys me to no extent. Yes it would be a beautiful thing if it was there. But its not that big of a deal that it is not, and in fact – many times, I do not like the behavior of hover, even though its simple to use – and you can make great looking tabs and such with pure css using them, you still have the problem of if they click elsewhere on the page – its no longer active. But what really gets me about that specific complaint is it was Microsoft, through the use of a non standard, completely IE only css tag, that first introduced the psuedo class idea.

  • Comment by: Zach
  • Posted:

The big deal is that things that are supposed to be there aren’t and the things that are there don’t work like they are supposed to.

The thing about “rounded corners” or even tabbed browsing gets me a little bit because when a browser gets it, like you read about in IE, people act like it’s the second coming of browsers.

The thing is the big picture and not one or two little features and the big picture is what I said in the first paragraph.

  • Comment by: Rob Belics
  • Posted:

Dean, shouldn’t you credit the WASP for the entire text of this post?

  • Comment by: halr9000
  • Posted:

halr9000 – I wrote the WaSP text. I cross-posted here to get comments…

  • Comment by: -dean
  • Posted:

[…] evelope Team最近對支援標準好像放出不少消息, […]

As always I’ll be happy if they just update it a bit more reguarly. The problem (IMO) with IE, in the main isn’t the lack of support for standards or the security (ok bear with me here) its the fact that once its released it stagnates so that we’re stuck with what it can do for years, thus we’re stuck with it (to some degree) by not being able to get everyone to download Firefox / Opera or even know what there missing by not doing so. If Microsoft made a commitment to at least update it once a year (still a long time but…) and make it download / update almost automatically (via MS Update) we’d (the royal we possibly) be a lot happier; this wouldn’t be too hard would it?

  • Comment by: scrambled
  • Posted:

Heh, it’s amazing how some people just don’t “get it” when it comes to XHTML..

Mesopotamia 5000 BC: “Heh, look at this guy, he’s carved a round, thick piece of wood! What is he ever going to use that for? That’ll make the worst table ever!”

I’m not saying XHTML comes anywhere near the importance of the invention of the wheel, but there’s a similar shortsightedness and aversion to learning about something new here. XHTML is going to be used in ways we can’t imagine right now, and it’s going to be much, much richer, consistent and versatile than HTML is today.

  • Comment by: Trent Steele
  • Posted:

Comments are closed.