[Yazlist] yaz-client, yaz API and Z39.50 - 2003

Mike Taylor mike at indexdata.com
Mon Jan 19 13:08:03 CET 2004

> Date: Mon, 19 Jan 2004 11:41:41 +0100
> From: Tajoli Zeno <tajoli at cilea.it>
> Does yaz-client use all the features present in YAZ API - most
> recent version ?

That's a hard question to answer, because there is no single YAZ API.
Instead, the various modules that make up YAZ each have an API.  The
table of contents for the YAZ manual at
lists, among others, the ZOOM API (for building client applications),
the Generic server (for building server applications) the ASN.1 module
(for encoding and decoding BER packets representing ASN.1 structures
such as those defined in the Z39.50 standard), the APIs to three
different query parsers, ODR (a memory-management API) and COMSTACK (a
network connection API).  The YAZ client doesn't directly use every
feature of all of these, although its coverage is pretty good.

Increasingly, though, when people talk about the YAZ API, it seems
that they're referring to ZOOM-C, the high-level API for building
clients.  If that's what you're referring to, then the answer is no,
the YAZ client does not use ZOOM _at all_.  It predates the addition
of the ZOOM API to the YAZ library, and rewriting it to take advantage
of ZOOM would be a significant task, and not one that could be done
piecemeal.  (Also, the YAZ client includes support for some esoteric
operations such as Extended Services that are not yet supported in

Instead, you may wish to look at the source code of zoomsh, the ZOOM
"shell", which is command-line Z39.50 client not dissimilar to
yaz-client but build using ZOOM.  it certainly uses the great majority
of the ZOOM API, but wouldn't swear that there are no corners that it
doesn't poke into.

> Does YAZ API support all features of Z39.50 -- 1995 (version 3) ?

Pretty much.  What specific features did you have in mind?

> And about Z39.50 -- 2003 ?

Z39.50-2003 is essentially the same standard as the 1995 version.  It
only exists because of NISO's policy that standards have to be
re-ballotted every five years, essentially to check that they're still
alive as I understand it.  Some of the language in the 2003 standard
is different (notably, it talks about clients and servers rather than
the origins and targets of the old version), but the substance differs
only in that eight years worth of amendments, implementor agreements
and clarifications have been integrated into the text.

 _/|_	 _______________________________________________________________
/o ) \/  Mike Taylor  <mike at indexdata.com>  http://www.miketaylor.org.uk
)_v__/\  "Is the cross-domain set the "average-user" bib set?
	 I certainly think not, for two reasons: first, it just isn't"
	 -- Ray Denenberg.

Listen to my wife's new CD of kids' music, _Child's Play_, at

More information about the Yazlist mailing list