When to use XML
Dare posted a writeup on when to use (and when not use) XML: The XML Litmus Test: Understanding When and Why to Use XML (a summary is also available on msdn which doesn't have the connectivity issues that Dare's personal blog has). More people who build software using XML should read this and apply some of these ideas. I can't tell you how many times I get called in on a customer issue, where my first reaction is 'Why are they using XML?' I admit that I have an unusual perspective, as I have spent most of the last 9 years building XML/SGML software. XML is deceptive. It looks so easy, and many of the complexities are not obvious. More of the XML books should include something along the lines of Dare's writeup.