-automake and libtool installed. Before running configure generate
-support files by running buildconf.sh which is part of YAZ.
-
-Two test-programs of interest are generated when you type 'make' at the
-top level: ztest/yaz-ztest and client/yaz-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 an
-implementation of a 'backend' interface.
-
-yaz-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
-
- yaz-client tcp:<hostname>:<port>[/<database>]
-
-at the UNIX prompt, to connect to a Z39.50 server.
-
-Use '?' to get a list of the available commands.
-
-The current query language for the find command is a bit awkward, but
-functional:
-
- query ::= ['@attrset' <attribute-set>] rpn
- rpn ::= complex | simple | attr rpn
- complex ::= operator rpn rpn
- operator ::= '@and' | '@or' | '@not' | '@prox' proximity
- simple ::= term | set.
- term ::= <word> | '"' <term> ... '"'.
- set ::= '@set' <setname>.
- attr ::= '@attr' [<attribute-set>] <number> '=' <number>.
- proximity ::= exclusion distance ordered relation which unit
- exclusion ::= '1' | '0' | 'void'
- distance ::= <number>
- ordered ::= '1' | '0'
- relation ::= <number>
- which ::= 'known' | 'private'
- unit ::= <number>
-
-Eg.:
-
- Andersen
-
- "Hans Andersen"
-
- @and @attr 1=1 andersen @attr 1=4 @attr 4=2 duckling
-
- @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 yaz-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
- encoding rules. Documentation is found in the files odr-use.man
- and odr.txt.
-
-asn - This module implements the Z39.50/SR protocol. The best way
- to find out how it works is to look in the sample
- client/server code in server/seshigh.c. The interface is still
- wholly described by the file proto.h 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.
-
-ill - This module implements the ISO ILL protocol.
-
-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
- the 'American' mode of exchanging the records straight over
- TCP/IP, and uses Peter Furniss' XTIMOSI package over RFC1006.
- Look for documentation in the file comstack.man.
-
-rfc1006 - Xtimosi requires an implementation of the OSI transport
- layer with an XTI-based API. Some systems (HP and DEC,
- notably) provide this. For others, we provide an
- implementation of the RFC1006 protocol (which is what
- ISODE-based implementations often use). This module is not
- needed if you don't use xtimosi, and it's not included in the
- libyaz.a library.
-
-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/yaz/backend.h).