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.

Joerg

Reply via email to