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 releasemy $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 parsermy $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 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.1by 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/>