|
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"; |