| Class | REXML::XPath |
| In: |
rexml/xpath.rb
|
| Parent: | Object |
| EMPTY_HASH | = | {} |
Itterates over nodes that match the given path, calling the supplied block with the match.
| element: | The context element |
| path: | The xpath to search for. If not supplied or nil, defaults to ’*’ |
| namespaces: | If supplied, a Hash which defines a namespace mapping |
XPath.each( node ) { |el| ... }
XPath.each( node, '/*[@attr='v']' ) { |el| ... }
XPath.each( node, 'ancestor::x' ) { |el| ... }
# File rexml/xpath.rb, line 45 def XPath::each element, path=nil, namespaces={}, variables={}, &block raise "The namespaces argument, if supplied, must be a hash object." unless 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).each( &block ) end
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" } )
# File rexml/xpath.rb, line 22 def XPath::first element, path=nil, namespaces={}, variables={} raise "The namespaces argument, if supplied, must be a hash object." unless 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
Returns an array of nodes matching a given XPath.
# File rexml/xpath.rb, line 57 def XPath::match element, path=nil, namespaces={}, variables={} parser = XPathParser.new parser.namespaces = namespaces parser.variables = variables path = "*" unless path element = [element] unless element.kind_of? Array parser.parse(path,element) end
ruby-doc.org is hosted and maintained by James Britt and Neurogami, LLC, a Ruby consulting company. The site was created in 2002 as part of the Ruby Documentation Project to promote the Ruby language and to help other Ruby hackers.
Documentation content on ruby-doc.org is provided by remarkable members of the Ruby community.
For more information on the Ruby programming language, visit ruby-lang.org.
For information about this site or Neurogami, contact james@neurogami.com.