Document versioning and XML Schema

Brian Major majorb at nrc-cnrc.gc.ca
Tue Jun 10 14:20:58 PDT 2014


Hello Grid members,

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.

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.

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.

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?

Brian


-- 
Brian Major

Canadian Astronomy Data Centre
Centre canadien de données astronomiques

National Research Council Canada
Conseil national de recherches Canada
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.ivoa.net/pipermail/grid/attachments/20140610/f53409c2/attachment.html>


More information about the grid mailing list