Why not JSON?
aaronparecki.com
aaronparecki.com
JSON is widely accepted now, and BSON overcomes its only real shortcoming (lack of binary support).
There's nearly 0% chance any of your software (or any of ours) will still be used/maintained in 10 years, so make a decision about what's available now.
I had a number of packages, written in 1998-1999 maintained in debian stable between 2000 and 2010, they were eventually dropped because they didn't work anymore after a big revisions in the parent project.
In popular languages, switching between simple formats like JSON/YAML should be a two-line change (the line where you serialize and the line where you unserialize). XML may be more tricky, but XML sucks and no one should be using it anyway.