|Just another Perl shrine|
XML::Twig and namespacesby DJpumps (Novice)
|on Jul 04, 2007 at 06:47 UTC||Need Help??|
DJpumps has asked for the
wisdom of the Perl Monks concerning the following question:
I'm using XML::Twig to traverse XML documents.
When I get a copy of XML::Twig::Elt object and I try to apply the namespace method on it I get nothing, even though ns_prefix returns a prefix for the element and that prefix is indeed bound in the XML document.
The copy was obtained using:
my $copy_of_twig = $twig->copy;where $twig was an XML::Twig object that was used to travese some XML document and at some point needed to be copied.
Apparently, the copy operation strips off all the namespace awareness that the original $twig had. I don't know why this makes sense, and how to avoid this.
My current workaround is to save a reference to the original twig by:
my $ref_to_twig = \$twig;but this just waits to come back and bite me later because as soon as $twig changes its state again, the $ref_to_twig will not "remember" the state from the moment of the referencing, but will do what is expected of a reference to do, and will reference $twig as it changes...
Any ideas how to solve this?