YAZ-CLIENT(1)

NAME
yaz-client - Z39.50/SRW client for implementors

SYNOPSIS
yaz-client [ -m filename ] [ -a filename ] [ -c filename ] [ -q filename ] [ -p addr ] [ -u auth ] [ -k size ] [ -x ] [ addr ]

DESCRIPTION

yaz-client is a Z39.50/SRW client (origin) with a simple command line interface that allows you to test behavior and performance of Z39.50 targets and SRW servers.

If the addr is specified, the client creates a connection to the Z39.50/SRW target at the address given.

When yaz-client is invoked it attemps to read the following files: $HOME/.yazclientrc (home directory, Unix only) and .yazclientrc (current directory - any platform) For those files that are readable, the YAZ client executes commands in those files. See COMMANDS section for description of commands.

OPTIONS

-m filename
    If specified, retrieved records will be appended to the file given.

-a filename
    If specified, logging of protocol packages will be appended file given. The special filename - (dash) denotes standard output.

-u auth
    If specified, the auth string will be used for authentication.

-c filename
    If specified, CCL configuration will be read from the file given.

-q filename
    If specified, CQL configuration will be read from the file given.

-p addr
    If specified, the client will use the proxy at the address given.

-k size
    Sets preferred messages and maximum record size for Initialize Request in kilobytes. Default value is 1024 (1 MB).

-x  Makes the YAZ client print hex dumps of packages sent and received on standard output.

COMMANDS

The YAZ client accepts the following commands.

open zurl
    Opens a connection to a server. The syntax for zurl is the same as described above for connecting from the command line. Syntax: [(tcp|ssl|unix|http)':']host [:port][/base]

quit
    Quits YAZ client

f query
    Sends a Search Request using the query given.

delete setname
    Deletes result set with name setname on the server.

base base1 base2 ...
    Sets the name(s) of the database(s) to search. One or more databases may be specified separated by blanks. This commands overrides the database given in zurl.

show  [start[+number]]
    Fetches records by sending a Present Request from the start position given by start a number of records given by number. If start is not given, then the client will fetch from position of the last retrieved record plus 1. If number is not given, then one record will be fetched at a time.

scan term
    Scans database index for a term. The syntax resembles the syntax for find. If you want to scan for the word water you could write
        scan water

    but if you want to scan only in, say the title field, you would write
        scan @attr 1=4 water

scanpos pos
    Sets preferred position for scan. This value is used in next scan. By default position is 1.

scansize size
    Sets number of entries to be returned by scan. Default number of entries is 20.

scanstep step
    Set step-size for scan. This value is used in next scan sent to the target. By default step-size is 0.

sort sortspecs
    Sorts a result set. 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 criteria includes = it is assumed that the sort SortKey is of type sortAttributes using Bib-1. The integer before = is the attribute type and the integer following = is the attribute value. If no = is in the SortKey it is treated as a sortfield-type of type InternationalString. Flags observed are: s for case sensitive, i for case insensitive, < for sort ascending and > for sort descending.

sort+
    Same as sort but stores the sorted result set in a new result set.

authentication openauth
    Sets up a authentication string if a server requires authentication (v2 OpenStyle). The authentication string is first sent to the server when the open command is issued and the Z39.50 Initialize Request is sent, so this command must be used before open in order to be effective. A common convention for the authopen string is that the username - and password is separated by a slash, e.g. myusername/mysecret.

list_all
    This command displays status and values for many settings.

lslb n
    Sets the limit for when no records should be returned together with the search result. See the Z39.50 standard
     <URL:http://lcweb.loc.gov/z3950/agency/markup/04.html#3.2.2.1.6> for more details.

ssub n
    Sets the limit for when all records should be returned with the search result. See the Z39.50 standard
     <URL:http://lcweb.loc.gov/z3950/agency/markup/04.html#3.2.2.1.6> for more details.

mspn n
    Sets the number of records should be returned if the number of records in the result set is between the values of lslb and ssub. See the Z39.50 standard
     <URL:http://lcweb.loc.gov/z3950/agency/markup/04.html#3.2.2.1.6> for more details.

status
    Displays the values of lslb, ssub and mspn.

setname
    Switches named result sets on and off. Default is on.

cancel
    Sends a Trigger Resource Control Request to the target.

format oid
    Sets the preferred transfer syntax for retrieved records. yaz-client supports all the record syntaxes that currently are registered. See Z39.50 Standard
     <URL:http://lcweb.loc.gov/z3950/agency/defns/oids.html#5> for more details. Commonly used records syntaxes include usmarc, sutrs, grs1 and xml.

elements e
    Sets the element set name for the records. Many targets support element sets are B (for brief) and F (for full).

