diff options
Diffstat (limited to 'XPath/Root.pm')
-rw-r--r-- | XPath/Root.pm | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/XPath/Root.pm b/XPath/Root.pm new file mode 100644 index 0000000..ee5914b --- /dev/null +++ b/XPath/Root.pm @@ -0,0 +1,36 @@ +# $Id: Root.pm,v 1.6 2001/03/16 11:10:08 matt Exp $ + +package XML::XPath::Root; +use strict; +use XML::XPath::XMLParser; +use XML::XPath::NodeSet; + +sub new { + my $class = shift; + my $self; # actually don't need anything here - just a placeholder + bless \$self, $class; +} + +sub as_string { + # do nothing +} + +sub as_xml { + return "<Root/>\n"; +} + +sub evaluate { + my $self = shift; + my $nodeset = shift; + +# warn "Eval ROOT\n"; + + # must only ever occur on 1 node + die "Can't go to root on > 1 node!" unless $nodeset->size == 1; + + my $newset = XML::XPath::NodeSet->new(); + $newset->push($nodeset->get_node(1)->getRootNode()); + return $newset; +} + +1; |