Scroll to navigation

Catmandu::Validator::MARC(3pm) User Contributed Perl Documentation Catmandu::Validator::MARC(3pm)


Catmandu::Validator::MARC - Validate MARC records against a MARC21 Schema


In Perl code:

    use 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;
            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.


Johann Rolschewski, <jorol at cpan>

2022-09-27 perl v5.34.0