class REXML::XPathParser
def descendant_recursive(raw_node, new_nodeset, new_nodes, include_self)
def descendant_recursive(raw_node, new_nodeset, new_nodes, include_self) if include_self return if new_nodes.key?(raw_node) new_nodeset << XPathNode.new(raw_node, position: new_nodeset.size + 1) new_nodes[raw_node] = true end node_type = raw_node.node_type if node_type == :element or node_type == :document raw_node.children.each do |child| descendant_recursive(child, new_nodeset, new_nodes, true) end end end