Changeset 863 for trunk/gsdl/perllib/plugins/GMLPlug.pm
- Timestamp:
- 2000-01-25T10:48:29+13:00 (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gsdl/perllib/plugins/GMLPlug.pm
r862 r863 136 136 # create the section (unless this is the first section) 137 137 if ($firstsection) { 138 $firstsection = 0;138 $firstsection = 0; 139 139 # $tags =~ /gsdlsourcefilename\s*=\s*(?:\"([^\"]*)\")/o; 140 140 # $src_filename = $2 || $3; … … 152 152 153 153 # add the tags 154 while ((defined $tags) && ($tags =~ s/^\s*(\ w+)=\"([^\"]*)\"//o)) {154 while ((defined $tags) && ($tags =~ s/^\s*(\S+)=\"([^\"]*)\"//o)) { 155 155 $doc_obj->add_utf8_metadata($section, $1, &GMLPlug::_unescape_text($2)) 156 156 if (defined $1 and defined $2); 157 157 158 } 158 159 … … 164 165 $gml = shift(@gml_sections); # get next bit of data 165 166 last unless defined $gml; 167 last if $section eq ""; # back to top level again (more than one document in gml file) 166 168 $section = $doc_obj->get_parent_section ($section); 167 last if $section eq ""; # back to top level again (more than one document in gml file)168 169 } 169 170 … … 179 180 $doc_obj->delete_metadata($doc_obj->get_top_section(), "gsdlassocfile"); 180 181 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); 192 184 193 185 # assume the document has an OID
Note:
See TracChangeset
for help on using the changeset viewer.