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

Re: XSD versioning ...

From: César Ariza (gmw) <cesarariza@gmail.com>
Date: Fri, 11 Jul 2008 16:55:33 -0500
Message-ID: <4bd4e62e0807111455r7678b927y59b92b5ed00fda92@mail.gmail.com>
To: xmlschema-dev@w3.org

 Well,

 What if you have serveral separated schemas, and use extensively
 imports and includes?

 How to manage a version change in schemas that import other schemas
 with a new version.

 In other words how to espread the versining to all the schemas?

 For example, the schema B (version 1.2) imports the schema A (version
 1.0). Later, the schema A chage to A-v1.2. Which is the best approach
 to reference the new version of the schema A inside the schema B?

 Cheers,

 César.



>
>
>
> On Fri, Jul 11, 2008 at 10:23 AM, Pete Cordell <petexmldev@codalogic.com> wrote:
>>
>> You can design your XSD schema so that it accommodates versioning.  This is
>> mainly done using xs:any, but, especially in XSD 1.0, there are gotchas
>> involved in this.  There's a good article on this at:
>>
>> http://www.xml.com/pub/a/2004/10/27/extend.html
>>
>> The story for XSD 1.1 should hopefully be a lot better.
>>
>> One thing such versioning strategies miss is the ability to declare that
>> certain version 2 concepts are required to be understood by a parser,
>> otherwise the message should be rejected in some way.  This procedure has to
>> be defined when version 1 is specified.  The method I like best is using an
>> attribute called something like "Requires" in the top level element which
>> contains a number of tokens that the receiving parser must understand in
>> order to fully understand the message.  This to me keeps all the
>> compatibility assessment in one place and allows for an easy go/no go
>> decision quite early.
>>
>> Just as an example, it might look like:
>>
>>   <MySchema Requires="foo bar">...
>>
>> That's said, your versioning strategy does depend on things like whether you
>> have one way or two way communication, or there's an archival aspect to it
>> etc.
>>
>> HTH,
>>
>> Pete Cordell
>> Codalogic
>> For XML C++ data binding visit http://www.codalogic.com/lmx/
>>
>> ----- Original Message ----- From: "Dragon Fly" <dragon-fly999@hotmail.com>
>> To: <xmlschema-dev@w3.org>
>> Sent: Friday, July 11, 2008 3:24 PM
>> Subject: XSD versioning ...
>>
>>
>> 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.
>>
>> _________________________________________________________________
>> It's a talkathon – but it's not just talk.
>> http://www.imtalkathon.com/?source=EML_WLH_Talkathon_JustTalk
>>
>>
>>
>
Received on Friday, 11 July 2008 21:56:13 GMT

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