aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rexml/node.rb
diff options
context:
space:
mode:
authorser <ser@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-06-10 01:31:01 +0000
committerser <ser@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-06-10 01:31:01 +0000
commitea7a527a2ae7024a5cf2885dee8f7a5c21fedd5d (patch)
treed3e1f95a5acf262a9dd46e9663b7034bb285b406 /lib/rexml/node.rb
parentca02190d8887ecd852e4e3f18f3a3ea91e9c6f7a (diff)
downloadruby-ea7a527a2ae7024a5cf2885dee8f7a5c21fedd5d.tar.gz
Initial revision
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rexml/node.rb')
-rw-r--r--lib/rexml/node.rb35
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