|
Lines 70-75
BEGIN {
Link Here
|
| 70 |
&GetMarcControlnumber |
70 |
&GetMarcControlnumber |
| 71 |
&GetMarcNotes |
71 |
&GetMarcNotes |
| 72 |
&GetMarcISBN |
72 |
&GetMarcISBN |
|
|
73 |
&GetMarcISSN |
| 73 |
&GetMarcSubjects |
74 |
&GetMarcSubjects |
| 74 |
&GetMarcBiblio |
75 |
&GetMarcBiblio |
| 75 |
&GetMarcAuthors |
76 |
&GetMarcAuthors |
|
Lines 1374-1382
Get the control number / record Identifier from the MARC record and return it.
Link Here
|
| 1374 |
sub GetMarcControlnumber { |
1375 |
sub GetMarcControlnumber { |
| 1375 |
my ( $record, $marcflavour ) = @_; |
1376 |
my ( $record, $marcflavour ) = @_; |
| 1376 |
my $controlnumber = ""; |
1377 |
my $controlnumber = ""; |
| 1377 |
# Control number or Record identifier are the same field in MARC21 and UNIMARC |
1378 |
# Control number or Record identifier are the same field in MARC21, UNIMARC and NORMARC |
| 1378 |
# Keep $marcflavour for possible later use |
1379 |
# Keep $marcflavour for possible later use |
| 1379 |
if ($marcflavour eq "MARC21" || $marcflavour eq "UNIMARC") { |
1380 |
if ($marcflavour eq "MARC21" || $marcflavour eq "UNIMARC" || $marcflavour eq "NORMARC") { |
| 1380 |
my $controlnumberField = $record->field('001'); |
1381 |
my $controlnumberField = $record->field('001'); |
| 1381 |
if ($controlnumberField) { |
1382 |
if ($controlnumberField) { |
| 1382 |
$controlnumber = $controlnumberField->data(); |
1383 |
$controlnumber = $controlnumberField->data(); |
|
Lines 1390-1396
sub GetMarcControlnumber {
Link Here
|
| 1390 |
$marcisbnsarray = GetMarcISBN( $record, $marcflavour ); |
1391 |
$marcisbnsarray = GetMarcISBN( $record, $marcflavour ); |
| 1391 |
|
1392 |
|
| 1392 |
Get all ISBNs from the MARC record and returns them in an array. |
1393 |
Get all ISBNs from the MARC record and returns them in an array. |
| 1393 |
ISBNs stored in differents places depending on MARC flavour |
1394 |
ISBNs stored in different fields depending on MARC flavour |
| 1394 |
|
1395 |
|
| 1395 |
=cut |
1396 |
=cut |
| 1396 |
|
1397 |
|
|
Lines 1425-1436
sub GetMarcISBN {
Link Here
|
| 1425 |
return \@marcisbns; |
1426 |
return \@marcisbns; |
| 1426 |
} # end GetMarcISBN |
1427 |
} # end GetMarcISBN |
| 1427 |
|
1428 |
|
|
|
1429 |
|
| 1430 |
=head2 GetMarcISSN |
| 1431 |
|
| 1432 |
$marcissnsarray = GetMarcISSN( $record, $marcflavour ); |
| 1433 |
|
| 1434 |
Get all valid ISSNs from the MARC record and returns them in an array. |
| 1435 |
ISSNs are stored in different fields depending on MARC flavour |
| 1436 |
|
| 1437 |
=cut |
| 1438 |
|
| 1439 |
sub GetMarcISSN { |
| 1440 |
my ( $record, $marcflavour ) = @_; |
| 1441 |
my $scope; |
| 1442 |
if ( $marcflavour eq "UNIMARC" ) { |
| 1443 |
$scope = '011'; |
| 1444 |
} |
| 1445 |
else { # assume MARC21 or NORMARC |
| 1446 |
$scope = '022'; |
| 1447 |
} |
| 1448 |
my @marcissns; |
| 1449 |
foreach my $field ( $record->field($scope) ) { |
| 1450 |
push @marcissns, $field->subfield( 'a' ); |
| 1451 |
} |
| 1452 |
return \@marcissns; |
| 1453 |
} # end GetMarcISSN |
| 1454 |
|
| 1428 |
=head2 GetMarcNotes |
1455 |
=head2 GetMarcNotes |
| 1429 |
|
1456 |
|
| 1430 |
$marcnotesarray = GetMarcNotes( $record, $marcflavour ); |
1457 |
$marcnotesarray = GetMarcNotes( $record, $marcflavour ); |
| 1431 |
|
1458 |
|
| 1432 |
Get all notes from the MARC record and returns them in an array. |
1459 |
Get all notes from the MARC record and returns them in an array. |
| 1433 |
The note are stored in differents places depending on MARC flavour |
1460 |
The note are stored in different fields depending on MARC flavour |
| 1434 |
|
1461 |
|
| 1435 |
=cut |
1462 |
=cut |
| 1436 |
|
1463 |
|
|
Lines 1470-1476
sub GetMarcNotes {
Link Here
|
| 1470 |
$marcsubjcts = GetMarcSubjects($record,$marcflavour); |
1497 |
$marcsubjcts = GetMarcSubjects($record,$marcflavour); |
| 1471 |
|
1498 |
|
| 1472 |
Get all subjects from the MARC record and returns them in an array. |
1499 |
Get all subjects from the MARC record and returns them in an array. |
| 1473 |
The subjects are stored in differents places depending on MARC flavour |
1500 |
The subjects are stored in different fields depending on MARC flavour |
| 1474 |
|
1501 |
|
| 1475 |
=cut |
1502 |
=cut |
| 1476 |
|
1503 |
|
|
Lines 1545-1551
sub GetMarcSubjects {
Link Here
|
| 1545 |
authors = GetMarcAuthors($record,$marcflavour); |
1572 |
authors = GetMarcAuthors($record,$marcflavour); |
| 1546 |
|
1573 |
|
| 1547 |
Get all authors from the MARC record and returns them in an array. |
1574 |
Get all authors from the MARC record and returns them in an array. |
| 1548 |
The authors are stored in differents places depending on MARC flavour |
1575 |
The authors are stored in different fields depending on MARC flavour |
| 1549 |
|
1576 |
|
| 1550 |
=cut |
1577 |
=cut |
| 1551 |
|
1578 |
|
|
Lines 1682-1688
sub GetMarcUrls {
Link Here
|
| 1682 |
$marcseriesarray = GetMarcSeries($record,$marcflavour); |
1709 |
$marcseriesarray = GetMarcSeries($record,$marcflavour); |
| 1683 |
|
1710 |
|
| 1684 |
Get all series from the MARC record and returns them in an array. |
1711 |
Get all series from the MARC record and returns them in an array. |
| 1685 |
The series are stored in differents places depending on MARC flavour |
1712 |
The series are stored in different fields depending on MARC flavour |
| 1686 |
|
1713 |
|
| 1687 |
=cut |
1714 |
=cut |
| 1688 |
|
1715 |
|