class XPath::Expression::Descendant

Public Instance Methods

to_xpath(predicate=nil) click to toggle source
# File lib/xpath/expression.rb, line 54
def to_xpath(predicate=nil)
  if @expressions.length == 1
    "#{@left.to_xpath(predicate)}//#{@expressions.first.to_xpath(predicate)}"
  elsif @expressions.length > 1
    "#{@left.to_xpath(predicate)}//*[#{@expressions.map { |e| "self::#{e.to_xpath(predicate)}" }.join(" | ")}]"
  else
    "#{@left.to_xpath(predicate)}//*"
  end
end