Z39.50 Implementor Agreement 4:

Use of Init Parameters for Negotiation and User Information

May 2, 1997

Background

The Init Request and Init Response both include the two parameters User- information-field and Other-information for provision of miscellaneous, externally-defined information. User-information-field is defined in both Z39.50-1992 and Z39.50-1995. Other-information is not in the 1992 version, it is defined only in Z39.50-1995. It is included in every Z39.50 APDU, but its use is valid only when version 3 is in force.
The use of Other-information during initialization (i.e. within the Init request or response, but particularly in the request) has been the subject of confusion, because of the uncertainty of what protocol version, 2 or 3, is in force during initialization.
Other-information has a richly defined structure, in contrast to User- information-field, defined simply as EXTERNAL. Thus Other-information was developed for Z39.50-1995 to allow potentially complex combinations of information to be exchanged, when version 3 is in force.
Now, though, there is a new EXTERNAL definition registered, UserInfo-1 that User-information-field may assume, identical to Other-information. This means the use of Other-information within the Init request and response may be depricated, without loss of functionality.

Agreement

All externally defined information carried within an InitRequest or InitResponse APDU will be carried within userInformationField, supplying the Object Identifier of UserInfo-1.

The structure may carry an abritrary number of sequences (as defined), any of which may include a category (as defined) and may be of any of the listed types: characterInfo, binaryInfo, externallyDefinedInfo, or oid.

However, diagnostics and negotiation records need not include a category.

A diagnostic should be represented as externallyDefinedInfo, and is identified as a diagnostic by the Object Identifier of the EXTERNAL (that is, the object identifier should identify a diagnostic format). See related agreement Returning diagnostics in an InitResponse , in particular, when the diagnostic is defined in a diagnostic set, suc as bib-1, as opposed to a diagnostic format.

A negotiation record should be represented either as externallyDefinedInfo or oid, and is identified as a negotiation record by the object identifier (that is, the object identifier should identify a negotiation record definition), either within the EXTERNAL (for externallyDefinedInfo) or the object identifier itself (for oid).


Library of Congress