OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] XML Schema Versioning

[ Lists Home | Date Index | Thread Index ]

>>>>> "Barwell" == Barwell Jonathan <Jonathan.Barwell@aah.co.uk> writes:

    Barwell> Our organisation is just getting up to speed with XML and we are currently trying to put some standards together.  As part
    Barwell> of this initiative I am trying to come up with a strategy for versioning of XML Schemas.  My current plan is that we
    Barwell> develop 3 types of schemas 1) Core Component Library - A library of commonly used simple types and attributes that define
    Barwell> the structure of elements, e.g. "string20Type" defines a string with a maximum length of 20 characters etc. 2) Business
    Barwell> Component Library - A library of simple and complex types that are more specific to our individual business requirements,
    Barwell> e.g. UnitOfMeasureType that defines an enumerated list of Units of Measure, uses structures defined in the Core Component
    Barwell> Library.  3) Application/Service specific schema - Schema specifically related to the application or service to support a
    Barwell> business process, reuses structures from the Core Component Library and the Business Component Library.

    Barwell> The reason I have structured our schemas like this is to try and get reuse out of standard elements and to avoid semantic
    Barwell> translations between applications that are reusing the same information.

    Barwell> However, this is causing me a big headache trying to come up with a versioning strategy.  It is likely that our schemas
    Barwell> will form the basis of Web Services and therefore will need to be both forward and backward compatible.  Obviously adding
    Barwell> new types to my library will not be a problem but if the business changes the validation rules for a specific type, e.g.
    Barwell> changes a pattern of a string from [A-Z]{3}\d{1,4} to [A-Z]{4}\d{1,4}, then this has broken my compatibility. 

    Barwell> I want the schemas to do most of the validation therefore "version" attribute in the <schema> tag is insufficient. 
    Barwell> Creating my own <simpleType> of "SchemaVersion" is also insufficient as I am referencing 3 types of schema and my
    Barwell> application schema needs to be valid against the library schemas.  Namespacing does provide me with the validation levels
    Barwell> I am looking for but then the schemaLocation will also need some level of versioning by using file name versioning or
    Barwell> directory versioning structure.

    Barwell> Does anyone have any experience of version controlling their schemas, UBL has included versioning but to me their solution
    Barwell> doesn't really seem to hang together tightly enough.

    Barwell> I would be grateful for any feedback from your experiences.

You might be interested in the following recent article titled "Versioning
XML Vocabularies":

http://www.xml.com/pub/a/2003/12/03/versioning.html

Regards.
-- 
Hugues Lafarge                    || Email: Hugues.Lafarge@afp.com
Agence France Presse              || Phone: +33 1 40 41 77 15
4 rue de la bourse, 75002 Paris   ||   Fax: +33 1 40 41 79 24




 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS