Catmandu::Importer::SRU(3) 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'
);

CONFIGURATION

base
base URL of the SRU server (required)
query
CQL query (required)
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.
furl
Instance of Furl 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).