Changeset 863

Show
Ignore:
Timestamp:
25.01.2000 10:48:29 (20 years ago)
Author:
sjboddie
Message:

fixed a couple of bugs that I introduced when including Davids stuff

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/gsdl/perllib/plugins/GMLPlug.pm

    r862 r863  
    136136        # create the section (unless this is the first section) 
    137137        if ($firstsection) { 
    138             $firstsection = 0; 
     138            $firstsection = 0; 
    139139#           $tags =~ /gsdlsourcefilename\s*=\s*(?:\"([^\"]*)\")/o; 
    140140#           $src_filename = $2 || $3; 
     
    152152         
    153153        # add the tags 
    154         while ((defined $tags) && ($tags =~ s/^\s*(\w+)=\"([^\"]*)\"//o)) { 
     154        while ((defined $tags) && ($tags =~ s/^\s*(\S+)=\"([^\"]*)\"//o)) { 
    155155            $doc_obj->add_utf8_metadata($section, $1, &GMLPlug::_unescape_text($2))  
    156156            if (defined $1 and defined $2); 
     157 
    157158        } 
    158159         
     
    164165        $gml = shift(@gml_sections); # get next bit of data 
    165166        last unless defined $gml; 
     167        last if $section eq ""; # back to top level again (more than one document in gml file) 
    166168        $section = $doc_obj->get_parent_section ($section); 
    167         last if $section eq ""; # back to top level again (more than one document in gml file) 
    168169    } 
    169170 
     
    179180    $doc_obj->delete_metadata($doc_obj->get_top_section(), "gsdlassocfile"); 
    180181     
    181     # add metadata 
    182     foreach $field (keys(%$metadata)) { 
    183         # $metadata->{$field} may be an array reference 
    184         if (ref ($metadata->{$field}) eq "ARRAY") { 
    185         map {  
    186             $doc_obj->add_metadata ($doc_obj->get_top_section(), $field, $_);  
    187         } @{$metadata->{$field}}; 
    188         } else { 
    189         $doc_obj->add_metadata ($doc_obj->get_top_section(), $field, $metadata->{$field});  
    190         } 
    191     } 
     182    # add metadata passed in from elsewhere 
     183    $self->extra_metadata ($doc_obj, $doc_obj->get_top_section(), $metadata); 
    192184     
    193185    # assume the document has an OID