Perl extension implementing the ZOOM API for Information Retrieval

Edit Package perl-Net-Z3950-ZOOM

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.

Refresh
Refresh
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
Tina Müller's avatar Tina Müller (tinita) accepted request 843907 from Dirk Stoecker's avatar Dirk Stoecker (dstoecker) (revision 2)
- 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
openSUSE Build Service is sponsored by