file=>$marc_file, format=>$format
}) || die "Can't open MARC file '$marc_file'";
- my $i=0; # record nr.
+ # read MARC file in memory
+ $marc->nextmarc(-1);
- my $rec;
+ my $max_rec = $marc->marc_count();
- while ($marc->nextmarc(1)) {
+ for(my $i=1; $i<=$max_rec; $i++) {
- # XXX
- fakeprogress($i++);
+ progress($i,$max_rec);
+
+ # store value for marc_sf.pm
+ $main::cache->{marc_record} = $i;
my $swishpath = $database."#".$i;
print "Document-Type: XML\n\n$xml\n";
}
}
+
+ print STDERR "\n";
+
} elsif ($type_base eq "feed") {
$import2cp = Text::Iconv->new($config->{feed_codepage},$codepage);
my $i = shift @_ || 0;
- my @out = $marc->getvalue({record=>$marc->marc_count(),field=>$f,subfield=>$s});
+ my $rec = $main::cache->{marc_record} || die '$cache->{marc_record} is undefined!';
+
+ my @out = $marc->getvalue({record=>$rec,field=>$f,subfield=>$s});
return $out[$i] if (@out && $out[$i]);
}