- my $itemsxml = buildKohaItemsNamespace($biblionumber);
- my $xmlrecord = $record->as_xml();
- $xmlrecord =~ s/\<\/record\>/$itemsxml\<\/record\>/;
+ my $itemsxml = buildKohaItemsNamespace($biblionumber, $hidden_items);
+ my $xmlrecord = $record->as_xml(C4::Context->preference('marcflavour'));
+ my $sysxml = "<sysprefs>\n";
+ foreach my $syspref ( qw/ hidelostitems OPACURLOpenInNewWindow
+ DisplayOPACiconsXSLT URLLinkText viewISBD
+ OPACBaseURL TraceCompleteSubfields UseICU
+ UseAuthoritiesForTracings TraceSubjectSubdivisions
+ Display856uAsImage OPACDisplay856uAsImage
+ UseControlNumber
+ AlternateHoldingsField AlternateHoldingsSeparator / )
+ {
+ my $sp = C4::Context->preference( $syspref );
+ next unless defined($sp);
+ $sysxml .= "<syspref name=\"$syspref\">$sp</syspref>\n";
+ }
+ $sysxml .= "</sysprefs>\n";
+ $xmlrecord =~ s/\<\/record\>/$itemsxml$sysxml\<\/record\>/;
+ if ($fixamps) { # We need to correct the ampersand entities that Zebra outputs
+ $xmlrecord =~ s/\&amp;/\&/g;
+ }
+ $xmlrecord =~ s/\& /\&\; /;
+ $xmlrecord =~ s/\&\;amp\; /\&\; /;
+