close
    Sends a Z39.50 Close APDU and closes connection with the peer

querytype type
    Sets the query type as used by command find. The following is supported: prefix for Prefix Query Notation (Type-1 Query); ccl for CCL search (Type-2 Query), cql for CQL (Type-104 search with CQL OID), ccl2rpn for CCL to RPN conversion (Type-1 Query). cql2rpn for CQL to RPN conversion (Type-1 Query).

attributeset set
    Sets attribute set OID for prefix queries (RPN, Type-1).

refid id
    Sets reference ID for Z39.50 Request(s).

itemorder type no
    Sends an Item Order Request using the ILL External. type is either 1 or 2 which corresponds to ILL-Profile 1 and 2 respectively. The no is the Result Set position of the record to be ordered.

update
    Sends Item Update Request. This command sends a "minimal" PDU Update to the target supplying the last received record from the target. If no record has been received from the target this command is ignored and nothing is sent to the target.

. filename
    Executes list of commands from file filename, just like source on most UNIX shells.

! args
    Executes command args in subshell using the system call.

push_commande command
    The push_command takes another command as its argument. That command is then added to the history information (so you can retrieve it later). The command itself is not executed. This command only works if you have GNU readline/history enabled.

set_apdufile filename
    Sets that APDU should be logged to file filename. This command does the thing as option -a.

set_auto_reconnect flag
    Specifies whether YAZ client automatically reconnect if target closes connection (Z39.50 only). flag must be either on or off.

set_marcdump filename
    Specifies that all retrieved records should be appended ot file filename. This command does the thing as option -m.

schema schemaid
    Specifies schema for retrieval. Schema may be specified as an OID for Z39.50. For SRW, schema is a simple string URI.

charset negotiationcharset [displaycharset] [[marccharset]]
    Specifies character set (encoding) for Z39.50 negotiation / SRW encoding and/or character set for output (terminal). negotiationcharset is the name of the character set to be negotiated by the server. The special name - for negotiationcharset specifies no character set to be negotiated. If displaycharset is given, it specifies name of the character set of the output (on the terminal on which YAZ client is running). To disable conversion of characters to the output encoding, the special name - (dash) can be used. If the special name auto is given, YAZ client will convert strings to the encoding of the terminal as returned by nl_langinfo call. If marcharset is given, it specifies name of the character set of retrieved MARC records from server. See also marcharset command.

    Note: Since character set negotation takes effect in the Z39.50 Initialize Request you should issue this command before command open is used.

    Note: MARC records are not covered by Z39.50 character set negotiation, so that's why there is a separate character that must be known in order to do meaningful converson(s).

negcharset charset
    Specifies character set for negotiation (Z39.50). The argument is the same as second argument for command charset.

displaycharset charset
    Specifies character set for output (display). The argument is the same as second argument for command charset.

marccharset charset
    Specifies character set for retrieved MARC records so that YAZ client can display them in a character suitable for your display. See charset command. If auto is given, YAZ will assume that MARC21/USMARC is using MARC8/UTF8 and ISO-8859-1 for all other MARC variants. The charset argument is the same as third argument for charset command.

set_cclfile filename
    Specifies that CCL fields should be read from file file filename. This command does the thing as option -c.

set_cqlfile filename
    Specifies that CQL fields should be read from file file filename. This command does the thing as option -q.

register_oid name class OID
    This command allows you to register your own object identifier - so that instead of entering a long dot-notation you can use a short name instead. The name is your name for the OID, class is the class, and OID is the raw OID in dot notation. Class is one appctx, absyn, attet, transyn, diagset, recsyn, resform, accform, extserv, userinfo, elemspec, varset, schema, tagset, general. If you're in doubt use the general class.

register_tab command string
    This command registers a TAB completion string for the command given.

sleep seconds
    This command makes YAZ client sleep (be idle) for the number of seconds given.

zversion ver
    This command sets Z39.50 version for negotiation. Should be used before open. By default, 3 (version 3) is used.

options op1 op2..
    This command sets Z39.50 options for negotiation. Should be used before open. The following options are supported: search, present, delSet, resourceReport, triggerResourceCtrl, resourceCtrl, accessCtrl, scan, sort, extendedServices, level_1Segmentation, level_2Segmentation, concurrentOperations, namedResultSets, encapsulation, resultCount, negotiationModel, duplicationDetection, queryType104, pQESCorrection, stringSchema.

FILES

yaz-<version>/client/client.c

.yazclientrc

$HOME/.yazclientrc

SEE ALSO

yaz(7)

Section "The YAZ Client" in the YAZ manual.

Section "Prefix Query Format" in the YAZ manual.

Section "Common Command Language" in the YAZ manual.

Section "Common Query Language" in the YAZ manual.