first(element, path=nil, namespaces=nil, variables={})
public
Finds and returns the first
node that matches the supplied xpath.
element: | The context element
|
path: | The xpath to search for. If not supplied or nil, returns the first node matching
’*’.
|
namespaces: | If supplied, a Hash which defines a namespace
mapping.
|
XPath.first( node )
XPath.first( doc, "//b"} )
XPath.first( node, "a/x:b", { "x"=>"http://doofus" } )
Show source
def XPath::first element, path=nil, namespaces=nil, variables={}
raise "The namespaces argument, if supplied, must be a hash object." unless namespaces.nil? or namespaces.kind_of?(Hash)
raise "The variables argument, if supplied, must be a hash object." unless variables.kind_of?(Hash)
parser = XPathParser.new
parser.namespaces = namespaces
parser.variables = variables
path = "*" unless path
element = [element] unless element.kind_of? Array
parser.parse(path, element).flatten[0]
end