Catmandu::Validator::MARC - Validate MARC records against a MARC21 Schema
In Perl code:
use Catmandu::Validator::MARC; Catmandu::Validator::MARC; use DDP; # load default MARC schema my $validator = Catmandu::Validator::MARC->new(); # ... or load custom MARC schema my $validator = Catmandu::Validator::MARC->new( schema => 'schema.json' ); my $importer = Catmandu::Importer::MARC->new( file => 't/camel.mrc', type => "ISO" ); $importer->each( sub { my $record = shift; unless($validator->validate($record)){ p $_ for @{$validator->last_errors()}; } });
In Catmandu Fix language:
# reject all items not conforming to the default MARC schema select valid(., MARC) # reject all items not conforming to a custom MARC schema select valid(., MARC, schema: 'schema.json')
This Catmandu::Validator can be used to check MARC records against an MARC21 schema. For more information see MARC::Schema and "MARC21 structure in JSON".
See also Catmandu::Fix::validate, and Catmandu::Fix::Condition::valid for usage of validators in Catmandu Fix language.
MARC Schema given as filename (JSON) or instance of MARC::Schema.
Don't report fields not included in the schema.
Don't report subfields not included in the schema.
To install Catmandu::MARC, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Catmandu::MARC
CPAN shell
perl -MCPAN -e shell install Catmandu::MARC
For more information on module installation, please visit the detailed CPAN module installation guide.