This is a side thought on my other post regarding the invoicing system:
If I do write a program that saves invoices in XML format, I will need some sort of common structure to these invoices. Is there a way outside of my head that I can define this structure, say if a third party application was developed? I am aware of things like XSD, but only in terms of SOAP. What would my options be here? And another side thought: if my invoice format changed sometime down the road (and thus my XML format), how would I ensure that my program/XSD(or other format file) is compatible with both versions?