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
10by default. This is translated to SRU request parametermaximumRecords.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
dcby default - sortkeys
-
Optional sorting
- operation
-
Set to
searchRetrieveby default - version
-
Set to
1.1by default - userAgent
-
HTTP user agent, set to
Mozilla/5.0by 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
parsesubroutine. See the default valueCatmandu::Importer::SRU::Parserfor an example.Name of a Perl package that implements a
parsesubroutine. The name must be prepended by+or it prefixed withCatmandu::Importer::SRU::Parser::. For instancemarcxmlwill create aCatmandu::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/