Class: REXML::Child
Overview
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.
Direct Known Subclasses
AttlistDecl, Comment, DTD::AttlistDecl, DTD::ElementDecl, DTD::EntityDecl, DTD::NotationDecl, Declaration, Entity, ExternalEntity, Instruction, NotationDecl, Parent, Text, XMLDecl
Instance Attribute Summary collapse
-
#parent ⇒ Object
The Parent of this object.
Instance Method Summary collapse
-
#bytes ⇒ Object
This doesn’t yet handle encodings.
-
#document ⇒ Object
- Returns
-
the document this child belongs to, or nil if this child belongs to no document.
-
#initialize(parent = nil) ⇒ Child
constructor
Constructor.
-
#next_sibling=(other) ⇒ Object
Sets the next sibling of this child.
-
#previous_sibling=(other) ⇒ Object
Sets the previous sibling of this child.
-
#remove ⇒ Object
Removes this child from the parent.
-
#replace_with(child) ⇒ Object
Replaces this object with another object.
Methods included from Node
#each_recursive, #find_first_recursive, #indent, #index_in_parent, #next_sibling_node, #parent?, #previous_sibling_node, #to_s
Constructor Details
#initialize(parent = nil) ⇒ Child
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
18 19 20 21 22 23 |
# 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 |
Instance Attribute Details
#parent ⇒ Object
The Parent of this object
11 12 13 |
# File 'lib/rexml/child.rb', line 11 def parent @parent end |
Instance Method Details
#bytes ⇒ Object
This doesn’t yet handle encodings
91 92 93 94 95 |
# File 'lib/rexml/child.rb', line 91 def bytes document.encoding to_s end |
#document ⇒ Object
- Returns
-
the document this child belongs to, or nil if this child
belongs to no document
85 86 87 88 |
# File 'lib/rexml/child.rb', line 85 def document return parent.document unless parent.nil? nil end |
#next_sibling=(other) ⇒ Object
68 69 70 |
# File 'lib/rexml/child.rb', line 68 def next_sibling=( other ) parent.insert_after self, other end |
#previous_sibling=(other) ⇒ Object
79 80 81 |
# File 'lib/rexml/child.rb', line 79 def previous_sibling=(other) parent.insert_before self, other end |
#remove ⇒ Object
Removes this child from the parent.
- Returns
-
self
37 38 39 40 41 42 |
# File 'lib/rexml/child.rb', line 37 def remove unless @parent.nil? @parent.delete self end self end |
#replace_with(child) ⇒ Object
Replaces this object with another object. Basically, calls Parent.replace_child
- Returns
-
self
29 30 31 32 |
# File 'lib/rexml/child.rb', line 29 def replace_with( child ) @parent.replace_child( self, child ) self end |