More than five years ago, Mark Pilgrim wrote an interesting article about the problems encountered by XML during the first years of its life (the XML standard was first published in 1998). I have to say that Mark correctly pointed out that one of the main problems of XML is related to the fact that many developers simply ignore how this format should be served. However, this is not the only problem.
After five years, browsers have improved their XML support. All major browsers now understand XML and treat it properly. However, the problem doesn't lie in the implementation itself, but in how this implementation has been developed. Simply put, the implementation of Firefox, Safari, Opera and Chrome is very similar or, in other words, interoperable. Instead, Internet Explorer implements XML in its own, proprietary way. So web developers are forced to duplicate their code in order to make even a simplest XML document work on all browsers.
That's why many developers don't like XML and prefer alternative formats, like JSON. Because of the lack of interoperability, XML cannot fullfill its goal: a semantic, universal web. A couple of months ago I took a seminar at the SMAU in Milan. I spoke on the possibility of having our blogs entirely written in XML. I got no feedback, in the sense that nobody criticized or praised me for my ideas. They simply asked me: "Does this stuff work in IE?". Well, if you put this in these terms, you missed the point of XML, you missed the point of why I'm here today. Maybe this stuff is only a dream, but I like to stick to it. I understand and love the XML standard.