On Designing Extensible, Versionable XML Formats


About a week ago my article Designing Extensible, Versionable XML Formats appeared on XML.com. However due to a “pilot error” on my end I didn’t send the final draft to XML.com. By the time I realized my mistake the article was already live and changing it would have been cumbersome since there were a few major changes in the article.


You can read the final version of the article Designing Extensible, Versionable XML Formats on MSDN. The main differences between the MSDN article and the XML.com one are




  1. Added sections on Message Transfer Negotiation vs. Versioning Message Payloads and Version Numbers vs. Namespace Names



  2. Added more content to the section Using XML Schema to Design an Extensible XML Format especially around usage of substitution groups, xsi:type and xs:redefine.



  3. Amended all sample schemas to use blockdefault=”#all”.



  4. Added an Acknowledgements section



  5. Schema in for section New constructs in a new namespace approach uses a fixed value instead of a default value for mustUnderstand attribute on isbn element.


Comments (5)

  1. Dare,

    Some very interesting points!

  2. Ken Brubaker says:

    Dare shares gudelines on how to design extensible, versionable XML vocabularies.

  3. This is traditionally very good text by Dare Obasanjo (via Stefan) explaining the best practices in versioning of XML formats and achieving the eXtensibility. I liked every detail of this article. At the same time, there is no better demonstration of XML Schema inappropriateness for defining XML formats… Simply, if you are not XML Schema guru and if you are…