Re: Definition of forward/backward compatibility (was: XML Schema Versioning Use Cases)

I think there are many potentially useful classifications of abstraction, 
some involving only the schema and instance, and some involving more parts 
of the stack or different parts of the stack.  Overall, though, I tend to 
agree with Hoylen:  the ultimate goal in most cases is either to get two 
applications to work together, in spite of their somewhat differing 
expectations for the content of documents they share, or else to get those 
applications to correctly conclude that working together is not in fact 
practical.  Schemas and schema processing are tools that may be useful in 
achieving such interoperation, or in making a decision not to proceed. 
Bill is right, I think, in implying that our specific goal will be to 
define the use of schemas in such scenarios, but to design the schema 
mechanisms well, we will need to consider the overall needs and processing 
models of the applications.

--------------------------------------
Noah Mendelsohn 
IBM Corporation
One Rogers Street
Cambridge, MA 02142
1-617-693-4036
--------------------------------------








Hoylen Sue <hoylen@hoylen.com>
Sent by: public-xml-versioning-request@w3.org
03/04/2006 03:12 AM
 
        To:     "Wade, William (Bill)" <bwade@PROFDATA.COM>
        cc:     public-xml-versioning@w3.org, (bcc: Noah 
Mendelsohn/Cambridge/IBM)
        Subject:        Definition of forward/backward compatibility (was: 
XML Schema  Versioning Use Cases)



Bill,

Thank you for your comments.

The "XML Schema Versioning Use Cases document"
http://www.w3.org/XML/2005/xsd-versioning-use-cases/2006-01-31.html#p57
says:
>>"The term "backward compatiable[sic]" will mean that an
>>instance document defined by an old schema can be processed
>>by an application that handles the new schema."

Bill Wade says:
> What we need is a definition of compatibility that is expressed solely
> in terms of the instance documents and the schema themselves. How about
> these definitions?
>
> "A given version of a schema is backward compatible with a prior version
> of the same schema if any document created under the prior version of
> the schema is still valid under the later version, assuming all nodes in
> the instance document not present in the later version of the schema are
> ignored."

Two comments on this definition:

Firstly, validation is not the only purpose of XML Schemas.
This is why the definition does not rely on validity, but on
the mouthful "can be processed by an application that
handles the new schema".

Secondly, "assuming all nodes in the instance document
not present in the later version of the schema are ignored"
is defining a mechanism to achieve backward compatibility
rather than a definition of it.


However, I do like the suggestion that we claify what
exactly is classified as being "backward compatible" -- in
this case it is the schemas.  This is because in the XSD use
case, there will be schema processors, schemas, and instances.

The current definitions refers to "old schema" and "new
schema" -- characterizations which do not apply to some of
the versioning use cases.

Hoylen
-- 
____________________________________________________________
hoylen@hoylen.com                     http://www.hoylen.com/

Received on Monday, 6 March 2006 13:47:40 UTC