Changeset 2326


Ignore:
Timestamp:
2001-04-19T22:13:12+12:00 (23 years ago)
Author:
sjboddie
Message:

fixed a small bug in the new XML gml code that caused metadata tags
beginning with a '/' (like </srclink>) to be a problem

Location:
trunk/gsdl/perllib
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/gsdl/perllib/doc.pm

    r2267 r2326  
    206206    foreach $data (@{$section_ptr->{'metadata'}}) {
    207207    my $tag_name = $data->[0];
     208
     209    # a tagname beginning with '/' (like </srclink>) will cause problems
     210    # so we'll escape any leading '/'
     211    $tag_name =~ s/^\//&\#47;/;
     212
    208213    my $tag_value = &_escape_text($data->[1]);
    209214
  • trunk/gsdl/perllib/plugins/GMLPlug.pm

    r2267 r2326  
    138138        if ($text =~ m/^\s*<metadata>/)
    139139        {
    140             my $metadata;
     140            my ($metadata, $tagname, $tagvalue);
    141141            ($metadata,$text)
    142142            = ($text =~ m/\s*<metadata>\s*(<.*)\s*<\/metadata>(.*)$/s);
     
    144144               && ($metadata =~ s/<(.*?)>(.*?)<\/.*?>//s))
    145145            {
    146             $doc_obj->add_utf8_metadata($section, $1, &GMLPlug::_unescape_text($2))
    147                 if (defined $1 and defined $2);
     146            if (defined $1 && defined $2)
     147            {
     148                $tagname = $1;
     149                $tagvalue = $2;
     150               
     151                # if tagname begins with '/' it will be escaped
     152                $tagname =~ s/^&\#47;/\//;
     153               
     154                $doc_obj->add_utf8_metadata($section, $tagname, &GMLPlug::_unescape_text($tagvalue));
     155            }
    148156            }
    149157        }
Note: See TracChangeset for help on using the changeset viewer.