A kio slave for the z39.50 protocol

kio_z3950r is a kio slave for connecting to z39.50 servers for information retrieval. It uses the KDE librairies for communication.

kio_z3950r is still a very simple, very rudimentary, initial proof-of-concept. Once installed, Konqueror is able to open URLs which use the z39.50r protocol, as defined in RFC 2056 with slight modifications detailed in a proposed extension to RFC 2056

kio_z3950r doesn't seem to build on current versions of yaz and yaz++. I've posted about the problem.

kio_z3950r is built on top of the yaz and yaz++ librairies and accesses z39.50 servers using the ZOOM protocol within yaz++. For now, only the Prefix Query Notation is supported for queries to the server. For a list of possible use attributes, see the supported list at the Library of Congress.

Ultimately, I intent to use kio_z3950r in my book collection application, Bookcase, for downloading book information online.


The Z39.50 Session and Retrieval URLs follow the Common Internet Scheme Syntax as defined in RFC 1738, "Uniform Resource Locators (URL)". In the definition, literals are quoted with "", optional elements are enclosed in [brackets], "|" is used to designate alternatives, and elements may be preceded with * to designate n or more repetitions of the following element; n defaults to 0.
    zscheme = z3950r "://" [username ":" password "@"]
                   host [":" port]
                     ["/" [database *["+" database]
                       ["?" docid] |
                       ["search?query=(" pqn ")"]|
                       ["scan?query=(" pqn ")"]]
                         ["&close=" | session]
                         ["&esn=" elementset]
                         ["&rs=" recordsyntax *[ "+" recordsyntax]]
                         ["&encode=" encodehtml ]
                         ["&maxrecs=" max]
                         ["&stylesheet=" URL]]

    zscheme      = "z3950" | "z3950s" |"z39.50s" | "z3950r" |"z39.50r"
    username     = uchar
    password     = uchar
    host         = TCP/IP host name
    port         = TCP/IP port number
    database     = uchar
    docid        = uchar
    pqn          = uchar
    session      = "1" | "0"
    elementset   = "B" | "F" | "G" | "S" | uchar
    recordsyntax = "GRS-1" | "SUTRS" | "USMARC" | uchar
    encodehtml   = "1" | "0"
    max          = integer
    URL          = TCP/IP URL

Available Options

These elements are not yet supported:


After you have installed kio_z3950r, you might want to try the following URLs (If you are not using Konqueror, these won't work!):


kio_z3950r 0.1 - 11 March 2003