Extended maintenance of Ruby versions 1.8.7 and 1.9.2 will end on July 31, 2014. Read more

In Files

  • rexml/node.rb

REXML::Node

Represents a node in the tree. Nodes are never encountered except as superclasses of other objects. Nodes have siblings.

Public Instance Methods

each_recursive() click to toggle source

Visit all subnodes of self recursively

 
               # File rexml/node.rb, line 53
def each_recursive(&block) # :yields: node
  self.elements.each {|node|
    block.call(node)
    node.each_recursive(&block)
  }
end
            
find_first_recursive() click to toggle source

Find (and return) first subnode (recursively) for which the block evaluates to true. Returns nil if none was found.

 
               # File rexml/node.rb, line 62
def find_first_recursive(&block) # :yields: node
  each_recursive {|node|
    return node if block.call(node)
  }
  return nil
end
            
indent(to, ind) click to toggle source
 
               # File rexml/node.rb, line 38
def indent to, ind
                    if @parent and @parent.context and not @parent.context[:indentstyle].nil? then
                            indentstyle = @parent.context[:indentstyle]
                    else
                            indentstyle = '  '
                    end
                    to << indentstyle*ind unless ind<1
end
            
index_in_parent() click to toggle source

Returns the position that self holds in its parent’s array, indexed from 1.

 
               # File rexml/node.rb, line 71
def index_in_parent
  parent.index(self)+1
end
            
next_sibling_node() click to toggle source

@return the next sibling (nil if unset)

 
               # File rexml/node.rb, line 10
def next_sibling_node
  return nil if @parent.nil?
  @parent[ @parent.index(self) + 1 ]
end
            
parent?() click to toggle source
 
               # File rexml/node.rb, line 47
def parent?
  false;
end
            
previous_sibling_node() click to toggle source

@return the previous sibling (nil if unset)

 
               # File rexml/node.rb, line 16
def previous_sibling_node
  return nil if @parent.nil?
  ind = @parent.index(self)
  return nil if ind == 0
  @parent[ ind - 1 ]
end
            
to_s(indent=nil) click to toggle source
indent

DEPRECATED This parameter is now ignored. See the formatters in the REXML::Formatters package for changing the output style.

 
               # File rexml/node.rb, line 26
def to_s indent=nil
  unless indent.nil?
    Kernel.warn( "#{self.class.name}.to_s(indent) parameter is deprecated" )
    f = REXML::Formatters::Pretty.new( indent )
    f.write( self, rv = "" )
  else
    f = REXML::Formatters::Default.new
    f.write( self, rv = "" )
  end
  return rv
end
            

Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.

If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.

If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.

If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.

blog comments powered by Disqus