Extended maintenance of Ruby 1.9.3 ended on February 23, 2015. Read more
Represents a node in the tree. Nodes are never encountered except as superclasses of other objects. Nodes have siblings.
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 (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
# 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
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
@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
@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
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.