1 diff -ur o-amrita-1.0.2/lib/amrita/xml.rb amrita-1.0.2/lib/amrita/xml.rb
2 --- o-amrita-1.0.2/lib/amrita/xml.rb 2005-04-01 00:58:59.718350000 -0700
3 +++ amrita-1.0.2/lib/amrita/xml.rb 2005-04-01 01:57:46.057114611 -0700
5 require "rexml/streamlistener"
24 include REXML::StreamListener
28 + def initialize(&block)
35 @stack.unshift element
41 def tag_start(name, attrs)
42 - a = attrs.collect do |key, val|
43 + a = attrs.collect { |key, val|
44 Attr.new(key, convert(val))
48 + t = @block.call(e(name, *a))
56 def doctype(name, pub_sys, long_name, uri)
57 - s = SpecialElement.new('!',
58 - %Q[DOCTYPE #{name} #{pub_sys} #{long_name} #{uri}])
59 + s = SpecialElement.new('!', %Q[DOCTYPE #{name} #{pub_sys} #{long_name} #{uri}])
65 def XMLParser.parse_text(text, fname="", lno=0, dummy=nil, &block)
66 - l = Listener.new(&block)
67 + l = Listener.new(&block)
68 REXML::Document.parse_stream(text, l)
72 def XMLParser.parse_file(fname, dummy=nil, &block)
73 - l = Listener.new(&block)
74 - REXML::Document.parse_stream(File.new(fname), l)
75 + l = Listener.new(&block)
77 + REXML::Document.parse_stream(fh, l)