YAZ User's Guide and Reference
Prev | Chapter 5. The YAZ client | Next

# Commands

When the YAZ client has read options and connected to a target, if given, it will display `Z>` and await your command. Commands are executed by hitting the return key. You can always issue the command `?` to see the list of available commands.

The commands are (the letters in parenthesis are short names for the 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.

`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 for more details.

`ssub` `n`

  Sets the limit for when all records should be returned with the search result. See the Z39.50 standard 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 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 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`.

Prev | Home | Next
Invoking the YAZ client | Up | Searching