Changeset 21367
- Timestamp:
- 2009-12-16T14:43:55+13:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone2/perllib/plugins/DSpacePlugin.pm
r19746 r21367 365 365 my $metaname = $_{'element'}; 366 366 my $qualifier = $_{'qualifier'}||""; 367 if ($metaname ne "description" ) {367 if ($metaname ne "description" || $qualifier ne "provenance") { 368 368 $metaname .= "^$qualifier" if ($qualifier ne "none" && $qualifier ne ""); 369 369 $self->{'metaname'} = "dc.\u$metaname"; … … 384 384 # $_ == Metadata content 385 385 my $mname = $self->{'metaname'}; 386 my $mvalue = prepareMetadataValue($_); 386 387 if (defined $self->{'saved_metadata'}->{$mname}) { 387 388 # accumulate - add value to existing value(s) 388 389 if (ref ($self->{'saved_metadata'}->{$mname}) eq "ARRAY") { 389 push (@{$self->{'saved_metadata'}->{$mname}}, $ _);390 push (@{$self->{'saved_metadata'}->{$mname}}, $mvalue); 390 391 } else { 391 392 $self->{'saved_metadata'}->{$mname} = 392 [$self->{'saved_metadata'}->{$mname}, $ _];393 [$self->{'saved_metadata'}->{$mname}, $mvalue]; 393 394 } 394 395 } else { 395 396 # accumulate - add value into (currently empty) array 396 $self->{'saved_metadata'}->{$mname} = [$_]; 397 } 398 399 } 400 } 401 397 $self->{'saved_metadata'}->{$mname} = [$mvalue]; 398 } 399 400 } 401 } 402 403 # Prepare DSpace metadata for using with Greenstone. 404 # Some value must be escaped. 405 sub prepareMetadataValue { 406 my ($value) = @_; 407 408 $value =~ s/\[/[/g; 409 $value =~ s/\]/]/g; 410 411 return $value; 412 } 402 413 # This Char function overrides the one in XML::Parser::Stream to overcome a 403 414 # problem where $expat->{Text} is treated as the return value, slowing
Note:
See TracChangeset
for help on using the changeset viewer.