method

match

v1_9_1_378 - Show latest stable - Class: REXML::QuickPath
match(element, path, namespaces=EMPTY_HASH)
public

No documentation available.

# File lib/rexml/quickpath.rb, line 20
    def QuickPath::match element, path, namespaces=EMPTY_HASH
      raise "nil is not a valid xpath" unless path
      results = nil
      Functions::namespace_context = namespaces
      case path
      when /^\/([^\/]|$)/
        # match on root
        path = path[1..-1]
        return [element.root.parent] if path == ''
        results = filter([element.root], path)
      when /^[-\w]*::/
        results = filter([element], path)
      when /^\*/
        results = filter(element.to_a, path)
      when /^[\[!\w:]/
        # match on child
        matches = []
        children = element.to_a
        results = filter(children, path)
      else
        results = filter([element], path)
      end
      return results
    end