Markdown
[ZOOM-Perl-moved-to-github.git] / samples / README
1 This area contains sample programs that exercise all three of the APIs
2 supported by this module.  The programs for each API are contained in
3 separate subdirectories:
4
5 net-z3950-zoom -- Test programs using the low-level Net::Z3950::ZOOM
6         API, which is an as-literal-as-possible translation of the
7         ZOOM-C API.  You should almost certainly not bother reading
8         these programs: they are for the benefit of the module
9         maintainers.
10
11 zoom -- Test programs using the object-oriented ZOOM interface, which
12         is a nice, Perlish interpretation of the ZOOM abstract API as
13         documented at http://zoom.z3950.org/api/
14
15 net-z3950 -- Test programs using the obsolescent Net::Z3950 interface,
16         which is provided by this distribution as a plug-compatible
17         replacement for the old Net::Z3950 module.  There is no reason
18         to use this API unless you are maintaining an existing
19         application that uses Net::Z3950.
20
21 In general, each sample program exists in a different version in all
22 three directories, under the same name in each.  The programs are:
23
24 zoomtst1.pl -- A direct translation of the "zoomtst1.c" application
25         from the YAZ distribution, except that these versions go on to
26         fetch the records that they find, whereas the C version is
27         satisfied just to get the hit count.
28
29 zoomtst3.pl -- A direct translation of the "zoomtst3.c" application
30         from the YAZ distribution -- simultaneous search of multiple
31         targets.  Pretty cool :-)
32
33 async.pl -- A slightly cleverer version of "zoomtst3.pl" which takes
34         advantage of the new END element introduced in YAZ 2.1.17 to
35         display each server's records as soon as they have been
36         received, rather than waiting until all servers have finished
37         their jobs as in every previous ZOOM-based multiplexer.
38
39 update.pl -- Create a new database and add a record to it.
40
41 In addition, this "sample" directory contains sample records that are
42 used by the test-suite to exercise the update functionality.  These
43 are found in the "records" subdirectory.  It also provides a
44 CQL-to-PQF mapping file (copied blindly from the one in the YAZ
45 distribution), found in the "cql" directory.