Bug 6799 rebuild_zebra.pl -x produces invalid XML records
This patch allow to handle properly items containing extended characters and
send valid XML records to zebraidx
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
(cherry picked from commit 4ce57a102b)
Signed-off-by: Chris Nighswonger <chris.nighswonger@gmail.com>
This commit is contained in:
parent
112c436339
commit
4d09e48384
|
|
@ -323,19 +323,17 @@ sub export_marc_records_from_sth {
|
|||
my @items = GetItemsInfo($record_number);
|
||||
if (@items){
|
||||
my $record = MARC::Record->new;
|
||||
$record->encoding('UTF-8');
|
||||
my @itemsrecord;
|
||||
foreach my $item (@items){
|
||||
my $record = Item2Marc($item, $record_number);
|
||||
push @itemsrecord, $record->field($itemtag);
|
||||
}
|
||||
$record->insert_fields_ordered(@itemsrecord);
|
||||
my $itemsxml=$record->as_xml_record();
|
||||
my $searchstring = '<record>\n';
|
||||
my $index = index($itemsxml, '<record>\n', 0);
|
||||
$itemsxml = substr($itemsxml, $index + length($searchstring));
|
||||
$searchstring = '</record>';
|
||||
$marcxml = substr($marcxml, 0, index($marcxml, $searchstring));
|
||||
$marcxml .= $itemsxml;
|
||||
my $itemsxml = $record->as_xml_record();
|
||||
$marcxml =
|
||||
substr($marcxml, 0, length($marcxml)-10) .
|
||||
substr($itemsxml, index($itemsxml, "</leader>\n", 0) + 10);
|
||||
}
|
||||
}
|
||||
if ( $marcxml ) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue