I've just read Daniel's post, and since shame is a powerful drive, here's my non-requested answer.
I'm one guy - quite possibly, the only one - that switched from a full-fledged XML parser like libxml2 to GMarkup. Believe you me: I would have rather stayed within the blissfulness of DOM, within the ease of development of a complex and powerful parser, within the safety of one of the best XML parser around the F/OSS world.
I would have used libxml2 (and in fact, I did begin using it) - because of the work that DV (and every other developer involved) put into libxml2; I state that again: it's a wonderful library, and it's great to have it, and for it I'll have to buy Daniel enough beer to knock him unconscious until Gnome 2.14. :-)
That said, I switched to GMarkup because libxml2 is also a heavy dependency for Gtk+. It's a 1M+ library, and a dependency some devices can't afford to have on the chain - I think specifically of embedded devices.
Supporting a platform standard like the storage for recent files and bookmarks only on desktop boxes, because they can afford to have libxml2 pre-installed is not an option.
I remember discussing on the XDG list with Daniel and others about the desktop-bookmark spec; the spec started as a GMarkup format, and then I was convinced to use XBEL. It was a good idea - and once properly standardised, it could lead to data sharing between various environments; a goal that the previous recent-files spec missed badly.
Having GMarkup to parse a valid XBEL stream, even with every limitation it has (UTF-8 only, a bit shaky XML:NS support, etc.), has been possible (even thinkable) just because I had beside my open Gedit window another window with a XBEL parser written using libxml2, reminding me how a full-fledged XML parser should work.
So, thanks Daniel for libxml2 - your great work has been and it's still really appreciated and useful. Sadly, there are requirements, in this world, and many times they collide with what we would like.