--- trunk/lib/WebPAC/Output/MARC.pm 2006/09/08 17:48:43 662 +++ trunk/lib/WebPAC/Output/MARC.pm 2007/10/31 18:07:33 944 @@ -5,7 +5,7 @@ use base qw/WebPAC::Common/; -use MARC::Record 2.0; # need 2.0 for utf-8 encoding see marcpm.sf.net +use MARC::Record; use MARC::Lint; use Data::Dump qw/dump/; use Encode qw/from_to decode/; @@ -16,11 +16,11 @@ =head1 VERSION -Version 0.03 +Version 0.04 =cut -our $VERSION = '0.03'; +our $VERSION = '0.04'; =head1 SYNOPSIS @@ -75,7 +75,7 @@ $marc->add( id => $mfn, fields => WebPAC::Normalize::_get_marc_fields(), - leader => WebPAC::Normalize::marc_leader(), + leader => WebPAC::Normalize::_get_marc_leader(), row => $row, ); @@ -114,6 +114,9 @@ } } + # sort fields + @$fields = sort { $a->[0] <=> $b->[0] } @$fields; + $log->debug("recode fields = ", sub { dump( $fields ) }); $marc->add_fields( @$fields ); @@ -137,7 +140,7 @@ if (@w) { $log->error("MARC lint detected warning on record $id\n", "<<<<< Original input row:\n",dump($arg->{row}), "\n", - ">>>>> Normalized MARC row: leader: [", $marc->leader(), "]\n", dump( $arg->{fields} ), "\n", + ">>>>> Normalized MARC row: leader: [", $marc->leader(), "]\n", dump( $fields ), "\n", "!!!!! MARC lint warnings:\n",join("\n",@w),"\n" ); map { $self->{_marc_lint_warnings}->{$_}++ } @w; @@ -147,7 +150,7 @@ if ($self->{dump}) { $log->info("MARC record on record $id\n", "<<<<< Original imput row:\n",dump($arg->{row}), "\n", - ">>>>> Normalized MARC row: leader: [", $marc->leader(), "]\n", dump( $arg->{fields} ), "\n", + ">>>>> Normalized MARC row: leader: [", $marc->leader(), "]\n", dump( $fields ), "\n", ); }