class XSD::XMLParser::LibXMLParser
Constants
- ENTITY_REF_MAP
Public Instance Methods
do_parse(string_or_readable)
click to toggle source
# File lib/xsd/xmlparser/libxmlparser.rb, line 27 def do_parse(string_or_readable) $stderr.puts "XSD::XMLParser::LibXMLParser.do_parse" if $DEBUG # string = string_or_readable.respond_to?(:read) ? string_or_readable.read : string_or_readable @charset = 'utf-8' string = StringIO.new(string_or_readable) parser = LibXML::XML::SaxParser.io(string) parser.callbacks = self parser.parse end
on_cdata_block(cdata)
click to toggle source
# File lib/xsd/xmlparser/libxmlparser.rb, line 123 def on_cdata_block(cdata) characters(cdata) end
on_characters(chars)
click to toggle source
# File lib/xsd/xmlparser/libxmlparser.rb, line 99 def on_characters(chars) characters(chars) end
on_end_element(name)
click to toggle source
# File lib/xsd/xmlparser/libxmlparser.rb, line 91 def on_end_element(name) # end_element(name) end
on_end_element_ns(name, prefix, uri)
click to toggle source
# File lib/xsd/xmlparser/libxmlparser.rb, line 79 def on_end_element_ns (name, prefix, uri) if prefix.nil? end_element(name) else end_element("#{prefix}:#{name}") end end
on_external_subset(name, external_id, system_id)
click to toggle source
# File lib/xsd/xmlparser/libxmlparser.rb, line 127 def on_external_subset(name, external_id, system_id) nil end
on_parser_error(msg)
click to toggle source
# File lib/xsd/xmlparser/libxmlparser.rb, line 115 def on_parser_error(msg) raise ParseError.new(msg) end
on_parser_fatal_error(msg)
click to toggle source
# File lib/xsd/xmlparser/libxmlparser.rb, line 119 def on_parser_fatal_error(msg) raise ParseError.new(msg) end
on_parser_warning(msg)
click to toggle source
def on_comment(msg)
nil
end
# File lib/xsd/xmlparser/libxmlparser.rb, line 111 def on_parser_warning(msg) warn(msg) end
on_reference(name)
click to toggle source
# File lib/xsd/xmlparser/libxmlparser.rb, line 95 def on_reference(name) characters(ENTITY_REF_MAP[name]) end
on_start_element(name, attr_hash)
click to toggle source
# File lib/xsd/xmlparser/libxmlparser.rb, line 87 def on_start_element (name, attr_hash) # start_element(name, attr_hash) end
on_start_element_ns(name, attr_hash, prefix, uri, namespaces)
click to toggle source
def on_end_document()
nil
end
# File lib/xsd/xmlparser/libxmlparser.rb, line 70 def on_start_element_ns (name, attr_hash, prefix, uri, namespaces) prefixed_ns = attr_hash.merge(Hash[namespaces.map{|k,v| ["xmlns:#{k}",v]}]) if prefix.nil? start_element(name, prefixed_ns) else start_element("#{prefix}:#{name}", prefixed_ns) end end