X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=perl-sax%2FXML%2FTemplateSAX%2FCleaner.pm;fp=perl-sax%2FXML%2FTemplateSAX%2FCleaner.pm;h=6269306fb8c8b3912566cb5699302a9e39361222;hb=864faa69de03bb2755b25a112045d7f5b3aacd26;hp=e5f784acd2c11332d33bd149cc9d8bb0c1938b6b;hpb=065637d9b212c043a8deec678af7ea94a05b9f8a;p=xml-template diff --git a/perl-sax/XML/TemplateSAX/Cleaner.pm b/perl-sax/XML/TemplateSAX/Cleaner.pm index e5f784a..6269306 100644 --- a/perl-sax/XML/TemplateSAX/Cleaner.pm +++ b/perl-sax/XML/TemplateSAX/Cleaner.pm @@ -7,9 +7,12 @@ use base qw(XML::SAX::Base); sub start_element { my ($self, $data) = @_; - my $attrs = $data->{'Attributes'}; - return if ($data->{'NamespaceURI'} eq 'http://template.sesse.net/'); + + # we need to make a copy here, or we'll confuse the upper layers. + $data = { %$data }; + my $attrs = $data->{'Attributes'} = { %{$data->{'Attributes'}} }; + for my $a (keys %$attrs) { if ($attrs->{$a}->{'NamespaceURI'} eq 'http://template.sesse.net/') { delete $attrs->{$a};