Scroll to navigation

MARC::Parser::XML(3pm) User Contributed Perl Documentation MARC::Parser::XML(3pm)

NAME

MARC::Parser::XML - Parser for MARC XML records

SYNOPSIS

    use MARC::Parser::XML;
    my $parser = MARC::Parser::XML->new( 't/marc.xml' );
    while ( my $record = $parser->next() ) { 
        # do something ...
    }

DESCRIPTION

MARC::Parser::XML is a lightweight, fault tolerant parser for MARC XML records. Tags, indicators and subfield codes are not validated against the MARC standard. The resulting data structure is optimized for usage with the Catmandu data tool kit.

MARC

The MARC record is parsed into an ARRAY of ARRAYs:

    $record = [
            [ 'LDR', undef, undef, '_', '00661nam  22002538a 4500' ],
            [ '001', undef, undef, '_', 'fol05865967 ' ],
            ...
            [   '245', '1', '0', 'a', 'Programming Perl /',
                'c', 'Larry Wall, Tom Christiansen & Jon Orwant.'
            ],
            ...
        ];

METHODS

new($file|$fh|$xml)

Configuration

"file"
Path to file with MARC XML records.
"fh"
Open filehandle for MARC XML records.
"xml"
XML string.

next()

Reads the next record from MARC input.

_decode($record)

Deserialize a raw MARC record to an ARRAY of ARRAYs.

AUTHOR

Johann Rolschewski <jorol@cpan.org>

COPYRIGHT

Copyright 2016- Johann Rolschewski

LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

2021-09-29 perl v5.32.1