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.