diff --git a/lib/oga/xpath/compiler.rb b/lib/oga/xpath/compiler.rb index 203f8a3..583640a 100644 --- a/lib/oga/xpath/compiler.rb +++ b/lib/oga/xpath/compiler.rb @@ -244,6 +244,19 @@ module Oga end end + # @param [AST::Node] ast + # @param [Oga::Ruby::Node] input + # @return [Oga::Ruby::Node] + def on_axis_parent(ast, input, &block) + node = node_literal + + input.is_a?(XML::Node).if_true do + backup_variable(node, input.parent) do + process(ast, node, &block).if_true { yield node } + end + end + end + # @param [AST::Node] ast # @param [Oga::Ruby::Node] input # @return [Oga::Ruby::Node]