Changeset 16254
- Timestamp:
- 2008-07-01T10:23:34+12:00 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
gsdl/trunk/perllib/manifest.pm
r11994 r16254 86 86 # Called for every start tag. The $_ variable will contain a copy of the 87 87 # tag and the %_ variable will contain the element's attributes. 88 sub xml_start_tag { 88 sub xml_start_tag 89 { 89 90 my $self = shift(@_); 90 91 my ($expat, $element) = @_; 91 92 92 if ($_ =~ m/^<(Index|Reindex|Delete)>$/) { 93 my $tag = $1; 94 if (defined $self->{'file-type'}) { 95 print STDERR "Warning: Malformed XML manifest. "; 96 print STDERR "$tag nested inside ", $self->{'file-type'}, "\n"; 97 print STDERR " Changing file-type scope to $tag\n"; 93 if ($element eq "Filename") 94 { 95 $self->{'filename'} = ""; 96 } 97 else 98 { 99 if (defined($self->{'file-type'})) 100 { 101 print STDERR "Warning: Malformed XML manifest ($element nested inside " . $self->{'file-type'} . ")\n"; 98 102 } 99 103 100 $self->{'file-type'} = lc($tag); 101 } 102 elsif ($_ eq "<Filename>") { 103 $self->{'filename'} = ""; 104 $self->{'file-type'} = $element; 104 105 } 105 106 } 106 107 107 108 # Called for every end tag. The $_ variable will contain a copy of the tag. 108 sub xml_end_tag { 109 sub xml_end_tag 110 { 109 111 my $self = shift(@_); 110 112 my ($expat, $element) = @_; 111 113 112 if ($_ =~ m/^<\/(Index|Reindex|Delete)>$/) { 114 if ($element eq "Filename") 115 { 116 $self->{lc($self->{'file-type'})}->{$self->{'filename'}} = 1; 117 $self->{'filename'} = undef; 118 } 119 else 120 { 113 121 $self->{'file-type'} = undef; 114 122 } 115 elsif ($_ eq "</Filename>") {116 my $file_type = $self->{'file-type'};117 my $filename = $self->{'filename'};118 119 $self->{$file_type}->{$filename} = 1;120 121 $self->{'filename'} = undef;122 }123 124 123 } 125 124
Note:
See TracChangeset
for help on using the changeset viewer.