class REXML::Child

[edit]

要約

あるノード(親ノード)に子ノードとして保持されているノードを表すクラスです。

親にアクセスするためには REXML::Child#parent を使います。

目次

特異メソッド
インスタンスメソッド

継承しているメソッド

REXML::Nodeから継承しているメソッド

特異メソッド

new(parent = nil) -> REXML::Child[permalink][rdoc][edit]

REXML::Child オブジェクトを生成します。

parent で親ノードを指定します。親ノードへの追加は行わないため、オブジェクト生成後に親に適切に設定する必要があります。

通常、このメソッドは直接は使いません。継承先のクラスが適切にこのメソッド(initialize)を呼び出します。

[PARAM] parent:
親ノード

インスタンスメソッド

bytes[permalink][rdoc][edit]

[TODO]

document -> REXML::Document | nil[permalink][rdoc][edit]

そのノードが属する document (REXML::Document) を返します。

属する document が存在しない場合は nil を返します。

next_sibling -> REXML::Node[permalink][rdoc][edit]

次の隣接ノードを返します。

REXML::Node#next_sibling_node の別名です。

[SEE_ALSO] REXML::Child#next_sibling=

next_sibling=(other)[permalink][rdoc][edit]

other を self の次の隣接ノードとします。

つまり、親ノードが持つ子ノード列の self の後ろに other を挿入します。

[PARAM] other:
挿入するノード

require 'rexml/document'

a = REXML::Element.new("a")
b = a.add_element("b")
c = REXML::Element.new("c")
b.next_sibling = c
d = REXML::Element.new("d")
b.previous_sibling = d

p a.to_s # => "<a><d/><b/><c/></a>"
parent -> REXML::Parent|nil[permalink][rdoc][edit]

親ノードを返します。

ルートノードの場合は nil を返します。

[SEE_ALSO] REXML::Child#parent=

parent=(other)[permalink][rdoc][edit]

other を親ノードに設定します。

other が元の親ノードと同じならばこのメソッドは何もしません。 self が親を持たない場合は単純に other を親ノードに設定します。どちらでもない場合は、元の親ノードの子ノード列から self を取り除いてから other を親ノードに設定します。

このメソッドだけでは other の子ノード集合に self は追加されません。つまりこのメソッドを呼び出した直後は不完全な状態であり、親ノード側を適切に設定する必要があります。

[PARAM] other:
新たな親ノード

[SEE_ALSO] REXML::Child#parent

previous_sibling -> REXML::Node[permalink][rdoc][edit]

前の隣接ノードを返します。

REXML::Node#previous_sibling_node の別名です。

[SEE_ALSO] REXML::Child#previous_sibling=

previous_sibling=(other)[permalink][rdoc][edit]

other を self の前の隣接ノードとします。

つまり、親ノードが持つ子ノード列の self の前に other を挿入します。

[PARAM] other:
挿入するノード

require 'rexml/document'

a = REXML::Element.new("a")
b = a.add_element("b")
c = REXML::Element.new("c")
b.next_sibling = c
d = REXML::Element.new("d")
b.previous_sibling = d

p a.to_s # => "<a><d/><b/><c/></a>"
remove -> self[permalink][rdoc][edit]

親ノードの子ノード列から self を取り除きます。

replace_with(child) -> self[permalink][rdoc][edit]

親ノードの子ノード列上において、 self を child に置き換えます。

[PARAM] child:
置き換え後のノード

[SEE_ALSO] REXML::Parent#replace_child