Re: new draft of Z39.50 URL specification

John A. Kunze (jak@nlm.nih.gov)
Tue, 21 Mar 1995 11:22:19 +0500


Date: Tue, 21 Mar 1995 11:22:19 +0500
From: jak@nlm.nih.gov (John A. Kunze)
Message-Id: <9503211622.AA23680@dot.csb>
To: Z3950IW@nervm.nerdc.ufl.edu, uri@bunyip.com
Subject: Re: new draft of Z39.50 URL specification

> Date:         Tue, 21 Mar 1995 10:51:43 -0500
> From: mike gursky <mgursky@CDPLUS.COM>
> 
> As written, the syntax for z39.50s does not seem to allow for other
> parameters without the presence of docid:

That's correct.  The docid is actually the query Term, without which
the other parameters don't (or barely) make sense.

>         z39.50s://host[:port]
>                 [/database[+database...]
>                 ^       [?docid
>                 ^               [;esn=elementset]
>                 ^               [;rs=recordsyntax[+recordsyntax...]]]]
                  |____________________________________________________^

> Furthermore, the draft implies that other parameters may appear without the
> presence of database name(s).

Did you notice that the ']' matching the first '[' comes at the end
(as drawn)?  This means that other parameters may only appear if a
database name (at least one of possibly several) is given.

> It seems that what is intended is something like:
> 
>         z39.50s://host[:port]
>                 [/
>                         [database[+database...][?docid]]
>                         [;esn=elementset]
>                         [;rs=recordsyntax[+recordsyntax...]]]

Hmm.  I think this actually creates the problem you were trying to avoid.

> The language for z39.50r implies that the client will use the present
> capability of the search service.  However, a client could just as well
> use a separate present request.  I think the draft should be neutral
> regarding how the protocol is used to retrieve records.

I think you're right.  The relevant passage, if I understand you, is

   -  If element set name (esn) is not specified, it is client's choice.
      If esn is specified, it should be used within the Search request for
      the value of  small- and/or medium- set-element-set-names.  These
      terms and their use are defined within the Z39.50 Standard [2].

Does the following change make it clearer?

   -  If element set name (esn) is not specified, it is client's choice.
      If esn is specified, it should be used either within the Search
      request for the value of small- and/or medium- set-element-set-names
      or within a Present request following a Search.  These terms and their
      use are defined within the Z39.50 Standard [2].

-John