-cli 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:
-
-cli osi:0103/find2.denet.dk:4500
-
-CLI supports CCL-queries, with the mapping between qualifiers and
-attribute values specified in the file default.bib in the working
-directory. Use '?' to get a list of the available commands.
+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 an
+implementation of a '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
+
+ 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).