mik icon indicating copy to clipboard operation
mik copied to clipboard

Provide a MARC fetcher and metadata parser

Open mjordan opened this issue 9 years ago • 2 comments

http://pear.php.net/package/File_MARC (also available via composer) provides parsing of binary and XML MARC data. A minimalistic example of its use is:

<?php
require 'File/MARC.php';
$records = new File_MARC('binaryinpufile.mrc');
while ($record = $records->next()) {
     $resp = $record->getFields('245');
     $title = $resp[0]->getSubfields('a');
     print $title[0]->getData() . "\n";
}

MIK mappings could take the form

"245a","<titleInfo><title>How to migrate stuff</title></titleInfo>", etc.

mjordan avatar Jan 27 '16 15:01 mjordan

:thumbsup:

MarcusBarnes avatar Jan 27 '16 18:01 MarcusBarnes

In the composerized version:

<?php

require 'vendor/autoload.php';
use Scriptotek\Marc\Collection;

$collection = Collection::fromFile('input_file.mrc');
foreach ($collection->records as $record) {
  $field245a = $record->get('245$a');
  echo $field245a[0] ."\n";
}

mjordan avatar Feb 05 '16 15:02 mjordan