diff options
Diffstat (limited to 'lib/rexml/node.rb')
-rw-r--r-- | lib/rexml/node.rb | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/lib/rexml/node.rb b/lib/rexml/node.rb new file mode 100644 index 0000000000..41d9eee43b --- /dev/null +++ b/lib/rexml/node.rb @@ -0,0 +1,35 @@ +require "rexml/parseexception" + +module REXML + # Represents a node in the tree. Nodes are never encountered except as + # superclasses of other objects. Nodes have siblings. + module Node + # @return the next sibling (nil if unset) + def next_sibling_node + return nil if @parent.nil? + @parent[ @parent.index(self) + 1 ] + end + + # @return the previous sibling (nil if unset) + def previous_sibling_node + return nil if @parent.nil? + ind = @parent.index(self) + return nil if ind == 0 + @parent[ ind - 1 ] + end + + def to_s indent=-1 + rv = "" + write rv,indent + rv + end + + def indent to, ind + to << " "*ind unless ind<1 + end + + def parent? + false; + end + end +end |