| Class | XSD::XMLParser::XMLParser |
| In: |
lib/xsd/xmlparser/xmlparser.rb
|
| Parent: | XSD::XMLParser::Parser |
# File lib/xsd/xmlparser/xmlparser.rb, line 27
27: def do_parse(string_or_readable)
28: # XMLParser passes a String in utf-8.
29: @charset = 'utf-8'
30: @parser = Listener.new
31: @parser.parse(string_or_readable) do |type, name, data|
32: case type
33: when XML::Parser::START_ELEM
34: start_element(name, data)
35: when XML::Parser::END_ELEM
36: end_element(name)
37: when XML::Parser::CDATA
38: characters(data)
39: else
40: raise FormatDecodeError.new("Unexpected XML: #{ type }/#{ name }/#{ data }.")
41: end
42: end
43: end