Class: REXML::XPath
Overview
Wrapper class. Use this class to access the XPath functions.
Constant Summary
- EMPTY_HASH =
{}
Class Method Summary (collapse)
-
+ (Object) each(element, path = nil, namespaces = nil, variables = {}, &block)
Iterates over nodes that match the given path, calling the supplied block with the match.
-
+ (Object) first(element, path = nil, namespaces = nil, variables = {})
Finds and returns the first node that matches the supplied xpath.
-
+ (Object) match(element, path = nil, namespaces = nil, variables = {})
Returns an array of nodes matching a given XPath.
Methods included from Functions
boolean, ceiling, compare_language, concat, contains, context=, count, false, floor, get_namespace, id, lang, last, local_name, method_missing, name, namespace_context, namespace_context=, namespace_uri, normalize_space, not, number, position, processing_instruction, round, starts_with, string, string_length, string_value, substring, substring_after, substring_before, sum, text, translate, true, variables, variables=
Class Method Details
+ (Object) each(element, path = nil, namespaces = nil, variables = {}, &block)
Iterates 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
|
56 57 58 59 60 61 62 63 64 65 |
# File 'lib/rexml/xpath.rb', line 56 def XPath::each element, path=nil, namespaces=nil, variables={}, &block 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).each( &block ) end |
+ (Object) first(element, path = nil, namespaces = nil, variables = {})
Finds and returns the first node that matches the supplied xpath.
element |
The context element
|
27 28 29 30 31 32 33 34 35 36 |
# File 'lib/rexml/xpath.rb', line 27 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 |
+ (Object) match(element, path = nil, namespaces = nil, variables = {})
Returns an array of nodes matching a given XPath.
68 69 70 71 72 73 74 75 |
# File 'lib/rexml/xpath.rb', line 68 def XPath::match element, path=nil, namespaces=nil, 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 |