- * Copyright (C) 1995-1998, Index Data.
+ * Copyright (C) 1995-1999, Index Data ApS.
* See the file LICENSE for details.
* Sebastian Hammer, Adam Dickmeiss
Compilation and installation for YAZ
- $Id: README,v 1.19 1998-01-07 12:59:27 adam Exp $
+ $Id: README,v 1.26 1999-06-09 14:37:37 adam Exp $
The primary output of the source here is the lib/libyaz.a library,
which contains support functions for implementing the server or client
Windows programmers: refer to the file windows.txt which describes
how to compile the software using Microsoft Visual C++.
-Two test-programs of interest are generated when you type 'make' at
-the top level: ztest/ztest and client/client. Ztest is a dummy database
+On Unix, GNU configure is used to configure YAZ and generate Makefiles.
+Type "./configure", then "make" to build YAZ.
+
+Two test-programs of interest are generated when you type 'make' at the
+top level: ztest/ztest and client/client. Ztest is a dummy database
server which returns canned responses to all queries. It's good for
verifying that the protocol works ok, and ztest.c shows a minimalistic
implementation of the 'backend' interface.
Client is a linemode Z39.50 client. It supports a fair amount of the
-functionality of Z39.50v2/SR, but some things you need to enable or disable
-by recompilation. Its primary purpose is to excersise the package, and
-verify that the protocol works OK. It can be started by typing
+functionality of Z39.50v2/SR, but some things you need to enable or
+disable by recompilation. Its primary purpose is to excersise the
+package, and verify that the protocol works OK. It can be started
+by typing
client tcp:<hostname>:<port>
client osi:[<tsel>'/']<hostname>:<port>
-to connect to an OSI SR target (this requires mOSI-support). To connect to
-the DANBIB test target, you might use:
+to connect to an OSI SR target (this requires mOSI-support). To connect
+to the DANBIB test target, you might use:
client osi:0103/find2.denet.dk:4500
Use '?' to get a list of the available commands.
-The current query language is a bit awkward, but functional:
+The current query language for the find command is a bit awkward, but
+functional:
query ::= ['@attrset' <attribute-set>] rpn
rpn ::= complex | simple | attr rpn
@attrset Bib-1 @and @attr GILS 2=2008 Washington @attr 1=21 weather
+The sort command takes a sequence of sort specifications. A sort
+specification holds a field (sort criteria) and is followed by flags.
+If the sort critieria includes = it is assumed that the sort SortKey
+is of type sortAttributes using Bib-1. The integer before the = is
+the attribute type and the integer following the = is the attribute
+value. If no = is in the SortKey it is treated as a sortfield-type
+of type InternationalString. Flags observed are s (sort case
+sensitive), i (sort case insensitive), < (ascending), > (descending).
+Eg.:
+ 1=4 i< (use is title, insensitive, ascending).
+ Title s> (String Title, sensitive, descending).
+
The directories:
doc - Documentation.
util - Various little utility functions. Logging, memory debugging,
- primitive ISO 2709 presentation for the client, etc.
+ primitive ISO 2709 presentation for the client, etc. You'll
+ find the ASN.1 Compiler for YAZ here as well (yc.tcl).
-odr - Open Data Representation. This module implements the BER
+odr - Open Data Representation. This module implements the BER
encoding rules. Documentation is found in the files odr-use.man
and odr.txt.
which defines structure and type definitions for each of the
types introduced in the protocol specification.
+z39.50 - This module implements the Z39.50 protocol. This module
+ does the same job as the 'asn' module except that the source
+ files are auto-generated using an YAZ' ASN.1 Compiler (YC).
+
+zutil - This module implements a collection of Z39.50 utilities, such
+ as query parsing, EXTERNAL handling, etc.
+
comstack- This module implements the transport transparency
stack (COMSTACK). The comstack implements a generic interface
for exchanging BER-encoded records over a network. It supports
server - This is the implementation of the server frontend. It
provides event-handling and server managament functions,
and calls the backend primitives (best documentation of these
- is in the file include/backend.h). See server.txt.
+ is in the file include/backend.h).
client - A demonstration client. If we come upon a good design for a
higher level client API, that will live here.
We maintain a mailing-list for the purpose of announcing new versions of
the software, bug-reports, discussion etc. You can sign up by sending
-mail to yaz-request@indexdata.dk.
+mail to yaz-request@indexdata.dk and include the following command
+command in your email:
+ subscribe yaz-l
+