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


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev]Changing Namespaces Between Specification Versions

Pete Cordell wrote:
> Original Message From: "Andrew Welch"
>> 2009/4/22 Michael Kay <mike@saxonica.com>:
>>>> I concur with Michael's observation, but I don't think a
>>>> version attribute alone is sufficient for good versioning.
>>> It's not enough on its own, but it gets you a long way, provided of 
>>> course
>>> that the value of the attribute is not just an opaque string but a 
>>> pointer
>>> to a set of rules that define the contract between sender and recipient
>>> associated with that version.
>> For an alternative opinion on versioning, see Robin Berjon's posts in
>> this thread:
>> http://markmail.org/message/fmg75xevxdo4hunv
>> "Personally, I would recommend that we don't :) Version identifiers
>> are largely useless and experience shows that users use them wrong
>> (e.g. a bunch of SVG out there that's labelled as 1.1 is really 1.2,
>> but people just copy-paste the root element). "
> An interesting thread.  I agree with most of the steps, but not sure I 
> agree with the conclusion (i.e. don't bother with version numbers).  At 
> least version numbers let you know what the developer was aiming for 
> even if they failed spectacularly to achieve it!  That helps those in 
> the know debug it, even if it's no help to Joe Public.
> That said, there isn't a one size fits all versioning strategy, and 
> that's why it needs to be considered at the start of a project.

Here's a language versioning scenario (purely hypothetical, of course) I'd 
love to see comments on.

Consider a fairly simple document-centric markup language EgXML.  It is in 
version 1, and it is used almost exclusively by authors working in one 
particular repository.  Feedback from authors leads the maintainers of EgXML 
decide to create version 2, in order to correct problems and enable authors to 
model more content.  Version 2 shares 90% or more of its elements and 
attributes with version 1, and where an element or attribute name is common to 
both versions, the semantics are identical.  50% of the content models have 
changed, mostly for the more inclusive.  At least one required element has a 
different name in v2, so that no v1 instance can be valid against a v2 schema, 
and vice versa.  It is a requirement that documents of both versions live 
alongside each other in the repository and be rendered correctly, but no new 
v1 content (including new revisions of v1 content) will be added to the 
repository (the repository CMS has the capability to auto-upgrade v1 content 
to its v2 equivalent).

The decision was made (a) to add a version attribute to the root element, and 
(b) not to change the namespace URI (which was already unversioned).  Did the 
maintainers of EgXML make the right choice?

Chuck Bearden (cbearden@rice.edu ; 713.348.3661)

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]

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

Copyright 1993-2007 XML.org. This site is hosted by OASIS