XML Europe 2003 logo

XML Schema Libraries and Versioning: The UBL Case

Abstract

W3C XML Schema seems to be on its way to becoming the most popular schema language for describing XML formats today. It is still a relatively new technology, however. While there have been some precursors to W3C XML Schema - notably XML Data Reduced and SOX - these were never widely adopted. Consequently, there has been relatively little experience with versioning schema-based XML component libraries. W3C XML Schema provides a variety of new capabilities that impact the way in which a schema library can be versioned to produce clean backward compatibility.

In discussing this issue, the UBL Technical Committee looked at existing versioning schemes, and considered many approaches for which examples could not be found in the XML world. These include such examples as the versioning of Microsoft's COM objects and other object-oriented schemes, which are mirrored in the capabilities of XML expressed with W3C XML Schema. Their investigations also included brain-storming around the requirements of some on-going production implementations, taking into account the new features of schema-based XML.

Some of the issues included:

  • whether or not namespaces should be used as packaging for versioning,

  • how polymorphic processing and extension/refinement of schemas impacts the versioning scheme,

  • the importance of simplicity in managing versions,

  • how major and minor versions should be distinguished,

  • the relationship of the versioning of a schema library to the versioning of the applications supporting it, and

  • how a component library intended to be extended by its users could best version its core libraries, when changes would directly impact external users of the library.

The lessons learned in the UBL investigation provide a valuable overview of the issues surrounding this topic, and reveal some of the power inherent in W3C XML Schema when it comes to devising a versioning scheme.

Keywords