I agree with Tyler on all points. I'ld add that XML has some advantages with regard to transformability (XSLT) that are hard to appreciate until you've used them. While at IBM, I prototyped an XML-based document formatting system that went to HTML, to LaTeX, and to several other things. At several points, I had to revise the metastructure of the DTD, and the transformers were not hard to right. That is, XML is evolvable. Also, the output transformers were surprisingly small.
My point, I suppose, is that I (and I suspect, others) under-rated the importance of data interchange, and the effect that XML/XSLT has on this.
Meanwhile, there is one other argument for binary format that I recently encountered in building DCMS (my emerging configuration management system):
DCMS relies on SHA-1 hashes for universally unique names (thanks, MarkM!). With text files, this presents a problem, as it requires that newlines be canonicalized in order to guarantee agreement about the SHA-1 result. Most of the XML processors will suffer this problem even worse, since they don't agree about whitespace processing.
I don't know that this has any relevance to Tyler's project, but it might
(signatures and all), so I thought I would bring it up.
By the way, if anyone has a mature solution to the newline problem, please email it to me privately. Otherwise, I'll go with some suitably obvious canonicalization.
shap