cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joerg Heinicke <>
Subject Re: Versioning XML Schemas
Date Sun, 01 Jul 2007 20:02:25 GMT
On 01.07.2007 17:18, Grzegorz Kossakowski wrote:

> I agree that renaming would involve too much tinkering but I don't get 
> XML catalog solution fully. Do you want to say that publishing schema is 
> useless because we should always use XML catalogs for receiving schemas?

No, they should be released and published - if it would only be for 
documentation. I would only not care so much about the cases when people 
  retrieve the schema from remote, i.e. our web site. If they retrieve 
it locally it should be clear whether a particular version of a schema 
is released or not.

>> Spring handles it the same way [1]. They did not even increase the 
>> version number on changes [2]. Important is probably the backwards 
>> compatibility. In that particular case: An XML written against Spring 
>> 2.0.2's AOP schema works in 2.0.3 as well despite the additional 
>> attribute. No idea yet when it is better to force the user to update 
>> his references.
> I really don't like such a solution. I really like to know that 
> something released as x.y.z is never going to change. Otherwise, whole 
> versioning seems vague for me.

You need to have the following in mind: Somebody wants to upgrade from 
Cocoon 2.2.3 to 2.2.4. In that step to one of the schemas an additional 
and optional attribute was added (like that case in Spring's AOP 
schema). In theory the jars would be a drop-in replacement. With 
increasing the version number of the schema you have to adapt all your 
references to the new version just to get your app working again. Or 
you'd need to hold all versions probably in use in your local XML 
catalogue or access them remotely. Since Spring has the schemas on the 
class path, they are just replaced with the jars. Despite the vagueness 
nobody actually needs to care about the schema version. For that reason 
I'd probably go with a constant number as long as it is backwards 
compatible. And it should be for on particular minor level.


View raw message