Class: Handsoap::XmlQueryFront::REXMLDriver
  
  
  
  
  
    - Inherits:
 
    - 
      Object
      
        
          - Object
 
          
            - Handsoap::XmlQueryFront::REXMLDriver
 
          
        
        show all
      
     
  
  
  
  
  
  
  
      - Includes:
 
      - XmlElement
 
  
  
  
  
  
  
    - Defined in:
 
    - lib/handsoap/xml_query_front.rb
 
  
  
 
Overview
  
  
    
      Instance Method Summary
      collapse
    
    
  
  
  
  
  
  
  
  
  
  Methods included from XmlElement
  #/, #add_namespace, #assert_prefixes!, #initialize, #native_element, #to_boolean, #to_date, #to_f, #to_i
  
    Instance Method Details
    
      
  
  
    #[](attribute_name)  ⇒ Object 
  
  
  
  
    
      
290
291
292
293 
     | 
    
      # File 'lib/handsoap/xml_query_front.rb', line 290
def [](attribute_name)
  raise ArgumentError.new unless attribute_name.kind_of? String
  @element.attributes[attribute_name]
end 
     | 
  
 
    
      
  
  
    #children  ⇒ Object 
  
  
  
  
    
      
287
288
289 
     | 
    
      # File 'lib/handsoap/xml_query_front.rb', line 287
def children
  NodeSelection.new(@element.children.map{|node| REXMLDriver.new(node) })
end
     | 
  
 
    
      
  
  
    #node_name  ⇒ Object 
  
  
  
  
    
      
267
268
269
270
271
272
273 
     | 
    
      # File 'lib/handsoap/xml_query_front.rb', line 267
def node_name
  if @element.respond_to? :name
    @element.name
  else
    @element.class.name.gsub(/.*::([^:]+)$/, "\\1").downcase
  end
end
     | 
  
 
    
      
  
  
    #node_namespace  ⇒ Object 
  
  
  
  
    
      
274
275
276
277
278
279
280 
     | 
    
      # File 'lib/handsoap/xml_query_front.rb', line 274
def node_namespace
  if @element.respond_to? :namespace
    namespace = @element.namespace
    return if namespace == ''
  end
  namespace
end
     | 
  
 
    
      
  
  
    #to_raw  ⇒ Object 
  
  
  
  
    
      
302
303
304 
     | 
    
      # File 'lib/handsoap/xml_query_front.rb', line 302
def to_raw
  @element.to_s
end 
     | 
  
 
    
      
  
  
    #to_s  ⇒ Object 
  
  
  
  
    
      
305
306
307
308
309
310
311 
     | 
    
      # File 'lib/handsoap/xml_query_front.rb', line 305
def to_s
  if @element.respond_to? :text
    @element.text
  else
    @element.value
  end
end
     | 
  
 
    
      
  
  
    #to_xml  ⇒ Object 
  
  
  
  
    
      
294
295
296
297
298
299
300
301 
     | 
    
      # File 'lib/handsoap/xml_query_front.rb', line 294
def to_xml
  require 'rexml/formatters/pretty'
  formatter = REXML::Formatters::Pretty.new
  out = String.new
  formatter.write(@element, out)
    out.gsub(/>\n\s+([^<]+)\n\s+<\//, ">\\1</")
end
     | 
  
 
    
      
  
  
    #xpath(expression, ns = nil)  ⇒ Object 
  
  
  
  
    
      
281
282
283
284
285
286 
     | 
    
      # File 'lib/handsoap/xml_query_front.rb', line 281
def xpath(expression, ns = nil)
  ns = {} if ns.nil?
  ns = @namespaces.merge(ns)
  assert_prefixes!(expression, ns)
  NodeSelection.new(REXML::XPath.match(@element, expression, ns).map{|node| REXMLDriver.new(node, ns) })
end
     |