YAZ User's Guide and Reference
Total Page:16
File Type:pdf, Size:1020Kb
YAZ User’s Guide and Reference i YAZ User’s Guide and Reference Copyright © 1995-2021 Index Data YAZ User’s Guide and Reference iii COLLABORATORS TITLE : YAZ User’s Guide and Reference ACTION NAME DATE SIGNATURE WRITTEN BY Sebastian April 27, 2021 Hammer, Adam Dickmeiss, Mike Taylor, Heikki Levanto, and Dennis Schafroth REVISION HISTORY NUMBER DATE DESCRIPTION NAME YAZ User’s Guide and Reference v Contents 1 Introduction 1 1.1 Reading this Manual . .1 1.2 The API . .2 2 Compilation and Installation5 2.1 Introduction . .5 2.2 UNIX/MacOS . .5 2.2.1 Compiling from source on Unix . .6 2.2.2 Compiling from source on MacOS . .9 2.2.3 How to make apps using YAZ on UNIX . .9 2.3 Windows . 10 2.3.1 Compiling from Source on Windows . 10 2.3.2 How to make apps using YAZ on Windows . 12 2.3.3 Compiling Libxml2 and Libxslt on windows . 12 3 ZOOM 13 3.1 Connections . 13 3.1.1 Z39.50 Protocol behavior . 16 3.1.2 SRU/Solr Protocol behavior . 16 3.2 Queries . 17 3.3 Result sets . 17 3.3.1 Z39.50 Result-set Sort . 18 3.3.2 Z39.50 Protocol behavior . 20 3.3.3 SRU Protocol behavior . 20 3.4 Records . 21 3.4.1 Z39.50 Protocol behavior . 23 3.4.2 SRU/Solr Protocol behavior . 23 3.5 ZOOM Facets . 23 3.6 Scan . 24 3.7 Extended Services . 25 3.7.1 Item Order . 26 3.7.2 Record Update . 26 3.7.3 Database Create . 30 3.7.4 Database Drop . 30 3.7.5 Commit Operation . 30 3.7.6 Protocol behavior . 30 3.8 Options . 30 3.9 Query conversions . 31 3.10 Events . 31 4 Generic server 33 4.1 Introduction . 33 4.2 The Database Frontend . 33 4.3 The Backend API . 34 4.4 Your main() Routine . 34 4.5 The Backend Functions . 36 4.5.1 Init . 36 4.5.2 Search and Retrieve . 39 4.5.3 Delete . 42 4.5.4 Scan . 42 4.6 Application Invocation . 43 4.7 GFS Configuration and Virtual Hosts . 45 5 The Z39.50 ASN.1 Module 49 5.1 Introduction . 49 5.2 Preparing PDUs . 49 5.3 EXTERNAL Data . 51 5.4 PDU Contents Table . 52 6 SOAP and SRU 59 6.1 Introduction . 59 6.2 HTTP . 59 6.3 SOAP Packages . 60 6.4 SRU.............................................. 61 YAZ User’s Guide and Reference vii 7 Supporting Tools 65 7.1 Query Syntax Parsers . 65 7.1.1 Prefix Query Format . 65 7.1.1.1 Using Proximity Operators with PQF . 68 7.1.1.2 PQF queries . 69 7.1.2 CCL . 70 7.1.2.1 CCL Syntax . 70 7.1.2.2 CCL Qualifiers . 72 7.1.2.2.1 Qualifier specification . 72 7.1.2.2.2 Qualifier alias . 73 7.1.2.2.3 Comments . 73 7.1.2.2.4 Directives . 73 7.1.2.3 CCL API . 75 7.1.3 CQL . 75 7.1.3.1 CQL parsing . 76 7.1.3.2 CQL tree . 77 7.1.3.3 CQL to PQF conversion . 78 7.1.3.4 Specification of CQL to RPN mappings . 80 7.1.3.5 CQL to XCQL conversion . 82 7.1.3.6 PQF to CQL conversion . 83 7.2 Object Identifiers . 83 7.2.1 OID database . 84 7.2.2 Standard OIDs . 85 7.3 Nibble Memory . 85 7.4 Log .............................................. 86 7.5 MARC . 88 7.5.1 TurboMARC . 89 7.6 Retrieval Facility . 90 7.6.1 Retrieval XML format . 91 7.6.2 Retrieval Facility Examples . 93 7.6.3 API . 95 7.7 Sorting . 95 7.7.1 Using the Z39.50 sort service . 95 7.7.2 Type-7 sort . 95 7.8 Facets . 96 8 The ODR Module 97 8.1 Introduction . 97 8.2 Using ODR . 97 8.2.1 ODR Streams . ..