# </datafield>
#
# This will at least enable MARC::File::XML to process it:
- if ($_ =~ m#<subfield code=""">#o) {
+ if ($_ =~ m#<subfield code=""">#o or $_ =~ m#<subfield code=""">#o ) {
print STDERR "Bad subfield code \" at line $lineno of file $file\n";
$_ =~ s{<subfield code=""">}{<subfield code="Z">}o;
- } elsif ($_ =~ m#<subfield code="<">#o) {
+ $_ =~ s{<subfield code=""">}{<subfield code="Z">}o;
+ } elsif ($_ =~ m#<subfield code="<">#o or $_ =~ m#<subfield code="<">#o) {
print STDERR "Bad subfield code < at line $lineno of file $file\n";
$_ =~ s{<subfield code="<">}{<subfield code="Z">}o;
- } elsif ($_ =~ m#<subfield code="&">#o) {
+ $_ =~ s{<subfield code="<">}{<subfield code="Z">}o;
+ } elsif ($_ =~ m#<subfield code="&">#o or $_ =~ m#<subfield code="&">#o) {
print STDERR "Bad subfield code & at line $lineno of file $file\n";
$_ =~ s{<subfield code="&">}{<subfield code="Z">}o;
+ $_ =~ s{<subfield code="&">}{<subfield code="Z">}o;
} elsif ($_ =~ m#<datafield tag="(\d)" ind1="."#o) {
my $badtag = $1;
print STDERR "Bad datafield tag $badtag at line $lineno of file $file\n";