On Apr 7, 2010, at 9:45 AM, Krzysztof KosiĆski wrote:
If you made some XML fix that e.g. changed the way some coordinates are expressed but before a release you suddenly think it doesn't make any sense, you have to bump the document format and add code that reverts the fix, rather than removing the code that executes it. As long as the switch is append-only, and none of the upgrade operations cause data loss, it will work correctly.
Problem is, you now have just introduced all sorts of artificial constraints on your simple solution, and they have a high chance of not working.
And, yes, if *any* of the fixups does any sort of change on the data that loses something (e.g. one that was deemed unimportant at one point in time and then later on was found to be significant) then running through all cases *will* result in data loss.
So at the very least we will need full documentation on what will and will not be allowed. And someone adding in an experimental feature that gets removed will result in extra cruft being added to files.