diff options
author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2003-01-26 19:35:03 +0000 |
---|---|---|
committer | <> | 2015-02-23 10:18:26 +0000 |
commit | a2d12bc84fb2af87dd1c0c6e5bc854554902cd67 (patch) | |
tree | 7665979c7c281b21971de576d93246a022bff649 /t/24namespaces.t | |
download | perl-xml-xpath-a2d12bc84fb2af87dd1c0c6e5bc854554902cd67.tar.gz |
Imported from /home/lorry/working-area/delta_perl-xml-xpath/XML-XPath-1.13.tar.gz.HEADXML-XPath-1.13master
Diffstat (limited to 't/24namespaces.t')
-rw-r--r-- | t/24namespaces.t | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/t/24namespaces.t b/t/24namespaces.t new file mode 100644 index 0000000..b77f9dc --- /dev/null +++ b/t/24namespaces.t @@ -0,0 +1,56 @@ +use Test; +BEGIN { plan tests => 9 } + +use XML::XPath; +ok(1); + +my $xp = XML::XPath->new(ioref => *DATA); +ok($xp); + +my @nodes; + +# Don't set namespace prefixes - uses element context namespaces + +@nodes = $xp->findnodes('//foo:foo'); # should find foobar.com foos +ok(@nodes, 3); + +@nodes = $xp->findnodes('//goo:foo'); # should find no foos +ok(@nodes, 0); + +@nodes = $xp->findnodes('//foo'); # should find default NS foos +ok(@nodes, 2); + +# Set namespace mappings. + +$xp->set_namespace("foo" => "flubber.example.com"); +$xp->set_namespace("goo" => "foobar.example.com"); + +# warn "TEST 6\n"; +@nodes = $xp->findnodes('//foo:foo'); # should find flubber.com foos +# warn "found: ", scalar @nodes, "\n"; +ok(@nodes, 2); + +@nodes = $xp->findnodes('//goo:foo'); # should find foobar.com foos +ok(@nodes, 3); + +@nodes = $xp->findnodes('//foo'); # should find default NS foos +ok(@nodes, 2); + +ok($xp->findvalue('//attr:node/@attr:findme'), 'someval'); + +__DATA__ +<xml xmlns:foo="foobar.example.com" + xmlns="flubber.example.com"> + <foo> + <bar/> + <foo/> + </foo> + <foo:foo> + <foo:foo/> + <foo:bar/> + <foo:bar/> + <foo:foo/> + </foo:foo> + <attr:node xmlns:attr="attribute.example.com" + attr:findme="someval"/> +</xml> |