[Israel.pm] XML::Twig

Yona Shlomo yona at cs.technion.ac.il
Wed Jul 4 02:18:16 PDT 2007


I was able to find the author of XML::Twig on perlmonks.
Here's the thread about this there:

Shlomo Yona
yona at cs.technion.ac.il

---------- Forwarded message ----------
Date: Wed, 4 Jul 2007 09:07:49 +0300 (IDT)
From: Yona Shlomo <yona at cs.technion.ac.il>
To: perl at perl.org.il
Subject: RE: [Israel.pm] XML::Twig

quoting my 1st message on this:

> I'm using XML::Twig.
> When I get an 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.
> Anyone knows what is going on here?

Well, the problem was when I used a copy of the
XML::Twig::Elt object. 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?

Shlomo Yona
yona at cs.technion.ac.il

More information about the Perl mailing list