YAZ User's Guide and Reference

Sebastian Hammer

Adam Dickmeiss

Mike Taylor

Heikki Levanto

This document is the programmer's guide and reference to the YAZ package version 2.0.30. 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.


Table of Contents
1. Introduction
Reading this Manual
The API
2. Compilation and Installation
Introduction
UNIX
Compiling from source on Unix
How to make apps using YAZ on UNIX
WIN32
Compiling from Source on WIN32
How to make apps using YAZ on WIN32
3. ZOOM
Connections
Z39.50 Protocol behavior
SRW Protocol behavior
Queries
Protocol behavior
Result sets
Z39.50 Protocol behavior
SRW Protocol behavior
Records
Z39.50 Protocol behavior
SRW Protocol behavior
Scan
Options
Events
4. Generic server
Introduction
The Database Frontend
The Backend API
Your main() Routine
The Backend Functions
Init
Search and retrieve
Delete
scan
Application Invocation
5. The YAZ client
Introduction
Invoking the YAZ client
Commands
Searching
6. The Z39.50 ASN.1 Module
Introduction
Preparing PDUs
Object Identifiers
EXTERNAL Data
PDU Contents Table
7. SOAP and SRW
Introduction
HTTP
SOAP Packages
SRW
8. Supporting Tools
Query Syntax Parsers
Prefix Query Format
CCL
CQL
Object Identifiers
Nibble Memory
Log
MARC
9. The ODR Module
Introduction
Using ODR
ODR Streams
Memory Management
Encoding and Decoding Data
Printing
Diagnostics
Summary and Synopsis
Programming with ODR
The Primitive ASN.1 Types
Tagging Primitive Types
Constructed Types
Tagging Constructed Types
SEQUENCE OF
CHOICE Types
Debugging
10. The COMSTACK Module
Synopsis (blocking mode)
Introduction
Common Functions
Managing Endpoints
Data Exchange
Client Side
Server Side
Addresses
SSL
Diagnostics
Summary and Synopsis
11. Future Directions
A. License
Index Data Copyright
Additional Copyright Statements
B. About Index Data
C. Credits
List of Tables
3-1. ZOOM Connection Options
3-2. ZOOM Result set Options
3-3. ZOOM Scan Set Options
6-1. Default settings for PDU Initialize Request
6-2. Default settings for PDU Initialize Response
6-3. Default settings for PDU Search Request
6-4. Default settings for PDU Search Response
6-5. Default settings for PDU Present Request
6-6. Default settings for PDU Present Response
6-7. Default settings for Delete Result Set Request
6-8. Default settings for Delete Result Set Response
6-9. Default settings for Scan Request
6-10. Default settings for Scan Response
6-11. Default settings for Trigger Resource Control Request
6-12. Default settings for Resource Control Request
6-13. Default settings for Resource Control Response
6-14. Default settings for Access Control Request
6-15. Default settings for Access Control Response
6-16. Default settings for Segment
6-17. Default settings for Close
8-1. Common Bib-1 attributes
8-2. Special attribute combos
8-3. CCL directives
9-1. ODR Error codes
List of Figures
1-1. YAZ layers
List of Examples
4-1. Running the GFS on Unix
4-2. Setting up Apache as SRW/SRU Frontend
4-3. Running a server with local access only
8-1. PQF queries using simple terms
8-2. PQF boolean operators
8-3. PQF references to result sets
8-4. Attributes for terms
8-5. PQF Proximity queries
8-6. PQF specification of search term
8-7. PQF mixed queries
8-8. CCL queries
8-9. CCL profile
8-10. CQL to RPN mapping file
8-11. Display of MARC record
9-1. Encoding and decoding functions
9-2. Encoding and decoding of an integer
9-3. Element Path for record