- Timestamp:
- 2011-05-19T17:51:07+12:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone2/perllib/plugins/MetadataXMLPlugin.pm
r23895 r24060 147 147 148 148 # create XML::Parser object for parsing metadata.xml files 149 my $parser = new XML::Parser('Style' => 'Stream', 149 my $parser = new XML::Parser('Style' => 'Stream', 150 'Pkg' => 'MetadataXMLPlugin', 150 151 'PluginObj' => $self, 151 'Pkg' => 'MetadataXMLPlugin', 152 'Handlers' => {'Char' => \&Char, 152 'Handlers' => {'Char' => \&Char, 153 153 'Doctype' => \&Doctype 154 154 }); … … 246 246 my $filename = &util::filename_cat($base_dir, $file); 247 247 return undef unless $self->can_process_this_file($filename); 248 248 249 249 $self->{'metadata-file'} = $file; 250 250 $self->{'metadata-filename'} = $filename; … … 266 266 267 267 if ($@) { 268 print STDERR "**** Error is: $@\n"; 268 269 my $plugin_name = ref ($self); 269 270 my $failhandle = $self->{'failhandle'}; … … 301 302 my $self = shift(@_); 302 303 my ($expat, $element) = @_; 303 304 304 305 if ($element eq "FileSet") { 305 306 $self->{'saved_targets'} = []; … … 356 357 } 357 358 elsif ($element eq "Metadata") { 358 my $metadata_name = decode("utf8",$self->{'metadata_name'}); 359 my $metadata_value = decode("utf8",$self->{'metadata_value'}); 359 # text read in by XML::Parser is in Perl's binary byte value 360 # form ... need to explicitly make it UTF-8 361 362 my $metadata_name = decode("utf-8",$self->{'metadata_name'}); 363 my $metadata_value = decode("utf-8",$self->{'metadata_value'}); 360 364 361 365 &metadatautil::store_saved_metadata($self, … … 384 388 # things down significantly in some cases. 385 389 sub Char { 386 if ($]<5.008) { 387 use bytes; # Necessary to prevent encoding issues with XML::Parser 2.31+ and Perl 5.6 388 } 390 use bytes; # Necessary to prevent encoding issues with XML::Parser 2.31+ 391 392 # if ($]<5.008) { 393 # use bytes; # Necessary to prevent encoding issues with XML::Parser 2.31+ and Perl 5.6 394 # } 389 395 $_[0]->{'Text'} .= $_[1]; 390 396 return undef;
Note:
See TracChangeset
for help on using the changeset viewer.