if (defined($match)) {
$self->SUPER::start_element($data);
- push @{$self->{'stack'}}, [ $data->{'Name'}, $self->{'level'}, $obj ];
+ push @{$self->{'stack'}}, [ $self->{'level'}, $obj ];
#
# This is sort of ugly. We special-case replacement by outputting
if (scalar @$stack > 0) {
my $top = $stack->[scalar @$stack - 1];
- if ($data->{'Name'} eq $top->[0] && $self->{'level'} == $top->[1]) {
+ if ($self->{'level'} == $top->[0]) {
my $obj = $self->{'obj'};
# did we just finish a clone operation?
}
$self->SUPER::end_element($data);
- $self->{'obj'} = $top->[2];
+ $self->{'obj'} = $top->[1];
pop @$stack;
--$self->{'level'};
return;