The primary goal of the files in data/raw are to expose those to modders for easy use.
Modders in general aren’t going to have eclipse, code::blocks, or any other specialized tool, they’re going to by typing things up in notepad, nano, geany, or god forbid* in forum posts.
XML is absolutely terrible for hand-written files.
JSON isn’t awesome either, but it’s manageable, and it wins based on the dependency issue (it’s embedded in our source, so 0 external dependency)
It’s REALLY hard to quantify, but I’ve heard from several people that if Cataclysm didn’t have such light dependencies, they would be working on something else, I’m not totally sure, but I might even fall into this category.
As GlyphGryph says, we’d really like to use YAML instead, but all the C++ YAML libries I’ve found have been similar in size to cataclysm itself, with far more intricate build systems. I haven’t looked at any XML libraries, but I suspect they’re similarly large, especially anything with XPath or similar support.
There might be some kind of simple config file format that would have a simple parser we could inline, but I think our needs for structured data are too great for that kind of thing.
A dishonorable mention is the MISTAKE lots of projects make, aka writing your own parser/format, this is frankly a terrible idea, and I’m greatly heartened by the fact that no one has suggested it.
For the save files, the most sensible thing to migrate to IMO is actually either JSON or ObjectBlobs (http://www.celsiusgs.com/blog/?p=477), since it’s emitted/consumed by the same program, schema stuff doesn’t seem to make that much sense to me, so simple serialization may be better. (again with the dependency aversion)
*I’m not criticising you if you’re doing it this way, I just find it an incredibly frustrating way to do things, and if you persevere through it and write up some content anyway, you have my thanks.