Subject: Re: [obix] Should? or Must? re: conformance
As I started to write the conformance language for Section 17 based on our discussion from yesterday, I talked myself into a corner on this. I’d appreciate some input from those familiar with OASIS rules about conformance, etc. and how they like things done.
I think our desire is:
· for 1.1 and greater, the models, encodings, and bindings sections of the Lobby are REQUIRED
· for 1.0, they are obviously not required, as no 1.0 server would ever have them
· a 1.1 client should be able to handle the absence of these properties when talking to a 1.0 server
· we want to maintain the backwards compatibility
So is the way to do this:
a) make the properties have ‘null=”true” ‘ in the schema for the contract? Or
b) make the properties not be null – thus indicating they are required – but include a statement in the spec that clients must be able to handle the nonexistence of the properties?
I think we’ve been following a) so far, but perhaps b) makes better sense? Because we DON’T want to suggest that a person implementing a 1.1 server can just decide not to have the properties, that defeats the purpose of having them! My thought would be to take the null default off of the properties, and add language to Section 5 about the new properties, saying that clients should expect to handle them not being there for backwards compatibility. Also probably put something into 17 somewhere that clients must be able to handle nonexistence of newer properties for this reason.