I'm working on an XML Schema which is going to be used for data transfer between a number of applications, not all under our control. The core data is going to be the same for all, but we want to allow specific applications to store additional data to allow "round-tripping" of the files so they can save and reload and not lose anything that is specific to that app. What is the best practice for this?
The thoughts we have so far are to define an node for each main node, which will allow us to validate against a schema (no unexpected nodes, or nodes in the wrong place), which allowing anything to be stored under the Extension node.
It is likely that we will also want to define one or more of these extended schemas as schemas in their own right.
How is this done in other standards please? What should we adopt?