XML is so over and over-rated, though. If you need the full power of XML, why not use
JSON, which is much more compact? Even JSON might be overkill, though. Assuming all programs will have the same meta-data, CSV might give you the best bang for the buck.
I'm thinking XML simply because the file format is flexible. You can add elements and old versions of software will ignore them, if a piece of software in the archive doesn't have an a setting, you can ignore it and not generate the element in the XML file.
You certainly don't need full XML, SimpleXML would be fine -
http://en.wikipedia.org/wiki/Simple_XML
If you were to use CSV, an older client could simply ignore any column it didn't recognize. If a program lacked an option, it'd cost only three characters to print (',).
If you need nested/recursive data, though, that'd be a good reason to use XML (
or JSON or LISP S-expressions).