Catmandu::MARC - Catmandu modules for working with MARC data
Contents
Contributors
• Nicolas Steenlant, "<nicolas.steenlant at ugent.be>"
• Nicolas Franck, "<nicolas.franck at ugent.be>"
• Johann Rolschewski, "jorol at cpan.org"
• Chris Cormack
• Robin Sheat
• Carsten Klee, "klee at cpan.org"
Copyright
Copyright 2012- Patrick Hochstenbach , Carsten Klee, Johann Rolschewski
Description
With Catmandu, LibreCat tools abstract digital library and research services as data warehouse processes.
As stores we reuse MongoDB or ElasticSearch providing us with developer friendly APIs. Catmandu works
with international library standards such as MARC, MODS and Dublin Core, protocols such as OAI-PMH, SRU
and open repositories such as DSpace and Fedora. And, of course, we speak the evolving Semantic Web.
Follow us on <http://librecat.org> and read an introduction into Catmandu data processing at
<https://github.com/LibreCat/Catmandu/wiki>.
License
This program is free software; you can redistribute it and/or modify it under the terms of either: the
GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See <http://dev.perl.org/licenses/> for more information.
perl v5.38.2 2024-08-03 Catmandu::MARC(3pm)
Modules
• Catmandu::MARC::Tutorial
• Catmandu::Importer::MARC
• Catmandu::Importer::MARC::ALEPHSEQ
• Catmandu::Importer::MARC::ISO
• Catmandu::Importer::MARC::Line
• Catmandu::Importer::MARC::Lint
• Catmandu::Importer::MARC::MARCMaker
• Catmandu::Importer::MARC::MicroLIF
• Catmandu::Importer::MARC::MiJ
• Catmandu::Importer::MARC::RAW
• Catmandu::Importer::MARC::Record
• Catmandu::Importer::MARC::XML
• Catmandu::Exporter::MARC
• Catmandu::Exporter::MARC::ALEPHSEQ
• Catmandu::Exporter::MARC::ISO
• Catmandu::Exporter::MARC::Line
• Catmandu::Exporter::MARC::MARCMaker
• Catmandu::Exporter::MARC::MiJ
• Catmandu::Exporter::MARC::XML
• Catmandu::Fix::marc_add
• Catmandu::Fix::marc_append
• Catmandu::Fix::marc_copy
• Catmandu::Fix::marc_cut
• Catmandu::Fix::marc_decode_dollar_subfields
• Catmandu::Fix::marc_in_json
• Catmandu::Fix::marc_map
• Catmandu::Fix::marc_paste
• Catmandu::Fix::marc_remove
• Catmandu::Fix::marc_replace_all
• Catmandu::Fix::marc_set
• Catmandu::Fix::marc_sort
• Catmandu::Fix::marc_spec
• Catmandu::Fix::marc_xml
• Catmandu::Fix::Bind::marc_each
• Catmandu::Fix::Condition::marc_all_match
• Catmandu::Fix::Condition::marc_any_match
• Catmandu::Fix::Condition::marc_has
• Catmandu::Fix::Condition::marc_has_many
• Catmandu::Fix::Condition::marc_match
• Catmandu::Fix::Condition::marc_spec_has
• Catmandu::Fix::Inline::marc_map
• Catmandu::Fix::Inline::marc_add
• Catmandu::Fix::Inline::marc_remove
• Catmandu::Fix::Inline::marc_set
Name
Catmandu::MARC - Catmandu modules for working with MARC data
See Also
Catmandu, Catmandu::Importer, Catmandu::Fix, Catmandu::Store, MARC::Spec
Synopsis
# On the command line
$ catmandu convert MARC to JSON < data.mrc
$ catmandu convert MARC --type MiJ to YAML < data.marc_in_json
$ catmandu convert MARC --fix "marc_map(245,title)" < data.mrc
$ catmandu convert MARC --fix myfixes.txt < data.mrc
myfixes:
marc_map("245a", title)
marc_map("5**", note.$append)
marc_map('710','my.authors.$append')
marc_map('008_/35-35','my.language')
remove_field(record)
add_field(my.funny.field,'test123')
$ catmandu import MARC --fix myfixes.txt to ElasticSearch --index_name 'catmandu' < data.marc
# In perl
use Catmandu;
my $importer = Catmandu->importer('MARC', file => 'data.mrc' );
my $fixer = Catmandu->fixer('myfixes.txt');
my $store = Catmandu->store('ElasticSearch', index_name => 'catmandu');
$store->add_many(
$fixer->fix($importer)
);
