| Class | XSD::XMLParser::Parser |
| In: |
lib/xsd/xmlparser/parser.rb
|
| Parent: | Object |
| charset | [RW] |
# File lib/xsd/xmlparser/parser.rb, line 36
36: def self.add_factory(factory)
37: if $DEBUG
38: puts "Set #{ factory } as XML processor."
39: end
40: @@parser_factory = factory
41: end
# File lib/xsd/xmlparser/parser.rb, line 32
32: def self.create_parser(host, opt = {})
33: @@parser_factory.new(host, opt)
34: end
# File lib/xsd/xmlparser/parser.rb, line 47
47: def initialize(host, opt = {})
48: @host = host
49: @charset = opt[:charset] || nil
50: end
# File lib/xsd/xmlparser/parser.rb, line 52
52: def parse(string_or_readable)
53: @textbuf = ''
54: prologue
55: do_parse(string_or_readable)
56: epilogue
57: end
# File lib/xsd/xmlparser/parser.rb, line 70
70: def characters(text)
71: @host.characters(text)
72: end
# File lib/xsd/xmlparser/parser.rb, line 61
61: def do_parse(string_or_readable)
62: raise NotImplementError.new(
63: 'Method do_parse must be defined in derived class.')
64: end
# File lib/xsd/xmlparser/parser.rb, line 74
74: def end_element(name)
75: @host.end_element(name)
76: end
# File lib/xsd/xmlparser/parser.rb, line 66
66: def start_element(name, attrs)
67: @host.start_element(name, attrs)
68: end