From: Daniel Harple Date: 2005-12-24T03:44:53+09:00 Subject: REXML -- Parsing doctypes (and some some bugs) (1) How does one parse a doctype in REXML? Hack solution -- #+++++++ require 'rexml/document' data =< baz EOF p REXML::Document.new(data).doctype.instance_variable_get ("@long_name")[1..-2] # => "foo.dtd" #+++++++ There must be a simple solution I am missing, what is it? (2) In rexml/dtd/elementdecl, PATTERN_RE is defined twice, issuing a warning (see http://www.ruby-doc.org/stdlib/libdoc/rexml/rdoc/classes/ REXML/DTD/ElementDecl.html) (3) #+++++++ require 'rexml/dtd/dtd' data =< EOF p REXML::DTD::Parser.parse(data) # => /opt/local/lib/ruby/1.8/rexml/dtd/elementdecl.rb:8: warning: already initialized constant PATTERN_RE # => /opt/local/lib/ruby/1.8/rexml/dtd/dtd.rb:25:in `parse_helper': undefined method `PATTERN_RE' for REXML::DTD::ElementDecl:Class (NoMethodError) # => from /opt/local/lib/ruby/1.8/rexml/dtd/dtd.rb:14:in `parse' #+++++++ -- Daniel