HTML::Object::XPath::Step - HTML Object XPath Step
=head1 SYNOPSIS
use HTML::Object::XPath::Step;
my $this = HTML::Object::XPath::Step->new || die( HTML::Object::XPath::Step->error, "\n" );
=head1 VERSION
v0.2.0
=head1 DESCRIPTION
This module represents a XPath step.
=head1 CONSTRUCTOR
=head2 new
It takes a L<HTML::Object::XPath> object, an C<axis>, a C<test> name and a C<literal> and returns a new L<HTML::Object::XPath::Step> object.
=head1 METHODS
=head2 as_string
Returns a string representation of the step.
=head2 as_xml
Returns a string representation of the step as xml.
=head2 axis
Set or get the axis.
=head2 axis_ancestor
Provided with a L<context|HTML::Object::Element> and a L<HTML::Object::XPath::NodeSet> object, and this will add each parent until there are none found anymore, to the resulting node set and returns it.
=head2 axis_ancestor_or_self
This performs a similar function as L</axis_ancestor>, except it test each node and add it to the result, before going up to the next parent.
=head2 axis_attribute
Provided with a L<context|HTML::Object::Element> and a L<node set|HTML::Object::XPath::NodeSet> and this will add each of its attribute object to the resulting node set and returns it.
=head2 axis_child
Provided with a L<context|HTML::Object::Element> and a L<HTML::Object::XPath::NodeSet> object, and this will add each of the children's node and returns the resulting set.
=head2 axis_descendant
Provided with a L<context|HTML::Object::Element> and a L<HTML::Object::XPath::NodeSet> object, and this will add each of the children's node and its children after that until there is none and returns the resulting set.
=head2 axis_descendant_or_self
This performs a similar function as L</axis_ancestor>, except it test each node and add it to the result, before going down to the next children's nodes.
=head2 axis_following
Provided with a L<context|HTML::Object::Element> and a L<node set|HTML::Object::XPath::NodeSet> and this will get all the first child in the tree of the element's next sibling.
=head2 axis_following_sibling
Provided with a L<context|HTML::Object::Element> and a L<node set|HTML::Object::XPath::NodeSet> and this will add its next sibling to the resulting node set and its sibling sibling and so forth. It returns the resulting node set.
=head2 axis_method
Set or get the axis method.
=head2 axis_namespace
Provided with a L<context|HTML::Object::Element> and a L<node set|HTML::Object::XPath::NodeSet> and this will add each namespace of the C<context> into the result.
=head2 axis_parent
Provided with a L<context|HTML::Object::Element> and a L<node set|HTML::Object::XPath::NodeSet> and this will psh to the result array the context's parent, if any. It returns the resulting node set.
=head2 axis_preceding
Provided with a L<context|HTML::Object::Element> and a L<node set|HTML::Object::XPath::NodeSet> and this will get all the last child of the previous sibling hierarchy. It returns the resulting node set.
=head2 axis_preceding_sibling
Provided with a L<context|HTML::Object::Element> and a L<node set|HTML::Object::XPath::NodeSet> and this will all the previous siblings recursively. It returns the resulting node set.
=head2 axis_self
Provided with a L<context|HTML::Object::Element> and a L<node set|HTML::Object::XPath::NodeSet> and this will return the node set with the provided C<context> added to it.
=head2 evaluate
Provided with a L<node set|HTML::Object::XPath::NodeSet> or a L<node|HTML::Object::Element> and this will evaluate each element of the nod set by calling L</evaluate_node> for each of them and adding the result to a new node set and returns it.
=head2 evaluate_node
Provided with a L<context|HTML::Object::Element> and this will evaluate the context, by calling the method set in L</axis_method> and passing it the C<context> and a new L<node set|HTML::Object::XPath::NodeSet>. It returns the new node set.
=head2 filter_by_predicate
Provided with a L<node set|HTML::Object::XPath::NodeSet> and a predicate and this will evaluate each element in the node set with the predicate. Based on the result, it will add the node evaluated to a new node set that is returned.
=head2 literal
Set or get the literal value.
=head2 new_nodeset
Returns a new L<node set object|HTML::Object::XPath::NodeSet> passing it whatever arguments was provided.
=head2 node_test
Provided with a L<node|HTML::Object::Element> and this will test it based on the test set for this step and return a certain value; most of the time a simple true value.
=head2 test
Set or get the test name (or actually number) to be performed.
=head2 test_attribute
Provided with a L<node|HTML::Object::Element> and this will test its attribute.
=head2 test_namespace
Provided with a L<node|HTML::Object::Element> and this will test its name space.