Lines 617-630
sub marc_records_to_documents {
Link Here
|
617 |
my $subfields_join_mappings = $data_field_rules->{subfields_join}; |
617 |
my $subfields_join_mappings = $data_field_rules->{subfields_join}; |
618 |
if ($subfields_join_mappings) { |
618 |
if ($subfields_join_mappings) { |
619 |
foreach my $subfields_group (keys %{$subfields_join_mappings}) { |
619 |
foreach my $subfields_group (keys %{$subfields_join_mappings}) { |
620 |
# Map each subfield to values, remove empty values, join with space |
620 |
my $data_field = $field->clone; #copy field to preserve for alt scripts |
621 |
my $data = join( |
621 |
$data_field->delete_subfield(match => qr/^$/); #remove empty subfields, otherwise they are printed as a space |
622 |
' ', |
622 |
my $data = $data_field->as_string( $subfields_group ); #get values for subfields as a combind string, preserving record order |
623 |
grep( |
|
|
624 |
$_, |
625 |
map { join(' ', $field->subfield($_)) } split(//, $subfields_group) |
626 |
) |
627 |
); |
628 |
if ($data) { |
623 |
if ($data) { |
629 |
$self->_process_mappings($subfields_join_mappings->{$subfields_group}, $data, $record_document, { |
624 |
$self->_process_mappings($subfields_join_mappings->{$subfields_group}, $data, $record_document, { |
630 |
altscript => $altscript, |
625 |
altscript => $altscript, |
631 |
- |
|
|