File: C:/Ruby27-x64/share/doc/ruby/html/REXML/Child.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>class REXML::Child - RDoc Documentation</title>
<script type="text/javascript">
var rdoc_rel_prefix = "../";
var index_rel_prefix = "../";
</script>
<script src="../js/navigation.js" defer></script>
<script src="../js/search.js" defer></script>
<script src="../js/search_index.js" defer></script>
<script src="../js/searcher.js" defer></script>
<script src="../js/darkfish.js" defer></script>
<link href="../css/fonts.css" rel="stylesheet">
<link href="../css/rdoc.css" rel="stylesheet">
<body id="top" role="document" class="class">
<nav role="navigation">
<div id="project-navigation">
<div id="home-section" role="region" title="Quick navigation" class="nav-section">
<h2>
<a href="../index.html" rel="home">Home</a>
</h2>
<div id="table-of-contents-navigation">
<a href="../table_of_contents.html#pages">Pages</a>
<a href="../table_of_contents.html#classes">Classes</a>
<a href="../table_of_contents.html#methods">Methods</a>
</div>
</div>
<div id="search-section" role="search" class="project-section initially-hidden">
<form action="#" method="get" accept-charset="utf-8">
<div id="search-field-wrapper">
<input id="search-field" role="combobox" aria-label="Search"
aria-autocomplete="list" aria-controls="search-results"
type="text" name="search" placeholder="Search" spellcheck="false"
title="Type to search, Up and Down to navigate, Enter to load">
</div>
<ul id="search-results" aria-label="Search Results"
aria-busy="false" aria-expanded="false"
aria-atomic="false" class="initially-hidden"></ul>
</form>
</div>
</div>
<div id="class-metadata">
<div id="parent-class-section" class="nav-section">
<h3>Parent</h3>
<p class="link"><a href="../Object.html">Object</a>
</div>
<div id="includes-section" class="nav-section">
<h3>Included Modules</h3>
<ul class="link-list">
<li><a class="include" href="Node.html">REXML::Node</a>
</ul>
</div>
<!-- Method Quickref -->
<div id="method-list-section" class="nav-section">
<h3>Methods</h3>
<ul class="link-list" role="directory">
<li ><a href="#method-c-new">::new</a>
<li ><a href="#method-i-bytes">#bytes</a>
<li ><a href="#method-i-document">#document</a>
<li ><a href="#method-i-next_sibling-3D">#next_sibling=</a>
<li ><a href="#method-i-parent-3D">#parent=</a>
<li ><a href="#method-i-previous_sibling-3D">#previous_sibling=</a>
<li ><a href="#method-i-remove">#remove</a>
<li ><a href="#method-i-replace_with">#replace_with</a>
</ul>
</div>
</div>
</nav>
<main role="main" aria-labelledby="class-REXML::Child">
<h1 id="class-REXML::Child" class="class">
class REXML::Child
</h1>
<section class="description">
<p>A <a href="Child.html"><code>Child</code></a> object is something contained by a parent, and this class contains methods to support that. Most user code will not use this class directly.</p>
</section>
<section id="5Buntitled-5D" class="documentation-section">
<section class="attribute-method-details" class="method-section">
<header>
<h3>Attributes</h3>
</header>
<div id="attribute-i-parent" class="method-detail">
<div class="method-heading attribute-method-heading">
<span class="method-name">parent</span><span
class="attribute-access-type">[R]</span>
</div>
<div class="method-description">
</div>
</div>
</section>
<section id="public-class-5Buntitled-5D-method-details" class="method-section">
<header>
<h3>Public Class Methods</h3>
</header>
<div id="method-c-new" class="method-detail ">
<div class="method-heading">
<span class="method-name">new</span><span
class="method-args">( parent = nil )</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<p>Constructor. Any inheritors of this class should call super to make sure this method is called.</p>
<dl class="rdoc-list note-list"><dt>parent
<dd>
<p>if supplied, the parent of this child will be set to the supplied value, and self will be added to the parent</p>
</dd></dl>
<div class="method-source-code" id="new-source">
<pre><span class="ruby-comment"># File lib/rexml/child.rb, line 18</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">initialize</span>( <span class="ruby-identifier">parent</span> = <span class="ruby-keyword">nil</span> )
<span class="ruby-ivar">@parent</span> = <span class="ruby-keyword">nil</span>
<span class="ruby-comment"># Declare @parent, but don't define it. The next line sets the</span>
<span class="ruby-comment"># parent.</span>
<span class="ruby-identifier">parent</span>.<span class="ruby-identifier">add</span>( <span class="ruby-keyword">self</span> ) <span class="ruby-keyword">if</span> <span class="ruby-identifier">parent</span>
<span class="ruby-keyword">end</span></pre>
</div>
</div>
</div>
</section>
<section id="public-instance-5Buntitled-5D-method-details" class="method-section">
<header>
<h3>Public Instance Methods</h3>
</header>
<div id="method-i-bytes" class="method-detail ">
<div class="method-heading">
<span class="method-name">bytes</span><span
class="method-args">()</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<p>This doesn't yet handle encodings</p>
<div class="method-source-code" id="bytes-source">
<pre><span class="ruby-comment"># File lib/rexml/child.rb, line 91</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">bytes</span>
<span class="ruby-identifier">document</span>.<span class="ruby-identifier">encoding</span>
<span class="ruby-identifier">to_s</span>
<span class="ruby-keyword">end</span></pre>
</div>
</div>
</div>
<div id="method-i-document" class="method-detail ">
<div class="method-heading">
<span class="method-name">document</span><span
class="method-args">()</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<dl class="rdoc-list note-list"><dt>Returns
<dd>
<p>the document this child belongs to, or nil if this child</p>
</dd></dl>
<p>belongs to no document</p>
<div class="method-source-code" id="document-source">
<pre><span class="ruby-comment"># File lib/rexml/child.rb, line 85</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">document</span>
<span class="ruby-keyword">return</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">document</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">nil?</span>
<span class="ruby-keyword">nil</span>
<span class="ruby-keyword">end</span></pre>
</div>
</div>
</div>
<div id="method-i-next_sibling-3D" class="method-detail ">
<div class="method-heading">
<span class="method-name">next_sibling=</span><span
class="method-args">( other )</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<p>Sets the next sibling of this child. This can be used to insert a child after some other child.</p>
<pre class="ruby"><span class="ruby-identifier">a</span> = <span class="ruby-constant">Element</span>.<span class="ruby-identifier">new</span>(<span class="ruby-string">"a"</span>)
<span class="ruby-identifier">b</span> = <span class="ruby-identifier">a</span>.<span class="ruby-identifier">add_element</span>(<span class="ruby-string">"b"</span>)
<span class="ruby-identifier">c</span> = <span class="ruby-constant">Element</span>.<span class="ruby-identifier">new</span>(<span class="ruby-string">"c"</span>)
<span class="ruby-identifier">b</span>.<span class="ruby-identifier">next_sibling</span> = <span class="ruby-identifier">c</span>
<span class="ruby-comment"># => <a><b/><c/></a></span>
</pre>
<div class="method-source-code" id="next_sibling-3D-source">
<pre><span class="ruby-comment"># File lib/rexml/child.rb, line 68</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">next_sibling=</span>( <span class="ruby-identifier">other</span> )
<span class="ruby-identifier">parent</span>.<span class="ruby-identifier">insert_after</span> <span class="ruby-keyword">self</span>, <span class="ruby-identifier">other</span>
<span class="ruby-keyword">end</span></pre>
</div>
</div>
</div>
<div id="method-i-parent-3D" class="method-detail ">
<div class="method-heading">
<span class="method-name">parent=</span><span
class="method-args">( other )</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<p>Sets the parent of this child to the supplied argument.</p>
<dl class="rdoc-list note-list"><dt>other
<dd>
<p>Must be a <a href="Parent.html"><code>Parent</code></a> 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.</p>
</dd><dt>Returns
<dd>
<p>The parent added</p>
</dd></dl>
<div class="method-source-code" id="parent-3D-source">
<pre><span class="ruby-comment"># File lib/rexml/child.rb, line 52</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">parent=</span>( <span class="ruby-identifier">other</span> )
<span class="ruby-keyword">return</span> <span class="ruby-ivar">@parent</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@parent</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">other</span>
<span class="ruby-ivar">@parent</span>.<span class="ruby-identifier">delete</span> <span class="ruby-keyword">self</span> <span class="ruby-keyword">if</span> <span class="ruby-keyword">defined?</span> <span class="ruby-ivar">@parent</span> <span class="ruby-keyword">and</span> <span class="ruby-ivar">@parent</span>
<span class="ruby-ivar">@parent</span> = <span class="ruby-identifier">other</span>
<span class="ruby-keyword">end</span></pre>
</div>
</div>
</div>
<div id="method-i-previous_sibling-3D" class="method-detail ">
<div class="method-heading">
<span class="method-name">previous_sibling=</span><span
class="method-args">(other)</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<p>Sets the previous sibling of this child. This can be used to insert a child before some other child.</p>
<pre class="ruby"><span class="ruby-identifier">a</span> = <span class="ruby-constant">Element</span>.<span class="ruby-identifier">new</span>(<span class="ruby-string">"a"</span>)
<span class="ruby-identifier">b</span> = <span class="ruby-identifier">a</span>.<span class="ruby-identifier">add_element</span>(<span class="ruby-string">"b"</span>)
<span class="ruby-identifier">c</span> = <span class="ruby-constant">Element</span>.<span class="ruby-identifier">new</span>(<span class="ruby-string">"c"</span>)
<span class="ruby-identifier">b</span>.<span class="ruby-identifier">previous_sibling</span> = <span class="ruby-identifier">c</span>
<span class="ruby-comment"># => <a><b/><c/></a></span>
</pre>
<div class="method-source-code" id="previous_sibling-3D-source">
<pre><span class="ruby-comment"># File lib/rexml/child.rb, line 79</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">previous_sibling=</span>(<span class="ruby-identifier">other</span>)
<span class="ruby-identifier">parent</span>.<span class="ruby-identifier">insert_before</span> <span class="ruby-keyword">self</span>, <span class="ruby-identifier">other</span>
<span class="ruby-keyword">end</span></pre>
</div>
</div>
</div>
<div id="method-i-remove" class="method-detail ">
<div class="method-heading">
<span class="method-name">remove</span><span
class="method-args">()</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<p>Removes this child from the parent.</p>
<dl class="rdoc-list note-list"><dt>Returns
<dd>
<p>self</p>
</dd></dl>
<div class="method-source-code" id="remove-source">
<pre><span class="ruby-comment"># File lib/rexml/child.rb, line 37</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">remove</span>
<span class="ruby-keyword">unless</span> <span class="ruby-ivar">@parent</span>.<span class="ruby-identifier">nil?</span>
<span class="ruby-ivar">@parent</span>.<span class="ruby-identifier">delete</span> <span class="ruby-keyword">self</span>
<span class="ruby-keyword">end</span>
<span class="ruby-keyword">self</span>
<span class="ruby-keyword">end</span></pre>
</div>
</div>
</div>
<div id="method-i-replace_with" class="method-detail ">
<div class="method-heading">
<span class="method-name">replace_with</span><span
class="method-args">( child )</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<p>Replaces this object with another object. Basically, calls <a href="Parent.html#method-i-replace_child"><code>Parent.replace_child</code></a></p>
<dl class="rdoc-list note-list"><dt>Returns
<dd>
<p>self</p>
</dd></dl>
<div class="method-source-code" id="replace_with-source">
<pre><span class="ruby-comment"># File lib/rexml/child.rb, line 29</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">replace_with</span>( <span class="ruby-identifier">child</span> )
<span class="ruby-ivar">@parent</span>.<span class="ruby-identifier">replace_child</span>( <span class="ruby-keyword">self</span>, <span class="ruby-identifier">child</span> )
<span class="ruby-keyword">self</span>
<span class="ruby-keyword">end</span></pre>
</div>
</div>
</div>
</section>
</section>
</main>
<footer id="validator-badges" role="contentinfo">
<p><a href="https://validator.w3.org/check/referer">Validate</a>
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.2.1.1.
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
</footer>