class REXML::Child
A Child
object is something contained by a parent, and this class contains methods to support that. Most user code will not use this class directly.
Attributes
Public Class Methods
Source
# File lib/rexml/child.rb, line 18 def initialize( parent = nil ) @parent = nil # Declare @parent, but don't define it. The next line sets the # parent. parent.add( self ) if parent end
Constructor. Any inheritors of this class should call super to make sure this method is called.
- parent
-
if supplied, the parent of this child will be set to the supplied value, and self will be added to the parent
Public Instance Methods
Source
# File lib/rexml/child.rb, line 91 def bytes document.encoding to_s end
This doesn’t yet handle encodings
Source
# File lib/rexml/child.rb, line 85 def document return parent.document unless parent.nil? nil end
- Returns
-
the document this child belongs to, or nil if this child
belongs to no document
Source
# File lib/rexml/child.rb, line 68 def next_sibling=( other ) parent.insert_after self, other end
Sets the next sibling of this child. This can be used to insert a child after some other child.
a = Element.new("a") b = a.add_element("b") c = Element.new("c") b.next_sibling = c # => <a><b/><c/></a>
Source
# File lib/rexml/child.rb, line 52 def parent=( other ) return @parent if @parent == other @parent.delete self if defined? @parent and @parent @parent = other end
Sets the parent of this child to the supplied argument.
- other
-
Must be a
Parent
object. If this object is the same object as the existing parent of this child, no action is taken. Otherwise, this child is removed from the current parent (if one exists), and is added to the new parent. - Returns
-
The parent added
Source
# File lib/rexml/child.rb, line 79 def previous_sibling=(other) parent.insert_before self, other end
Sets the previous sibling of this child. This can be used to insert a child before some other child.
a = Element.new("a") b = a.add_element("b") c = Element.new("c") b.previous_sibling = c # => <a><b/><c/></a>
Source
# File lib/rexml/child.rb, line 37 def remove unless @parent.nil? @parent.delete self end self end
Removes this child from the parent.
- Returns
-
self
Source
# File lib/rexml/child.rb, line 29 def replace_with( child ) @parent.replace_child( self, child ) self end
Replaces this object with another object. Basically, calls Parent.replace_child
- Returns
-
self