Kolab XML Format: Proposal for an XSD friendly update

Jeroen van Meeuwen (Kolab Systems) vanmeeuwen at kolabsys.com
Wed Oct 19 14:06:29 CEST 2011

On 2011-10-19 11:19, Christian Mollekopf wrote:
> As Jeroen already pointed out adding the tags to the XSD does not 
> imply
> that those elements are mandatory.
> We would likely define most of those elements optional, so the client
> does not have to implement those features.
> However, a client cannot implement a feature which is not in the XSD.

Well, one could add mandatory elements but provided a default, the 
client would not be required to create the tag nor assign a value to it.

Similarly, for optional elements, the client does not require any 
implementation changes.

Only for mandatory elements without a default value must either the 
bindings or the client application somehow assign a value.

> In this scenario, yes. However we can actually speed up things if we
> want.
> Extending the format is a matter of updating the XSD, recompiling the
> bindings, and distributing both,
> which could be done on a days notice.
> That said, it is also possible for a vendor which is in control of 
> the
> deployment to extend the XSD by himself,
> and update it on his clients. That process shouldn't be difficult as 
> it
> takes the same steps as above.

Note that, compared to today's "extensibility", vendors would have to 
update all client *applications* as opposed to a library in the future.

>> Don't misunderstand me: I think the KEP process is great but if it
>> takes a full KEP to get a tag into the format so that a client can
>> support a specific feature when using Kolab as a backend seems a bit
>> much.
> Agreed.

I think it is only sensible to have *some* level of review as these 
things tend to be around for quite a while, even if that means we get a 
selected group of individuals to review the proposed extension and stamp 

Note however the proposing of extensions to the format is definitely 
relevant only with implementation of clients using the XSD generated 
bindings, but therefore subject to a development cycle; during which we 
should be perfectly capable of pushing through schema extensions without 
too large a penalty as development on the client side would still be 

Kind regards,

Jeroen van Meeuwen

Senior Engineer, Kolab Systems AG

e: vanmeeuwen at kolabsys.com
t: +44 144 340 9500
m: +44 74 2516 3817
w: http://www.kolabsys.com

pgp: 9342 BF08

More information about the format mailing list