From: TAKAHASHI Masayoshi Date: 2001-12-15T13:36:16+09:00 Subject: [ruby-talk:28595] REXMLBuilder: REXML meets XMLParser Hi, We have a fast parser: XMLPaser. And we have a useful XML object class: REXML. So, I wrote REXMLBuilder, REXML document builder using XMLParser. http://www.rubycolor.org/arc/tmp/rexmlbuilder.rb It requires a patch for REXML to create DocType by String. --- doctype.rb.orig Sat Dec 15 11:37:28 2001 +++ doctype.rb Sat Dec 15 11:43:57 2001 @@ -22,19 +22,22 @@ ## # Constructor - # @param parent if given, is set as the parent of this object + # @param parent If first is String, it must be String and set to + # external_id. Otherwise, it is set as the parent of this object. # @param first can be multiple types. If String, name is set to this # and external_id is set to nil. If DocType, the object is cloned. If # Source, the source is scanned for the DOCTYPE declaration. def initialize( first, parent=nil ) - super(parent) if first.kind_of? String + super() @name = first - @external_id = nil + @external_id = parent elsif first.kind_of? DocType + super(parent) @name = first.name @external_id = first.external_id elsif first.kind_of? Source + super(parent) md = first.match( PATTERN_RE, true ) identity = md[1] close = md[2] Regards, TAKAHASHI 'Maki' Masayoshi E-mail: maki@open-news.com