Lines 379-388
sub _add_custom_field_rowdata {
Link Here
|
379 |
warn "Breeding: invalid expression in AdditionalFieldsInZ3950Result(Auth)Search: $field"; |
379 |
warn "Breeding: invalid expression in AdditionalFieldsInZ3950Result(Auth)Search: $field"; |
380 |
next; |
380 |
next; |
381 |
} elsif ( $tag eq '000' ) { |
381 |
} elsif ( $tag eq '000' ) { |
382 |
push @content, ( _extract_positions( $record->leader, $add_spec ) ); |
382 |
push @content, ( _extract_positions( $record->leader, $add_spec ) ) if $record->leader; |
383 |
} elsif ( $tag =~ /^00\d$/ ) { # control field |
383 |
} elsif ( $tag =~ /^00\d$/ ) { # control field |
384 |
my $marcfield = $record->field($tag); |
384 |
my $marcfield = $record->field($tag); |
385 |
push @content, ( _extract_positions( $marcfield->data, $add_spec ) ); |
385 |
push @content, ( _extract_positions( $marcfield->data, $add_spec ) ) if $marcfield; |
386 |
} else { |
386 |
} else { |
387 |
for my $marcfield ( $record->field($tag) ) { |
387 |
for my $marcfield ( $record->field($tag) ) { |
388 |
foreach my $subfield ( $marcfield->subfields ) { |
388 |
foreach my $subfield ( $marcfield->subfields ) { |
Lines 402-408
sub _add_custom_field_rowdata {
Link Here
|
402 |
|
402 |
|
403 |
sub _extract_positions { |
403 |
sub _extract_positions { |
404 |
my ( $data, $spec ) = @_; |
404 |
my ( $data, $spec ) = @_; |
405 |
if ( !$spec ) { |
405 |
if ( !defined($data) ) { |
|
|
406 |
return; |
407 |
} elsif ( !$spec ) { |
406 |
return $data; |
408 |
return $data; |
407 |
} elsif ( $spec =~ /p(\d+)$/ ) { |
409 |
} elsif ( $spec =~ /p(\d+)$/ ) { |
408 |
my $pos = $1; |
410 |
my $pos = $1; |
409 |
- |
|
|