I think this is a good idea, worth considering now rather than later. It will end up saving work for providers, in the end, and will promote more responsive schema maintenance, because we'll be less afraid of breaking applications.

On 7/30/06, Javier de la Torre <jatorre@gmail.com> wrote:
Hi again,

Sorry. I forgot something that might be interesting. If we want to
have the possibility to do Version number negotiation between clients
and servers, OGC standards define a way to do it through the
getCapabilities operation.

Here is explained, taken directly from the WFS Implementation
specifications (replace OWS for TAPIR):

"An OWS Client may negotiate with a Service Instance to determine a
mutually agreeable
specification version.  Negotiation is performed using the
GetCapabilities operation [sec.
13] according to the following rules.

All Capabilities XML must include a protocol version number.  In
response to a
GetCapabilities request containing a version number, a web feature
service  must either
respond with output that conforms to that version of the
specification, or negotiate a
mutually agreeable version if the requested version is not
implemented on the server.  If
no version number is specified in the request, the server must
respond with the highest
version it understands and label the response accordingly.
Version number negotiation occurs as follows:

1. If the server implements the requested version number, the server
must send that
version.

2. If the client request is for an unknown version greater than the
lowest version that
the server understands, the server must send the highest version less
than the
requested version.

3. If the client request is for a version lower than any of those
known to the server,
then the server must send the lowest version it knows.

4. If the client does not understand the new version number sent by
the server, it
may either cease communicating with the server or send a new request
with a
new version number that the client does understand, but which is less
than that
sent by the server (if the server had responded with a lower version).

5. If the server had responded with a higher version (because the
request was for a
version lower than any known to the server), and the client does not
understand
the proposed higher version, then the client may send a new request
with a
version number higher than that sent by the server.

The process is repeated until a mutually understood version is
reached, or until the client
determines that it will not or cannot communicate with that
particular server. "

Javi.



_______________________________________________
tdwg-tapir mailing list
tdwg-tapir@lists.tdwg.org
http://lists.tdwg.org/mailman/listinfo/tdwg-tapir