Can't subclass XML::Document?


#1

I’m working with libxml and I can’t seem to define a subclass of
XML::Document. For example,

require ‘libxml’

class SubDocument < XML::Document
def initialize(name)
super
@sub_name = name
end

def sub_method
puts “the method”
end
end

s = SubDocument.new(‘test’)
=> <?xml version="test"?>

s.respond_to? ‘sub_method’
=> false

s.class
=> XML::Document

As you can see from the above, it’s as if I’m aliasing XML::Document,
rather than subclassing it. I have also tried including XML and then
defining the subclass as well as opening the XML module and then
defining the subclass – same results in both cases. I’ve never come
across this before. Is there a way to fix this or should I just write
my class to contain an XML::Document?

Thanks,
Jeremy


#2

Hi,

In message “Re: can’t subclass XML::Document?”
on Thu, 19 Apr 2007 22:55:08 +0900, “removed_email_address@domain.invalid”
removed_email_address@domain.invalid writes:

|I’m working with libxml and I can’t seem to define a subclass of
|XML::Document.

Probably, some extensions define their own “new” class method instead
of the “initialize” method.

          matz.