- Timestamp:
- 2009-01-16T13:39:45+13:00 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
gsdl/trunk/perllib/plugins/MARCPlugin.pm
r16970 r18402 334 334 { 335 335 my $gsdl_field = $metadata_mapping->{$marc_field}; 336 my $meta_value = undef;337 336 338 337 # have we got a subfield? … … 343 342 } 344 343 if (defined $subfield) { 345 $meta_value = $marc->subfield($marc_field, $subfield);344 my $meta_value = $marc->subfield($marc_field, $subfield); 346 345 if (defined $meta_value) { 347 # # escape [ and ]348 $meta_value =~ s/\[/ \\\[/g;349 $meta_value =~ s/\]/ \\\]/g;346 # Square brackets in metadata values need to be escaped so they don't confuse Greenstone/GLI 347 $meta_value =~ s/\[/&\#091;/g; 348 $meta_value =~ s/\]/&\#093;/g; 350 349 my $metavalue_str = $self->to_utf8($encoding, $meta_value); 351 350 $doc_obj->add_utf8_metadata ($section, $gsdl_field, $metavalue_str); 352 351 } 353 } else { 354 355 my @metavalues = $marc->field($marc_field); 356 357 if (scalar(@metavalues)>0) 352 } 353 else 354 { 355 foreach my $meta_value_obj ($marc->field($marc_field)) 358 356 { 359 my $metavalue = undef; 360 foreach $metavalue ( @metavalues ) 361 { 362 my $metavalue_str = $self->to_utf8($encoding,$metavalue->as_string()); 363 $doc_obj->add_utf8_metadata ($section, $gsdl_field, $metavalue_str); 364 } 357 my $meta_value = $meta_value_obj->as_string(); 358 359 # Square brackets in metadata values need to be escaped so they don't confuse Greenstone/GLI 360 $meta_value =~ s/\[/&\#091;/g; 361 $meta_value =~ s/\]/&\#093;/g; 362 my $metavalue_str = $self->to_utf8($encoding, $meta_value); 363 $doc_obj->add_utf8_metadata ($section, $gsdl_field, $metavalue_str); 365 364 } 366 365 }
Note:
See TracChangeset
for help on using the changeset viewer.