Project

General

Profile

Feature #9379 ยป libxml-as-xmlrpc-parser.diff

herwinw (Herwin Quarantainenet), 01/08/2014 12:32 AM

View differences:

lib/xmlrpc/config.rb (working copy)
# * XMLParser::XMLStreamParser (fastest)
# * XMLParser::REXMLStreamParser
# * XMLParser::XMLScanStreamParser
# * XMLParser::LibXMLStreamParser
DEFAULT_PARSER = XMLParser::REXMLStreamParser
# enable <code><nil/></code> tag
lib/xmlrpc/parser.rb (working copy)
end
end
class LibXMLStreamParser < AbstractStreamParser
def initialize
require 'libxml'
@parser_class = LibXMLStreamListener
end
class LibXMLStreamListener
include StreamParserMixin
def on_start_element_ns(name, attributes, prefix, uri, namespaces)
startElement(name)
end
def on_end_element_ns(name, prefix, uri)
endElement(name)
end
alias :on_characters :character
alias :on_cdata_block :character
def method_missing(*a)
end
def parse(str)
parser = LibXML::XML::SaxParser.string(str)
parser.callbacks = self
parser.parse()
end
end
end
XMLParser = XMLTreeParser
NQXMLParser = NQXMLTreeParser
Classes = [XMLStreamParser, XMLTreeParser,
NQXMLStreamParser, NQXMLTreeParser,
REXMLStreamParser, XMLScanStreamParser]
REXMLStreamParser, XMLScanStreamParser,
LibXMLStreamParser]
# yields an instance of each installed parser
def self.each_installed_parser
    (1-1/1)