Initial commit
[yaz4j-moved-to-github.git] / dependencies / yaz-2.1.28 / doc / index.html
1 <html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>YAZ User's Guide and Reference</title><meta name="generator" content="DocBook XSL Stylesheets V1.70.1"><meta name="description" content="This document is the programmer's guide and reference to the YAZ package version 2.1.28. YAZ is a compact toolkit that provides access to the Z39.50 and SRW/SRU protocols, as well as a set of higher-level tools for implementing the server and client roles, respectively. The documentation can be used on its own, or as a reference when looking at the example applications provided with the package. "><link rel="start" href="index.html" title="YAZ User's Guide and Reference"><link rel="next" href="introduction.html" title="Chapter 1. Introduction"></head><body><link rel="stylesheet" type="text/css" href="common/style1.css"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">YAZ User's Guide and Reference</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="introduction.html">Next</a></td></tr></table><hr></div><div class="book" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="yaz"></a>YAZ User's Guide and Reference</h1></div><div><div class="author"><h3 class="author"><span class="firstname">Sebastian</span> <span class="surname">Hammer</span></h3></div></div><div><div class="author"><h3 class="author"><span class="firstname">Adam</span> <span class="surname">Dickmeiss</span></h3></div></div><div><div class="author"><h3 class="author"><span class="firstname">Mike</span> <span class="surname">Taylor</span></h3></div></div><div><div class="author"><h3 class="author"><span class="firstname">Heikki</span> <span class="surname">Levanto</span></h3></div></div><div><p class="copyright">Copyright © 1995-2006 Index Data</p></div><div><div class="abstract"><p class="title"><b>Abstract</b></p><p>
2     This document is the programmer's guide and reference to the YAZ
3     package version 2.1.28. YAZ is a compact toolkit that provides
4     access to the Z39.50 and SRW/SRU protocols, as well as a set of
5     higher-level tools for implementing the server and client
6     roles, respectively.
7     The documentation can be used on its own, or as a reference when
8     looking at the example applications provided with the package.
9    </p><p>
10     <span class="inlinemediaobject"><img src="common/id.png"></span>
11    </p></div></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="introduction.html">1. Introduction</a></span></dt><dd><dl><dt><span class="sect1"><a href="introduction.html#introduction.reading">1. Reading this Manual</a></span></dt><dt><span class="sect1"><a href="introduction.api.html">2. The API</a></span></dt></dl></dd><dt><span class="chapter"><a href="installation.html">2. Compilation and Installation</a></span></dt><dd><dl><dt><span class="sect1"><a href="installation.html#id2558750">1. Introduction</a></span></dt><dt><span class="sect1"><a href="installation.unix.html">2. UNIX</a></span></dt><dd><dl><dt><span class="sect2"><a href="installation.unix.html#installation.source.unix">2.1. Compiling from source on Unix</a></span></dt><dt><span class="sect2"><a href="installation.unix.html#id2560208">2.2. How to make apps using YAZ on UNIX</a></span></dt></dl></dd><dt><span class="sect1"><a href="installation.win32.html">3. WIN32</a></span></dt><dd><dl><dt><span class="sect2"><a href="installation.win32.html#installation.win32.source">3.1. Compiling from Source on WIN32</a></span></dt><dt><span class="sect2"><a href="installation.win32.html#id2560967">3.2. How to make apps using YAZ on WIN32</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="zoom.html">3. ZOOM</a></span></dt><dd><dl><dt><span class="sect1"><a href="zoom.html#zoom.connections">1. Connections</a></span></dt><dd><dl><dt><span class="sect2"><a href="zoom.html#id2563568">1.1. Z39.50 Protocol behavior</a></span></dt><dt><span class="sect2"><a href="zoom.html#id2563682">1.2. SRU Protocol behavior</a></span></dt></dl></dd><dt><span class="sect1"><a href="zoom.query.html">2. Queries</a></span></dt><dd><dl><dt><span class="sect2"><a href="zoom.query.html#id2563803">2.1. Protocol behavior</a></span></dt></dl></dd><dt><span class="sect1"><a href="zoom.resultsets.html">3. Result sets</a></span></dt><dd><dl><dt><span class="sect2"><a href="zoom.resultsets.html#id2564248">3.1. Z39.50 Protocol behavior</a></span></dt><dt><span class="sect2"><a href="zoom.resultsets.html#id2564373">3.2. SRU Protocol behavior</a></span></dt></dl></dd><dt><span class="sect1"><a href="zoom.records.html">4. Records</a></span></dt><dd><dl><dt><span class="sect2"><a href="zoom.records.html#id2564926">4.1. Z39.50 Protocol behavior</a></span></dt><dt><span class="sect2"><a href="zoom.records.html#id2564982">4.2. SRU Protocol behavior</a></span></dt></dl></dd><dt><span class="sect1"><a href="zoom.scan.html">5. Scan</a></span></dt><dt><span class="sect1"><a href="zoom.ext.html">6. Extended Services</a></span></dt><dd><dl><dt><span class="sect2"><a href="zoom.ext.html#zoom.ext.itemorder">6.1. Item Order</a></span></dt><dt><span class="sect2"><a href="zoom.ext.html#zoom.ext.update">6.2. Record Update</a></span></dt><dt><span class="sect2"><a href="zoom.ext.html#zoom.ext.dbcreate">6.3. Database Create</a></span></dt><dt><span class="sect2"><a href="zoom.ext.html#zoom.ext.dbdrop">6.4. Database Drop</a></span></dt><dt><span class="sect2"><a href="zoom.ext.html#zoom.ext.commit">6.5. Commit Operation</a></span></dt><dt><span class="sect2"><a href="zoom.ext.html#id2566115">6.6. Protocol behavior</a></span></dt></dl></dd><dt><span class="sect1"><a href="zoom.options.html">7. Options</a></span></dt><dt><span class="sect1"><a href="zoom.events.html">8. Events</a></span></dt></dl></dd><dt><span class="chapter"><a href="server.html">4. Generic server</a></span></dt><dd><dl><dt><span class="sect1"><a href="server.html#id2570228">1. Introduction</a></span></dt><dt><span class="sect1"><a href="server.frontend.html">2. The Database Frontend</a></span></dt><dt><span class="sect1"><a href="server.backend.html">3. The Backend API</a></span></dt><dt><span class="sect1"><a href="server.main.html">4. Your main() Routine</a></span></dt><dt><span class="sect1"><a href="server.backendfunctions.html">5. The Backend Functions</a></span></dt><dd><dl><dt><span class="sect2"><a href="server.backendfunctions.html#id2570826">5.1. Init</a></span></dt><dt><span class="sect2"><a href="server.backendfunctions.html#id2571032">5.2. Search and retrieve</a></span></dt><dt><span class="sect2"><a href="server.backendfunctions.html#id2571502">5.3. Delete</a></span></dt><dt><span class="sect2"><a href="server.backendfunctions.html#id2571537">5.4. scan</a></span></dt></dl></dd><dt><span class="sect1"><a href="server.invocation.html">6. Application Invocation</a></span></dt><dt><span class="sect1"><a href="server.vhosts.html">7. Virtual Hosts</a></span></dt></dl></dd><dt><span class="chapter"><a href="client.html">5. The YAZ client</a></span></dt><dd><dl><dt><span class="sect1"><a href="client.html#client.introduction">1. Introduction</a></span></dt><dt><span class="sect1"><a href="client.invoking.html">2. Invoking the YAZ client</a></span></dt><dt><span class="sect1"><a href="client.commands.html">3. Commands</a></span></dt><dt><span class="sect1"><a href="client.searching.html">4. Searching</a></span></dt></dl></dd><dt><span class="chapter"><a href="asn.html">6. The Z39.50 ASN.1 Module</a></span></dt><dd><dl><dt><span class="sect1"><a href="asn.html#asn.introduction">1. Introduction</a></span></dt><dt><span class="sect1"><a href="asn.preparing.html">2. Preparing PDUs</a></span></dt><dt><span class="sect1"><a href="asn.oid.html">3. Object Identifiers</a></span></dt><dt><span class="sect1"><a href="asn.external.html">4. EXTERNAL Data</a></span></dt><dt><span class="sect1"><a href="asn.pdu.html">5. PDU Contents Table</a></span></dt></dl></dd><dt><span class="chapter"><a href="soap.html">7. SOAP and SRU</a></span></dt><dd><dl><dt><span class="sect1"><a href="soap.html#soap.introduction">1. Introduction</a></span></dt><dt><span class="sect1"><a href="soap.http.html">2. HTTP</a></span></dt><dt><span class="sect1"><a href="soap.xml.html">3. SOAP Packages</a></span></dt><dt><span class="sect1"><a href="soap.srw.html">4. SRU</a></span></dt></dl></dd><dt><span class="chapter"><a href="tools.html">8. Supporting Tools</a></span></dt><dd><dl><dt><span class="sect1"><a href="tools.html#tools.query">1. Query Syntax Parsers</a></span></dt><dd><dl><dt><span class="sect2"><a href="tools.html#PQF">1.1. Prefix Query Format</a></span></dt><dd><dl><dt><span class="sect3"><a href="tools.html#PQF-prox">1.1.1. Using Proximity Operators with PQF</a></span></dt><dt><span class="sect3"><a href="tools.html#pqf-examples">1.1.2. PQF queries</a></span></dt></dl></dd><dt><span class="sect2"><a href="tools.html#CCL">1.2. CCL</a></span></dt><dd><dl><dt><span class="sect3"><a href="tools.html#id2592877">1.2.1. CCL Syntax</a></span></dt><dt><span class="sect3"><a href="tools.html#id2592988">1.2.2. CCL Qualifiers</a></span></dt><dt><span class="sect3"><a href="tools.html#id2593966">1.2.3. CCL API</a></span></dt></dl></dd><dt><span class="sect2"><a href="tools.html#tools.cql">1.3. CQL</a></span></dt><dd><dl><dt><span class="sect3"><a href="tools.html#tools.cql.parsing">1.3.1. CQL parsing</a></span></dt><dt><span class="sect3"><a href="tools.html#tools.cql.tree">1.3.2. CQL tree</a></span></dt><dt><span class="sect3"><a href="tools.html#tools.cql.pqf">1.3.3. CQL to PQF conversion</a></span></dt><dt><span class="sect3"><a href="tools.html#tools.cql.map">1.3.4. Specification of CQL to RPN mappings</a></span></dt><dt><span class="sect3"><a href="tools.html#tools.cql.xcql">1.3.5. CQL to XCQL conversion</a></span></dt></dl></dd></dl></dd><dt><span class="sect1"><a href="tools.oid.html">2. Object Identifiers</a></span></dt><dt><span class="sect1"><a href="tools.nmem.html">3. Nibble Memory</a></span></dt><dt><span class="sect1"><a href="tools.log.html">4. Log</a></span></dt><dt><span class="sect1"><a href="tools.marc.html">5. MARC</a></span></dt></dl></dd><dt><span class="chapter"><a href="odr.html">9. The ODR Module</a></span></dt><dd><dl><dt><span class="sect1"><a href="odr.html#odr.introduction">1. Introduction</a></span></dt><dt><span class="sect1"><a href="odr.use.html">2. Using ODR</a></span></dt><dd><dl><dt><span class="sect2"><a href="odr.use.html#id2601431">2.1. ODR Streams</a></span></dt><dt><span class="sect2"><a href="odr.use.html#id2601499">2.2. Memory Management</a></span></dt><dt><span class="sect2"><a href="odr.use.html#id2601680">2.3. Encoding and Decoding Data</a></span></dt><dt><span class="sect2"><a href="odr.use.html#id2602222">2.4. Printing</a></span></dt><dt><span class="sect2"><a href="odr.use.html#id2602422">2.5. Diagnostics</a></span></dt><dt><span class="sect2"><a href="odr.use.html#id2602602">2.6. Summary and Synopsis</a></span></dt></dl></dd><dt><span class="sect1"><a href="odr.programming.html">3. Programming with ODR</a></span></dt><dd><dl><dt><span class="sect2"><a href="odr.programming.html#id2602706">3.1. The Primitive ASN.1 Types</a></span></dt><dd><dl><dt><span class="sect3"><a href="odr.programming.html#id2602716">3.1.1. INTEGER</a></span></dt><dt><span class="sect3"><a href="odr.programming.html#id2602856">3.1.2. BOOLEAN</a></span></dt><dt><span class="sect3"><a href="odr.programming.html#id2602868">3.1.3. REAL</a></span></dt><dt><span class="sect3"><a href="odr.programming.html#id2602878">3.1.4. NULL</a></span></dt><dt><span class="sect3"><a href="odr.programming.html#id2602902">3.1.5. OCTET STRING</a></span></dt><dt><span class="sect3"><a href="odr.programming.html#id2602972">3.1.6. BIT STRING</a></span></dt><dt><span class="sect3"><a href="odr.programming.html#id2603048">3.1.7. OBJECT IDENTIFIER</a></span></dt></dl></dd><dt><span class="sect2"><a href="odr.programming.html#tag.prim">3.2. Tagging Primitive Types</a></span></dt><dt><span class="sect2"><a href="odr.programming.html#id2603205">3.3. Constructed Types</a></span></dt><dt><span class="sect2"><a href="odr.programming.html#id2603377">3.4. Tagging Constructed Types</a></span></dt><dd><dl><dt><span class="sect3"><a href="odr.programming.html#id2603396">3.4.1. Implicit Tagging</a></span></dt><dt><span class="sect3"><a href="odr.programming.html#id2603470">3.4.2. Explicit Tagging</a></span></dt></dl></dd><dt><span class="sect2"><a href="odr.programming.html#id2603581">3.5. SEQUENCE OF</a></span></dt><dt><span class="sect2"><a href="odr.programming.html#id2603660">3.6. CHOICE Types</a></span></dt></dl></dd><dt><span class="sect1"><a href="odr.debugging.html">4. Debugging</a></span></dt></dl></dd><dt><span class="chapter"><a href="comstack.html">10. The COMSTACK Module</a></span></dt><dd><dl><dt><span class="sect1"><a href="comstack.html#comstack.synopsis">1. Synopsis (blocking mode)</a></span></dt><dt><span class="sect1"><a href="comstack.introduction.html">2. Introduction</a></span></dt><dt><span class="sect1"><a href="comstack.common.html">3. Common Functions</a></span></dt><dd><dl><dt><span class="sect2"><a href="comstack.common.html#id2606459">3.1. Managing Endpoints</a></span></dt><dt><span class="sect2"><a href="comstack.common.html#id2606615">3.2. Data Exchange</a></span></dt></dl></dd><dt><span class="sect1"><a href="comstack.client.html">4. Client Side</a></span></dt><dt><span class="sect1"><a href="comstack.server.html">5. Server Side</a></span></dt><dt><span class="sect1"><a href="comstack.addresses.html">6. Addresses</a></span></dt><dt><span class="sect1"><a href="comstack.ssl.html">7. SSL</a></span></dt><dt><span class="sect1"><a href="comstack.diagnostics.html">8. Diagnostics</a></span></dt><dt><span class="sect1"><a href="comstack.summary.html">9. Summary and Synopsis</a></span></dt></dl></dd><dt><span class="chapter"><a href="future.html">11. Future Directions</a></span></dt><dt><span class="appendix"><a href="license.html">A. License</a></span></dt><dd><dl><dt><span class="sect1"><a href="license.html#license.indexdata">1. Index Data Copyright</a></span></dt><dt><span class="sect1"><a href="license.other.html">2. Additional Copyright Statements</a></span></dt></dl></dd><dt><span class="appendix"><a href="indexdata.html">B. About Index Data</a></span></dt><dt><span class="appendix"><a href="credits.html">C. Credits</a></span></dt></dl></div><div class="list-of-figures"><p><b>List of Figures</b></p><dl><dt>1.1. <a href="introduction.api.html#yaz.layer">YAZ layers</a></dt></dl></div><div class="list-of-tables"><p><b>List of Tables</b></p><dl><dt>3.1. <a href="zoom.html#id2563188">ZOOM Connection Options</a></dt><dt>3.2. <a href="zoom.resultsets.html#id2563917">ZOOM Result set Options</a></dt><dt>3.3. <a href="zoom.resultsets.html#id2564123">Search Info Report options</a></dt><dt>3.4. <a href="zoom.scan.html#id2565174">ZOOM Scan Set Options</a></dt><dt>3.5. <a href="zoom.ext.html#id2565441">Extended Service Common Options</a></dt><dt>3.6. <a href="zoom.ext.html#id2565601">Item Order Options</a></dt><dt>3.7. <a href="zoom.ext.html#id2565734">Record Update Options</a></dt><dt>3.8. <a href="zoom.ext.html#id2565931">Database Create Options</a></dt><dt>3.9. <a href="zoom.ext.html#id2566022">Database Create Options</a></dt><dt>3.10. <a href="zoom.events.html#id2566284">ZOOM Event IDs</a></dt><dt>6.1. <a href="asn.pdu.html#id2585699">Default settings for PDU Initialize Request</a></dt><dt>6.2. <a href="asn.pdu.html#id2585858">Default settings for PDU Initialize
12     Response</a></dt><dt>6.3. <a href="asn.pdu.html#id2586016">Default settings for PDU Search Request</a></dt><dt>6.4. <a href="asn.pdu.html#id2586204">Default settings for PDU Search Response</a></dt><dt>6.5. <a href="asn.pdu.html#id2586352">Default settings for PDU Present Request</a></dt><dt>6.6. <a href="asn.pdu.html#id2586519">Default settings for PDU Present Response</a></dt><dt>6.7. <a href="asn.pdu.html#id2586628">Default settings for Delete Result Set Request
13     </a></dt><dt>6.8. <a href="asn.pdu.html#id2586729">Default settings for Delete Result Set Response
14     </a></dt><dt>6.9. <a href="asn.pdu.html#id2586869">Default settings for Scan Request
15     </a></dt><dt>6.10. <a href="asn.pdu.html#id2587007">Default settings for Scan Response
16     </a></dt><dt>6.11. <a href="asn.pdu.html#id2587136">Default settings for Trigger Resource
17      Control Request </a></dt><dt>6.12. <a href="asn.pdu.html#id2587237">Default settings for Resource
18      Control Request</a></dt><dt>6.13. <a href="asn.pdu.html#id2587357">Default settings for Resource
19      Control Response</a></dt><dt>6.14. <a href="asn.pdu.html#id2587448">Default settings for Access
20      Control Request</a></dt><dt>6.15. <a href="asn.pdu.html#id2587539">Default settings for Access
21      Control Response</a></dt><dt>6.16. <a href="asn.pdu.html#id2587640">Default settings for Segment</a></dt><dt>6.17. <a href="asn.pdu.html#id2587740">Default settings for Close</a></dt><dt>8.1. <a href="tools.html#id2593151">Common Bib-1 attributes</a></dt><dt>8.2. <a href="tools.html#id2593327">Special attribute combos</a></dt><dt>8.3. <a href="tools.html#id2593778">CCL directives</a></dt><dt>9.1. <a href="odr.use.html#id2602483">ODR Error codes</a></dt></dl></div><div class="list-of-examples"><p><b>List of Examples</b></p><dl><dt>4.1. <a href="server.invocation.html#id2572708">Running the GFS on Unix</a></dt><dt>4.2. <a href="server.invocation.html#id2573158">Setting up Apache as SRU Frontend</a></dt><dt>4.3. <a href="server.invocation.html#id2573210">Running a server with local access only</a></dt><dt>8.1. <a href="tools.html#id2592650">PQF queries using simple terms</a></dt><dt>8.2. <a href="tools.html#id2592665">PQF boolean operators</a></dt><dt>8.3. <a href="tools.html#id2592681">PQF references to result sets</a></dt><dt>8.4. <a href="tools.html#id2592697">Attributes for terms</a></dt><dt>8.5. <a href="tools.html#id2592714">PQF Proximity queries</a></dt><dt>8.6. <a href="tools.html#id2592792">PQF specification of search term</a></dt><dt>8.7. <a href="tools.html#id2592808">PQF mixed queries</a></dt><dt>8.8. <a href="tools.html#id2592900">CCL queries</a></dt><dt>8.9. <a href="tools.html#id2593603">CCL profile</a></dt><dt>8.10. <a href="tools.html#id2595233">CQL to RPN mapping file</a></dt><dt>8.11. <a href="tools.marc.html#id2596589">Display of MARC record</a></dt><dt>9.1. <a href="odr.use.html#id2601357">Encoding and decoding functions</a></dt><dt>9.2. <a href="odr.use.html#id2602189">Encoding and decoding of an integer</a></dt><dt>9.3. <a href="odr.use.html#id2602368">Element Path for record</a></dt></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="introduction.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"> </td><td width="40%" align="right" valign="top"> Chapter 1. Introduction</td></tr></table></div></body></html>