> Date: Fri, 8 Aug 2003 16:35:07 +0200
> From: Theo van Veen <[log in to unmask]>
> Before I give up:
Hello again, Theo, thanks for sticking this out. If it's any
consolation, I'm going on a two-week holiday tomorrow morning, where
there is no Internet connection -- not even dial-up. So you can rest
assured that I will soon stop disagreeing with everything you say :-)
> An SRU client can do the type of dialogue as you propose (see my
> Zeerex repsonse to Rob) and obviously it has to.
Great! Do that, then!
Problem solve ...
> But I prefered:
> Client: Find these records and give me the first ten summarised by the
> XPath expression "/foo/bar[@baz='quux']" (but - as we agreed -
> if you don't do xPath give me DC)
> Server: Sorry, I don't do XPath here is DC (because that's what we
> agreed in this case)
OK. The big question here, then is how did client and server "agree"?
There are several candidate answers (arranged in decreasing order of
undesirability as I see it):
1. The server just does it off its own bat.
2. Client and server are working under a profile that specifies that
the server must do this when asked for XPath and doesn't support
3. The client has sent the server a "be creative" bit, so the server
feels free to improvise.
4. This specific request from the client contains two record
specifications: the XPath (preferred) and DC (fallback), clearly
marked as such.
I think we all now agree that number 1 is unacceptable, and I
apologise for having thought that was what you wanted :-) I claim that
number 2 is also unacceptable, because a profile should not be at
liberty to require a server to violate the protocol. (Plus you can
argue that the existence of profiles would be proof that we didn't get
the core protocol right.) Number three at least has the benefit that
its explicit and unambiguous, but again I strongly dislike it because
it opens the floodgates indiscriminately: once a client sends the
"creative" bit, all bets are off. (Reminds me of the older GCC
releases that would exec Nethack if they found a #pragma.)
Number four I find workable, though it might require a
backwards-incompatible change to the protocol. Basically instead of
sending a CompSpec, we send a LISTOF CompSpec, and the server uses the
first listed one its capable of supporting. I can't see any objection
to that (but no doubt Rob will find one.)
/o ) \/ Mike Taylor <[log in to unmask]> http://www.miketaylor.org.uk
)_v__/\ "Locality is a global issue" -- Stephen Johnson.
Listen to my wife's new CD of kids' music, _Child's Play_, at