title: Support XSD versioning with JAXB
body: <p>I am currently working on an application that performs the task of importing or exporting some entities. The file format being used for the same is <code>XML</code>. <code>JAXB</code> is being used for XML binding.</p>
  
  <p>The problem is present <code>XSD</code> that defines the structure of entities has no provision for versioning. How do I get started with defining versioned <code>XSD</code> and subsequently <code>XML</code> instance documents provided <code>JAXB</code> lies as the underlying binding framework ?</p>
  
  <p>I have read that there are three possible ways of introducing versions in <code>XSD</code>.<br>
  1) Change the internal schema version attribute<br>
  2) Create a attribute like schemaVersion on the root element<br>
  3) Change the schema's target namespace.<br>
  Which one best suits the usecase mentioned below?</p>
  
  <p>Use case: The changes made to the <code>XSD</code> in the next version may invalidate the existing elements. Although the schema itself may not be backward compatible but the application needs to provides support for handling all versions of schema.</p>