REXML::Child (Class)

In: rexml/child.rb
Parent: Object

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.

Methods

External Aliases

next_sibling_node -> next_sibling
previous_sibling_node -> previous_sibling

Attributes

parent  [R] 

Included Modules

Node

Public Class methods

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

[Source]

# File rexml/child.rb, line 17
                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

Public Instance methods

This doesn’t yet handle encodings

[Source]

# File rexml/child.rb, line 90
                def bytes
                        encoding = document.encoding

                        to_s
                end
Returns:the document this child belongs to, or nil if this child

belongs to no document

[Source]

# File rexml/child.rb, line 84
                def document
                        return parent.document unless parent.nil?
                        nil
                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 rexml/child.rb, line 67
                def next_sibling=( other )
                  parent.insert_after self, 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 rexml/child.rb, line 51
                def parent=( other )
                        return @parent if @parent == other
                        @parent.delete self if defined? @parent and @parent
                        @parent = 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 rexml/child.rb, line 78
                def previous_sibling=(other)
                  parent.insert_before self, other
                end

Removes this child from the parent.

Returns:self

[Source]

# File rexml/child.rb, line 36
                def remove
                        unless @parent.nil?
                                @parent.delete self
                        end
                        self
                end

Replaces this object with another object. Basically, calls Parent.replace_child

Returns:self

[Source]

# File rexml/child.rb, line 28
                def replace_with( child )
                        @parent.replace_child( self, child )
                        self
                end

[Validate]