# Before `make install' is performed this script should be runnable with
# `make test'. After `make install' it should work as `perl test.pl'

######################### We start with some black magic to print on failure.

# Change 1..1 below to 1..last_test_to_print .
# (It may become useful if the test is moved to ./t subdirectory.)

BEGIN { $| = 1; print "1..1\n"; }
END {print "not ok 1\n" unless $loaded;}
use XML::DOM;
use XML::DOM::Twig;
$loaded = 1;
print "ok 1\n";



######################### End of black magic.

# Insert your test code below (better if it prints "ok 13"
# (correspondingly "not ok 13") depending on the success of chunk 13
# of the test code):
my $parser = new XML::DOM::Parser;
my $doc = $parser->parse ( \*DATA);

my $root= $doc->getDocumentElement;
   $root= $doc->root;
my $elt= $root->first_child( ELEMENT_NODE);
my $subelt2= $elt->first_child( "subelt2");
print "subelt2: ", $subelt2->toString, "\n";

my $subelt= $subelt2->prev_sibling( sub { my $node= shift;
 ($node->getNodeType eq ELEMENT_NODE)
                                         &&
					  ($node->getAttribute( 'id') eq 'sub1')
					 });
print "subelt: ", $subelt->toString, "\n";
$subelt->cut;
print "elt: ", $elt->toString, "\n";

my @root= $doc->children( 'doc');
$root= shift @root;
print "root: ", $root->att( 'id'), "\n";

my $node= $doc->get_xpath( '/doc/elt/subelt[@id="sub5"]', 0);
print "xpath /doc/elt/subelt[\@id=sub5]: ", $node->text, "\n";
$node= $node->get_xpath( '../subelt', 0);
print "xpath ../subelt: ", $node->text, "\n";



__DATA__
<doc id="doc1">
  <elt id="elt1">
    <subelt id="sub1"> subelt1 </subelt>
    <subelt id="sub2"> subelt2 </subelt>
    <subelt2 id="sub2_2"> subelt2_2 </subelt2>
    <subelt id="sub3"> subelt3 </subelt>
  </elt>
  <elt id="elt2">
    <subelt id="sub4"> subelt4 </subelt>
    <subelt id="sub5"> subelt5 </subelt>
  </elt>
</doc>
