■XML::Atom::Base->as_xml を呼ぶと元のオブジェクトが破壊される件
use strict; use warnings; use Test::More tests => 5; use XML::Atom::Feed; my $file = "t/samples/atom-1.0.xml"; open my $fh, $file or die "$file: $!"; my $feed = XML::Atom::Feed->new(Stream => $fh); isa_ok $feed, 'XML::Atom::Feed'; my @entry = $feed->entries; is @entry, 1, "1 entry"; my $entry = $entry[0]; is $entry->title, 'Atom draft-07 snapshot'; my $XML = <<'...'; <?xml version="1.0" encoding="utf-8"?> <content xmlns="http://www.w3.org/2005/Atom" type="xhtml" xml:lang="en" xml:base="http://diveintomark.org/"> <div xmlns="http://www.w3.org/1999/xhtml"> <p><i>[Update: The Atom draft is finished.]</i></p> </div> </content> ... is $entry->content->as_xml, $XML; is $entry->content->as_xml, $XML;
--- lib/XML/Atom/Base.pm.org 2008-11-10 10:31:13.000000000 +0900 +++ lib/XML/Atom/Base.pm 2008-11-10 10:31:22.000000000 +0900 @@ -343,7 +343,7 @@ my $obj = shift; if (LIBXML) { my $doc = XML::LibXML::Document->new('1.0', 'utf-8'); + $doc->setDocumentElement($obj->elem); - $doc->setDocumentElement($obj->elem->cloneNode(1)); return $doc->toString(1); } else { return '<?xml version="1.0" encoding="utf-8"?>' . "\n" .
トラックバック - http://d.hatena.ne.jp/tokuhirom/20081110/1226280757


