Provided by: libcatmandu-sru-perl_0.42.8-1ubuntu1_all bug

NAME

       Catmandu::Importer::SRU - Package that imports SRU data

SYNOPSIS

         use Catmandu::Importer::SRU;

         my %attrs = (
           base => 'http://www.unicat.be/sru',
           query => '(isbn=0855275103 or isbn=3110035170 or isbn=9010017362 or isbn=9014026188)',
           recordSchema => 'marcxml',
           parser => 'marcxml'
         );

         my $importer = Catmandu::Importer::SRU->new(%attrs);

         my $count = $importer->each(sub {
               my $schema   = $record->{recordSchema};
               my $packing  = $record->{recordPacking};
               my $position = $record->{recordPosition};
               my $data     = $record->{recordData};
           # ...
         });

         # Using Catmandu::Importer::SRU::Package::marcxml, included in this release

         my $importer = Catmandu::Importer::SRU->new(
           base => 'http://www.unicat.be/sru',
           query => '(isbn=0855275103 or isbn=3110035170 or isbn=9010017362 or isbn=9014026188)',
           recordSchema => 'marcxml' ,
           parser => 'marcxml' ,
         );

         # Using a homemade parser

         my $importer = Catmandu::Importer::SRU->new(
           base => 'http://www.unicat.be/sru',
           query => '(isbn=0855275103 or isbn=3110035170 or isbn=9010017362 or isbn=9014026188)',
           recordSchema => 'marcxml' ,
           parser => MyParser->new , # or parser => '+MyParser'
         );

DESCRIPTION

       This Catmandu::Importer imports records via SRU.

       SRU diagnostics are emitted as warnings except for parser set to "meta".

CONFIGURATION

       base
           Base URL of the SRU server (required)

       query
           CQL query (required)

       limit
           Number of records to fetch in one batch, set to 10 by default.  This is translated to
           SRU request parameter "maximumRecords".

           Records are fetched in multiple batches of this size or less.

       total
           Total number of records this importer may return.

           Not set by default

       recordSchema
           Set to "dc" by default

       sortkeys
           Optional sorting

       operation
           Set to "searchRetrieve" by default

       version
           Set to 1.1 by default

       userAgent
           HTTP user agent, set to "Mozilla/5.0" by default.

       http_client
           Instance of HTTP::Tiny or compatible class to fetch URLs with.

       parser
           Controls how records are parsed before importing. The following options are possible:

           • Instance of a Perl package that implements a "parse" subroutine. See the default
             value "Catmandu::Importer::SRU::Parser" for an example.

           • Name of a Perl package that implements a "parse" subroutine. The name must be
             prepended by "+" or it prefixed with "Catmandu::Importer::SRU::Parser::". For
             instance "marcxml" will create a "Catmandu::Importer::SRU::Parser::marcxml".

           • Function reference that gets passed the unparsed record.

METHODS

       All methods of Catmandu::Importer and by this Catmandu::Iterable are inherited. In
       addition the following methods are provided:

   url
       Return the current SRU request URL (useful for debugging).

SEE ALSO

       Catmandu::Importer, Catmandu::Iterable, <http://www.loc.gov/standards/sru/>