I was checking the specification for XML earlier to try and work out how you are supposed to escape stuff that goes in CDATA blocks. Anyway, I found the Origins and Goals section of the Extensible Markup Language (XML) 1.0 (Second Edition) specification.
Number 4 made be laugh, "It shall be easy to write programs which process XML documents.".
I'm yet to see a stateless XML parser, let alone one written in clean regular expressions.
Apps that needlessly use XML over (perfectly addequte) .ini files (with the same structure) also cause themselves much pain.