| Class | REXML::Child |
| In: |
|
| 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.
Included Modules
External Aliases
| next_sibling_node | -> | next_sibling |
| previous_sibling_node | -> | previous_sibling |
Attributes
| parent | [R] |
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 |
17: def initialize( parent = nil ) 18: @parent = nil 19: # Declare @parent, but don't define it. The next line sets the 20: # parent. 21: parent.add( self ) if parent 22: end
Public Instance methods
This doesn’t yet handle encodings
90: def bytes 91: encoding = document.encoding 92: 93: to_s 94: end
| Returns: | the document this child belongs to, or nil if this child |
belongs to no document
84: def document 85: return parent.document unless parent.nil? 86: nil 87: 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>
67: def next_sibling=( other ) 68: parent.insert_after self, other 69: 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 |
51: def parent=( other ) 52: return @parent if @parent == other 53: @parent.delete self if defined? @parent and @parent 54: @parent = other 55: 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>
78: def previous_sibling=(other) 79: parent.insert_before self, other 80: end
Removes this child from the parent.
| Returns: | self |
36: def remove 37: unless @parent.nil? 38: @parent.delete self 39: end 40: self 41: end
Replaces this object with another object. Basically, calls Parent.replace_child
| Returns: | self |
28: def replace_with( child ) 29: @parent.replace_child( self, child ) 30: self 31: end