XML-Generator
view release on metacpan or search on metacpan
$xml = $x->foo({'id' => 4}, 3, 5);
ok($xml->toString, '<foo id="4">35</foo>');
$xml = $x->foo({'id' => 4}, 0, 5);
ok($xml->toString, '<foo id="4">05</foo>');
$xml = $x->foo({'id' => 4}, 3, 0);
ok($xml->toString, '<foo id="4">30</foo>');
my $foo_bar = "foo-bar";
$xml = $x->$foo_bar(42);
ok($xml->toString, '<foo-bar>42</foo-bar>');
$x = new XML::Generator::DOM 'namespace' => ['A'];
$xml = $x->foo({'bar' => 42}, $x->bar(['B'], {'bar' => 54}));
ok($xml->toString, '<A:foo A:bar="42"><B:bar B:bar="54"/></A:foo>');
$xml = $x->xmldecl();
ok(UNIVERSAL::isa($xml, 'XML::DOM::XMLDecl'));
ok($xml->getVersion, '1.0');
ok($xml->getStandalone, 'yes');
$xml = $x->xmlcmnt("test");
ok(UNIVERSAL::isa($xml, 'XML::DOM::Comment'));
ok($xml->getData, 'test');
$x = new XML::Generator::DOM
'version' => '1.1',
'encoding' => 'iso-8859-2';
$xml = $x->xmldecl();
ok($xml->getVersion, '1.1');
ok($xml->getEncoding, 'iso-8859-2');
$xml = $x->xmlpi("target", 'option="value"');
ok(UNIVERSAL::isa($xml, 'XML::DOM::ProcessingInstruction'));
ok($xml->getTarget, 'target');
ok($xml->getData, 'option="value"');
eval {
my $t = "42";
$x->$t();
};
ok(UNIVERSAL::isa($@, 'XML::DOM::DOMException'));
$xml = $x->foo(['bar'], {'baz:foo' => 'qux', 'fob' => 'gux'});
ok($xml->toString eq '<bar:foo baz:foo="qux" bar:fob="gux"/>' ||
$xml->toString eq '<bar:foo bar:fob="gux" baz:foo="qux"/>');
$x = new XML::Generator::DOM 'dtd' => [ 'foo', 'SYSTEM', '"http://foo.com/foo"' ];
$xml = $x->xmldecl();
ok($xml->getStandalone, 'no');
$xml = $x->xmlcdata("test");
ok(UNIVERSAL::isa($xml, 'XML::DOM::CDATASection'));
ok($xml->getData, 'test');
$x = new XML::Generator::DOM;
$xml = $x->foo($x->xmlcdata("bar"), $x->xmlpi("baz", "bam"));
ok($xml->toString, '<foo><![CDATA[bar]]><?baz bam?></foo>');
$xml = $x->foo(42);
$xml = $x->xml($xml);
ok($xml->toString,
'<?xml version="1.0" standalone="yes"?>
<foo>42</foo>
');
eval {
$xml = $x->bar($xml);
};
ok($@);
ok($@->getName, 'WRONG_DOCUMENT_ERR');
$xml = $x->foo();
$cmnt = $x->xmlcmnt("comment");
$pi = $x->xmlpi("foo", "bar");
$xml = $x->xml($cmnt, $xml, $pi);
ok($xml->toString, '<?xml version="1.0" standalone="yes"?>
<!--comment-->
<foo/>
<?foo bar?>
');
require XML::DOM;
$doc = XML::DOM::Parser->new->parse('<doc/>');
$x = XML::Generator::DOM->new( dom_document => $doc );
$doc->getFirstChild->appendChild($x->foo(42));
ok($doc->toString,
'<doc><foo>42</foo></doc>
');
eval {
$xml = $x->xml($x->bar(12));
};
ok($@ =~ /method not allowed/);
( run in 1.639 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )