Changeset 15004 for gsdl/trunk/perllib/plugins/MetadataXMLPlug.pm
- Timestamp:
- 2008-02-22T11:32:38+13:00 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
gsdl/trunk/perllib/plugins/MetadataXMLPlug.pm
r14955 r15004 235 235 236 236 if ($element eq "FileSet") { 237 push (@{$self->{'metakeysref'}}, @{$self->{'saved_targets'}});238 237 foreach my $target (@{$self->{'saved_targets'}}) { 239 238 my $file_metadata = $self->{'metadataref'}->{$target}; … … 241 240 if (!defined $file_metadata) { 242 241 $self->{'metadataref'}->{$target} = $saved_metadata; 242 243 # not had target before 244 push (@{$self->{'metakeysref'}}, $target); 243 245 } 244 246 else { 245 $self->combine_metadata_structures($file_metadata,$saved_metadata);247 &metadatautil::combine_metadata_structures($file_metadata,$saved_metadata); 246 248 } 247 249 } … … 251 253 } 252 254 elsif ($element eq "Metadata") { 253 $self->store_saved_metadata($self->{'metadata_name'}, $self->{'metadata_value'}, $self->{'metadata_accumulate'});255 &metadatautil::store_saved_metadata($self,$self->{'metadata_name'}, $self->{'metadata_value'}, $self->{'metadata_accumulate'}); 254 256 $self->{'metadata_name'} = ""; 255 257 } … … 280 282 } 281 283 282 sub combine_metadata_structures 283 { 284 my $self = shift(@_); 285 286 my ($mdref1, $mdref2) = @_; 287 &metadatautil::combine_metadata_structures($mdref1, $mdref2); 288 } 289 290 sub store_saved_metadata 291 { 292 my $self = shift(@_); 293 my ($mname,$mvalue,$md_accumulate) = @_; 294 295 if (defined $self->{'saved_metadata'}->{$mname}) { 296 if ($md_accumulate) { 297 # accumulate mode - add value to existing value(s) 298 if (ref ($self->{'saved_metadata'}->{$mname}) eq "ARRAY") { 299 push (@{$self->{'saved_metadata'}->{$mname}}, $mvalue); 300 } else { 301 $self->{'saved_metadata'}->{$mname} = 302 [$self->{'saved_metadata'}->{$mname}, $mvalue]; 303 } 304 } else { 305 # override mode 306 $self->{'saved_metadata'}->{$mname} = $mvalue; 307 } 308 } else { 309 if ($md_accumulate) { 310 # accumulate mode - add value into (currently empty) array 311 $self->{'saved_metadata'}->{$mname} = [$mvalue]; 312 } else { 313 # override mode 314 $self->{'saved_metadata'}->{$mname} = $mvalue; 315 } 316 } 317 } 284 #sub combine_metadata_structures 285 #{ 286 # my $self = shift(@_); 287 # 288 # my ($mdref1, $mdref2) = @_; 289 # &metadatautil::combine_metadata_structures($mdref1, $mdref2); 290 #} 318 291 319 292
Note:
See TracChangeset
for help on using the changeset viewer.