use warnings;
use strict;
use XML::LibXSLT;
use XML::LibXML;
my $parser = XML::LibXML->new;
my $xslt = XML::LibXSLT->new;
## original web page
my $xml_src = $parser->parse_html_string (<<'EOT');
foo
foo
EOT
## which we will "transform"
my $stylesheet = $xslt->parse_stylesheet ($parser->parse_string (<<'EOT'));
-
one item
EOT
my $parsed = $stylesheet->transform ($xml_src);
## we'll move this item to another document
my $item = ($parsed->getElementsByTagName ('item'))[0];
$item->unbindNode;
## this is the other document:
my $saved = $parser->parse_string (<<'EOT');
-
other item
EOT
my $ch = ($saved->findnodes ('/channel'))[0];
my $addto = ($ch->findnodes ('item'))[0];
$ch->insertBefore ($item, $addto);
print "going to boom...\n";
END { print "unreached\n"; }