REXML inheritance confusion (simple q?)

So I created my own subclass of REXML::Document. Like this:

#begin example
class MyDoc < REXML::Document
def initialize ()
@tree = super("")
puts @tree.class
@name = tree.root.add_element(“test”)
end
#end example

The above results in “undefined method `root’ for nil:NilClass
(NoMethodError)”

Also trying ‘super.new("")’ doesnt work.

I can get it working by writing @tree =
REXML::Document(""), but then my nice class will only be a
container, not a subclass.

How can I actually get it working? Ie. get my very own subclass of
REXML::Document with my very own initialize.

Yes, its a foggy day and inheritance seems to escape me…

Csmr

Casimir wrote:

So I created my own subclass of REXML::Document. Like this:

#begin example
class MyDoc < REXML::Document
def initialize ()
@tree = super("")
puts @tree.class
@name = tree.root.add_element(“test”)
end
#end example

The above results in “undefined method `root’ for nil:NilClass
(NoMethodError)”

Also trying ‘super.new("")’ doesnt work.

I can get it working by writing @tree =
REXML::Document(""), but then my nice class will only be a
container, not a subclass.

How can I actually get it working? Ie. get my very own subclass of
REXML::Document with my very own initialize.

Yes, its a foggy day and inheritance seems to escape me…

Csmr
try this:

-----BEGIN PROGRAM-----
require ‘rexml/document’

xml =<<END_DOC

END_DOC

class MyDoc < REXML::Document
def initialize (fnm)
super(fnm)
puts “from initialize: #{self.class}”
@name = self.root.add_element(“test”)
end
end

m_doc = MyDoc.new(xml)
puts m_doc.root
-----END PROGRAM-----