<div dir="ltr">Hello Grid members,<div><br></div><div>While going through the changes to the VOSpace 2.1 document and checking for backwards compatibility, I realized that any change to the XML schema would break compatibility with v2.0 client or v2.0 server interaction that is validating the XML.  This is because the core operations of VOSpace use the objects in the XML schema for both input and output (client to server requests and server to client responses).  Even the addition of an optional element to a bidirectional object would cause the reader of the document (in this case, both client and server) to fail validation when that optional element is present.</div>
<div><br></div><div>VOSpace may be an outlier, but in general, the ways of achieving backwards compatibility with an XML schema change (with the assumption that implementors are validating against that schema) are very limited.  This places very tight constraints on what can be achieved in a minor standard revision.  Such restrictions may encourage bad design (for example, by extending a specification where it should have been modified) or may force documents to major revisions too frequently, which has it's own set of drawbacks.</div>
<div><br></div><div>You could imagine describing a minor document revision's compatibility as such:  Implementations of the latest standard (the new minor revision) are compatible with all previous revisions of the same major revision, but these previous minor revisions of the same major revision are not compatible with the new minor revision.  This is not backwards compatibility, but it is slightly more than what you can say about major revision compatibility.</div>
<div><br></div><div>It is the XML validation that is the difficult part, because implementations cannot code around this step as they could around other minor changes.  Is XML compatibility to strict a measure for minor document revisions, or is this something we need to maintain so as to not disrupt operating implementations?</div>
<div><br></div><div>Brian</div><div><div><br></div><div><br></div>-- <br><div dir="ltr"><font color="#999999">Brian Major<br><br>Canadian Astronomy Data Centre<br>Centre canadien de données astronomiques<br><br>National Research Council Canada<br>
Conseil national de recherches Canada</font></div></div></div>