Document versioning and XML Schema

Markus Demleitner msdemlei at ari.uni-heidelberg.de
Mon Jun 23 02:21:55 PDT 2014


Hi Brian,

On Tue, Jun 10, 2014 at 02:20:58PM -0700, Brian Major wrote:
> 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

That, and the practice of having the version in the namespace, which
means that legacy clients will fail even if they do not validate
unless they discard the XML namespace information (which in most
current APIs is not trivial and certainly is not the right thing to
do), and even if the document were valid even to the old schema
modulo the namespace URI [1].

> 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?

I believe we need some re-evaluation of our practices with respect to
constraining XML, both on the schema level and on the level of
forming the namespaces.

My impression is that most clients already try some sort of "best
effort"-parsing (extracting what they think they understand,
discarding what they don't, and freely interpolating otherwise).  I
think we'd have a much better VO if they didn't have to work
*against* our standards and practices to do this -- and adopting a
model where the semantics of this best effort are rigorously defined
would also let us evolve certain aspects of our standards much more
smoothly.

This won't immediately help in the VOSpace situation -- but
evaluating what existing VOSpace implementations actually do and
under which circumstances they'd unnecessarily fail would provide
valuable input on how we could pull off such a program of evolvability.

Cheers,

         Markus

[1] Disclaimer: My main itch at this point is chaning vocabularies
embedded in VOResource (e.g., "uses" for relation).  There'd be other
ways to scratch this itch -- external vocabularies --, but a more
general approach to schema evolution would, I think, still be very
welcome.



More information about the grid mailing list