NAME

Catmandu::Exporter::MARC::MiJ - Exporter for MARC records to MARC in JSON

SYNOPSIS

# From the command line
$ catmandu convert MARC --type XML to MARC --type MiJ < /foo/bar.xml

# From Perl
use Catmandu;

my $importer = Catmandu->importer('MARC', file => "/foo/bar.xml" , type => 'XML');
my $exporter = Catmandu->exporter('MARC', file => "bar.json", type => 'MiJ' );

$exporter->add($importer);
$exporter->commit;

CONFIGURATION

file

Write output to a local file given by its path or file handle. Alternatively a scalar reference can be passed to write to a string and a code reference can be used to write to a callback function.

fh

Write the output to an IO::Handle. If not specified, Catmandu::Util::io is used to create the output handle from the file argument or by using STDOUT.

fix

An ARRAY of one or more fixes or file scripts to be applied to exported items.

encoding

Binmode of the output stream fh. Set to ":utf8" by default.

METHODS

See Catmandu::Exporter, Catmandu::Addable, Catmandu::Fixable, Catmandu::Counter, and Catmandu::Logger for a full list of methods.

FORMAT

The MARC-in-JSON record format contains two fields:

* 'leader' - the MARC leader
* 'fields' - an array of MARC fields

Each item in the MARC fields array contains the MARC tag and as value a hash containing three fields:

* 'subfields' - an array of MARC subfields
* 'ind1' - the first indicator of the MARC tag
* 'ind2' - the second indicator of the MARC tag

Each subfield item is an hash containing the MARC subfield tag and its value.

An example of one MARC record in the MiJ serialization format is given below:

{
  "leader": "0000cam  2200000   4500",
  "fields": [
    {
      "100": {
        "subfields": [
          {
            "a": "Huberman, Leo,"
          },
          {
            "d": "1903-1968."
          }
        ],
        "ind1": "1",
        "ind2": " "
      }
    },
    {
      "700": {
        "subfields": [
          {
            "a": "Sweezy, Paul M."
          },
          {
            "q": "(Paul Marlor),"
          },
          {
            "d": "1910-2004."
          }
        ],
        "ind1": "1",
        "ind2": " "
      }
    },
    ...
}

SEE ALSO

Catmandu::Exporter