Lines 2298-2305
sub PrepHostMarcField {
Link Here
|
2298 |
|
2298 |
|
2299 |
=head2 TransformHtmlToXml |
2299 |
=head2 TransformHtmlToXml |
2300 |
|
2300 |
|
2301 |
$xml = TransformHtmlToXml( $tags, $subfields, $values, $indicator, |
2301 |
$xml = TransformHtmlToXml( $tags, $subfields, $values, $auth_type ) |
2302 |
$ind_tag, $auth_type ) |
|
|
2303 |
|
2302 |
|
2304 |
$auth_type contains : |
2303 |
$auth_type contains : |
2305 |
|
2304 |
|
Lines 2316-2322
$auth_type contains :
Link Here
|
2316 |
=cut |
2315 |
=cut |
2317 |
|
2316 |
|
2318 |
sub TransformHtmlToXml { |
2317 |
sub TransformHtmlToXml { |
2319 |
my ( $tags, $subfields, $values, $indicator, $ind_tag, $auth_type ) = @_; |
2318 |
my ( $tags, $subfields, $values, $auth_type ) = @_; |
2320 |
my $xml = MARC::File::XML::header('UTF-8'); |
2319 |
my $xml = MARC::File::XML::header('UTF-8'); |
2321 |
$xml .= "<record>\n"; |
2320 |
$xml .= "<record>\n"; |
2322 |
$auth_type = C4::Context->preference('marcflavour') unless $auth_type; |
2321 |
$auth_type = C4::Context->preference('marcflavour') unless $auth_type; |
Lines 2352-2372
sub TransformHtmlToXml {
Link Here
|
2352 |
|
2351 |
|
2353 |
if ( ( @$tags[$i] ne $prevtag ) ) { |
2352 |
if ( ( @$tags[$i] ne $prevtag ) ) { |
2354 |
$j++ unless ( @$tags[$i] eq "" ); |
2353 |
$j++ unless ( @$tags[$i] eq "" ); |
2355 |
my $indicator1 = eval { substr( @$indicator[$j], 0, 1 ) }; |
|
|
2356 |
my $indicator2 = eval { substr( @$indicator[$j], 1, 1 ) }; |
2357 |
my $ind1 = _default_ind_to_space($indicator1); |
2358 |
my $ind2; |
2359 |
if ( @$indicator[$j] ) { |
2360 |
$ind2 = _default_ind_to_space($indicator2); |
2361 |
} else { |
2362 |
warn "Indicator in @$tags[$i] is empty"; |
2363 |
$ind2 = " "; |
2364 |
} |
2365 |
if ( !$first ) { |
2354 |
if ( !$first ) { |
2366 |
$xml .= "</datafield>\n"; |
2355 |
$xml .= "</datafield>\n"; |
2367 |
if ( ( @$tags[$i] && @$tags[$i] > 10 ) |
2356 |
if ( ( @$tags[$i] && @$tags[$i] > 10 ) |
2368 |
&& ( @$values[$i] ne "" ) ) { |
2357 |
&& ( @$values[$i] ne "" ) ) { |
2369 |
$xml .= "<datafield tag=\"@$tags[$i]\" ind1=\"$ind1\" ind2=\"$ind2\">\n"; |
2358 |
$xml .= "<datafield tag=\"@$tags[$i]\" ind1=\"\" ind2=\"\">\n"; |
2370 |
$xml .= "<subfield code=\"@$subfields[$i]\">@$values[$i]</subfield>\n"; |
2359 |
$xml .= "<subfield code=\"@$subfields[$i]\">@$values[$i]</subfield>\n"; |
2371 |
$first = 0; |
2360 |
$first = 0; |
2372 |
} else { |
2361 |
} else { |
Lines 2385-2411
sub TransformHtmlToXml {
Link Here
|
2385 |
$xml .= "<controlfield tag=\"@$tags[$i]\">@$values[$i]</controlfield>\n"; |
2374 |
$xml .= "<controlfield tag=\"@$tags[$i]\">@$values[$i]</controlfield>\n"; |
2386 |
$first = 1; |
2375 |
$first = 1; |
2387 |
} else { |
2376 |
} else { |
2388 |
$xml .= "<datafield tag=\"@$tags[$i]\" ind1=\"$ind1\" ind2=\"$ind2\">\n"; |
2377 |
$xml .= "<datafield tag=\"@$tags[$i]\" ind1=\"\" ind2=\"\">\n"; |
2389 |
$xml .= "<subfield code=\"@$subfields[$i]\">@$values[$i]</subfield>\n"; |
2378 |
$xml .= "<subfield code=\"@$subfields[$i]\">@$values[$i]</subfield>\n"; |
2390 |
$first = 0; |
2379 |
$first = 0; |
2391 |
} |
2380 |
} |
2392 |
} |
2381 |
} |
2393 |
} |
2382 |
} |
2394 |
} else { # @$tags[$i] eq $prevtag |
2383 |
} else { # @$tags[$i] eq $prevtag |
2395 |
my $indicator1 = eval { substr( @$indicator[$j], 0, 1 ) }; |
|
|
2396 |
my $indicator2 = eval { substr( @$indicator[$j], 1, 1 ) }; |
2397 |
my $ind1 = _default_ind_to_space($indicator1); |
2398 |
my $ind2; |
2399 |
if ( @$indicator[$j] ) { |
2400 |
$ind2 = _default_ind_to_space($indicator2); |
2401 |
} else { |
2402 |
warn "Indicator in @$tags[$i] is empty"; |
2403 |
$ind2 = " "; |
2404 |
} |
2405 |
if ( @$values[$i] eq "" ) { |
2384 |
if ( @$values[$i] eq "" ) { |
2406 |
} else { |
2385 |
} else { |
2407 |
if ($first) { |
2386 |
if ($first) { |
2408 |
$xml .= "<datafield tag=\"@$tags[$i]\" ind1=\"$ind1\" ind2=\"$ind2\">\n"; |
2387 |
$xml .= "<datafield tag=\"@$tags[$i]\" ind1=\"\" ind2=\"\">\n"; |
2409 |
$first = 0; |
2388 |
$first = 0; |
2410 |
} |
2389 |
} |
2411 |
$xml .= "<subfield code=\"@$subfields[$i]\">@$values[$i]</subfield>\n"; |
2390 |
$xml .= "<subfield code=\"@$subfields[$i]\">@$values[$i]</subfield>\n"; |