in reply to Re: XML::Twig and namespaces
in thread XML::Twig and namespaces
XML file:
<?xml version="1.1"?>
<a xmlns="default_ns_top">
<b xmlns:foo="foo"/>
<c xmlns:bar="bar"/>
<d xmlns:baz="baz">
<e xmlns:lala="lala" xmlns:baz="baz2" xmlns="default_ns"/>
</d>
</a>
a test perl script:
use strict;
use warnings;
use Data::Dumper;
use XML::Twig;
my $twig=XML::Twig->new();
$twig->xparse(shift);
traverse($twig->root);
sub traverse {
my ($t) = @_;
print "gi=|",$t->gi,"|\tprefix=|",$t->ns_prefix,"|\tnamespace=|",$t->namespace,"|\n";
foreach my $c ($t->children) {
if (@ARGV) {
my $copy = $c->copy;
traverse($copy);
} else {
traverse($c);
}
}
}
Notice the output when you run:
$ perl test.pl test.xml # this is behaving OK
But when you run it with a copy:
$ perl test.pl test.xml copy # this is not OK
You don't see a lot of namespace information.
I'm going to try and use your proposed workaround.
Thanks for your help.
|
|---|