How to cite this paper

Orchard, David. “Versioning fundamentals.” Presented at International Symposium on Versioning XML Vocabularies and Systems, Montréal, Canada, August 11, 2008. In Proceedings of the International Symposium on Versioning XML Vocabularies and Systems. Balisage Series on Markup Technologies, vol. 2 (2008).

International Symposium on Versioning XML Vocabularies and Systems
August 11, 2008

Balisage Paper: Versioning fundamentals

David Orchard

David Orchard is senior technical director in BEA Systems' CTO Office, focusing on web and web services standards. He has been elected to a 3rd term on the W3C Technical Architecture Group and is active in numerous standards activities. He is currently or has been a co-editor of various specifications such as SOAP 1.2, WSDL 2.0, WS-Policy, WS-Addressing, WS-ReliableMessaging, WS-Eventing, WS-MetadataExchange, XML Schema, Web Services Architecture, XML Link, XInclude, and SOAP-Conversation.


Active XML vocabularies change over time, undergoing the inevitable evolution called versioning. Versioning means adding, deleting, or changing the elements, element content, number of occurrences, attributes, or attribute values described by an XML schema. Approaches to versioning fall into several classes, including compatible, backwards-compatible, forwards-compatible, and strategy-what-strategy. Specific rules enable the successful use of these strategies, such as the "must ignore unknowns" rule, the "must understand models" rule, and prescriptions for the use of version identifiers. Basic versioning concepts and vocabulary will be illustrated using a set-based model for determining compatibility.