W3C home > Mailing lists > Public > xmlschema-dev@w3.org > July 2008

Re: XSD versioning ...

From: G. Ken Holman <gkholman@CraneSoftwrights.com>
Date: Fri, 11 Jul 2008 10:50:00 -0400
Message-Id: <7.0.1.0.2.20080711103506.026c5528@CraneSoftwrights.com>
To: <xmlschema-dev@w3.org>

At 2008-07-11 10:24 -0400, Dragon Fly wrote:
>What is the best way to handle XSD versioning? 
>Let's say I have the following scenario ...
>
>- Version 1 of the XSD is given to a customer.
>- The customer writes a parsing program (that performs validation against V1).
>
>3 months later ...
>
>- A new element is added to version 2 of the XSD.
>- The new XML files sent to the customer have the new element.
>- The new XML files fail validations because 
>version 1 of the XSD does not have the new element.
>
>Is there anything that I can do to plan for this? Thank you.

The Universal Business Language (UBL) Technical 
Committee is anticipating this very situation as 
UBL 2.0 is rolled out around the world and 2.1, 
2.2, 2.x, 2.y get developed to meet new requirements of users.

For backward compatibility, all new constructs 
defined in revised models are optional so that an 
old instance will still conform to any new document model.

For forward compatibility, a proposed processing 
model for a version 2.x system filters out any 
unknown constructs not defined by 2.x so that the 
validation can happen on that subset of 
recognized constructs.  So when 2.y is greater 
than 2.x, that 2.x subset of 2.y is processed by 
the application.  The processing model includes a 
signal of whether or not any unrecognized 
constructs were removed (which is not always the 
case, a 2.y-labeled instance might have only 2.y constructs in it).

The UBL naming and design rules requires every 
UBL document type to have room for the instance 
to indicate the version being used, so a 2.x 
system will be told the sender used a 2.y 
instance.  But, again, if there were no 
violations of 2.x constraints, it is moot that the instance is of version 2.y.

Check out the versioning conference in advance of 
Balisage this summer in Montréal:

   http://www.balisage.net/Versioning/index.html
   http://www.balisage.net/

There are many presentations (including mine on 
UBL) at that symposium.  The proceedings will include a full copy of my paper.

I hope this helps.

. . . . . . . . . . . . . . Ken

--
Upcoming XSLT/XSL-FO hands-on courses:      Wellington, NZ 2009-01
World-wide corporate, govt. & user group XML, XSL and UBL training
RSS feeds:     publicly-available developer resources and training
G. Ken Holman                 mailto:gkholman@CraneSoftwrights.com
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/x/
Box 266, Kars, Ontario CANADA K0A-2E0    +1(613)489-0999 (F:-0995)
Male Cancer Awareness Nov'07  http://www.CraneSoftwrights.com/x/bc
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal
Received on Friday, 11 July 2008 14:51:11 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 11 January 2011 00:15:05 GMT