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