Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


Re: [xml-dev]Changing Namespaces Between Specification Versions

From: Chuck Bearden <cbearden@----.--->
To: Pete Cordell <petexmldev@---------.--->
Date: 4/22/2009 7:18:00 PM
Pete Cordell wrote:
> Original Message From: "Andrew Welch"
>> 2009/4/22 Michael Kay <mike@s...>:
>>>> 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
-- 
Chuck Bearden (cbearden@r... ; 713.348.3661)
http://cnx.org/


_______________________________________________________________________

XML-DEV is a publicly archived, unmoderated list hosted by OASIS
to support XML implementation and development. To minimize
spam in the archives, you must subscribe before posting.

[Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
Or unsubscribe: xml-dev-unsubscribe@l...
subscribe: xml-dev-subscribe@l...
List archive: http://lists.xml.org/archives/xml-dev/
List Guidelines: http://www.oasis-open.org/maillists/guidelines.php



transparent
Print
Mail
Like It
Disclaimer
.

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.

.
.

transparent

transparent