--- trunk/lib/WebPAC/Normalize.pm 2005/07/24 15:03:11 31 +++ trunk/lib/WebPAC/Normalize.pm 2005/11/15 16:56:44 64 @@ -171,7 +171,10 @@ #print "field $field [",$self->{'tag'},"] = ",Dumper($self->{'import_xml'}->{'indexer'}->{$field}->{$self->{'tag'}}); foreach my $tag (@{$self->{'import_xml'}->{'indexer'}->{$field}->{$self->{'tag'}}}) { - my $format = $tag->{'value'} || $tag->{'content'}; + my $format; + + $log->logdie("expected tag HASH and got $tag") unless (ref($tag) eq 'HASH'); + $format = $tag->{'value'} || $tag->{'content'}; $log->debug("format: $format"); @@ -254,6 +257,8 @@ } + $log->logdie("there is no current_filename defined! Do you have filename tag in conf/normalize/?.xml") unless ($self->{'current_filename'}); + $self->{'db'}->save_ds( ds => \@ds, current_filename => $self->{'current_filename'}, @@ -535,7 +540,7 @@ if ($sf && $$rec->{$f}->[$i]->{$sf}) { $$found++ if (defined($$found)); return $$rec->{$f}->[$i]->{$sf}; - } elsif ($$rec->{$f}->[$i]) { + } elsif (! $sf && $$rec->{$f}->[$i]) { $$found++ if (defined($$found)); # it still might have subfield, just # not specified, so we'll dump all @@ -548,6 +553,8 @@ } else { return $$rec->{$f}->[$i]; } + } else { + return ''; } } else { return '';