Perl extension implementing the ZOOM API for Information Retrieval
This module provides a nice, Perlish implementation of the ZOOM Abstract API described and documented at http://zoom.z3950.org/api/
the ZOOM module is implemented as a set of thin classes on top of the non-OO functions provided by this distribution's Net::Z3950::ZOOM module, which in turn is a thin layer on top of the ZOOM-C code supplied as part of Index Data's YAZ Toolkit. Because ZOOM-C is also the underlying code that implements ZOOM bindings in C++, Visual Basic, Scheme, Ruby, .NET (including C#) and other languages, this Perl module works compatibly with those other implementations. (Of course, the point of a public API such as ZOOM is that all implementations should be compatible anyway; but knowing that the same code is running is reassuring.)
The ZOOM module provides two enumerations (ZOOM::Error and ZOOM::Event), three utility functions diag_str(), event_str() and event() in the ZOOM package itself, and eight classes: ZOOM::Exception, ZOOM::Options, ZOOM::Connection, ZOOM::Query, ZOOM::ResultSet, ZOOM::Record, ZOOM::ScanSet and ZOOM::Package. Of these, the Query class is abstract, and has four concrete subclasses: ZOOM::Query::CQL, ZOOM::Query::PQF, ZOOM::Query::CQL2RPN and ZOOM::Query::CCL2RPN. Finally, it also provides a ZOOM::Query::Log module which supplies a useful general-purpose logging facility. Many useful ZOOM applications can be built using only the Connection, ResultSet, Record and Exception classes, as in the example code-snippet above.
A typical application will begin by creating an Connection object, then using that to execute searches that yield ResultSet objects, then fetching records from the result-sets to yield Record objects. If an error occurs, an Exception object is thrown and can be dealt with.
More sophisticated applications might also browse the server's indexes to create a ScanSet, from which indexed terms may be retrieved; others might send ``Extended Services'' Packages to the server, to achieve non-standard tasks such as database creation and record update. Searching using a query syntax other than PQF can be done using an query object of one of the Query subclasses. Finally, sets of options may be manipulated independently of the objects they are associated with using an Options object.
In general, method calls throw an exception if anything goes wrong, so you don't need to test for success after each call. See the section below on the Exception class for details.
- Sources inherited from project devel:languages:perl
- Download package
-
Checkout Package
osc -A https://api.opensuse.org checkout home:Tomcat42/perl-Net-Z3950-ZOOM && cd $_
- Create Badge
Source Files
Filename | Size | Changed |
---|---|---|
Net-Z3950-ZOOM-1.30.tar.gz | 0000067042 65.5 KB | |
cpanspec.yml | 0000000901 901 Bytes | |
perl-Net-Z3950-ZOOM.changes | 0000002962 2.89 KB | |
perl-Net-Z3950-ZOOM.spec | 0000003066 2.99 KB | |
zoomdump.1 | 0000000348 348 Bytes | |
zselect.1 | 0000000599 599 Bytes |
Latest Revision
- updated to 1.30 see /usr/share/doc/packages/perl-Net-Z3950-ZOOM/Changes 1.30 - Update test 19-events.t and 29-events.t Events check: allow for multiple Connect events - Require YAZ 4 or later - Require perl-XML-LibXML-XPathContext on RHEL/CentOS v5 only. 1.29 - Debian/RPM packages now built with YAZ 5. - Do not depend on libyaz4-devel in Debian package (only required for building) - Include the useful example program samples/zoom-delete-records which is installed as part of "make install". - Fix documentation of connect() method so that it doesn't imply that it can accept options. - update to 1.28: + The displayTerm==term assertion is now case-insensitive + Support for Index Data build procedures - added man pages for zoomdump and zselect - renamed the package to perl-Net-Z3950-ZOOM as suggested by cpanspec - switch to perl_requires macro - update to 1.25: + Fix test-suite not to run the "packages" tests against test.indexdata.com, which has gone away, but against z3950.indexdata.com, like the other tests. A new server runs on a different port for these tests. + Rename zdump.pl to zoomdump, and add it to the set of programs installed. + When Net::Z3950::ZOOM::record_get() fetches an XML record because the requested OPAC record is empty, it now wraps it in an OPAC wrapper, making the difference invisible to application code. + Fix Net::Z3950::ZOOM::record_get() to use a struct datachunk _when_ appropriate, e.g. for "render" not for "database" and "syntax". + Remove the unused $len reference parameter from record_get() and $record->get(): this is now used in the underlying C layer to make Perl strings of the right length, and is of no value higher up the stack. + Fix a bug in ZOOM::ResultSet::records(): requests including the last record in the set were incorrectly declined. + Clear up a few warnings in ZOOM.xs + Minor documentation improvements. - update to 1.21 - initial package 1.16 - disabled tests: too many failures and too little time to fix
Comments 0