Project

General

Profile

Actions

Feature #9379

closed

Support for using libxml-ruby as XML parser in xmlrpc-libs

Added by herwinw (Herwin Quarantainenet) over 10 years ago. Updated over 9 years ago.

Status:
Closed
Target version:
-
[ruby-core:59633]

Description

The default backend in the XMLRPC parser is REXML. This should work at most occasions, but it definitely isn't the fastest implementation. The attached patch allows a backend using libxml-ruby http://xml4r.github.io/libxml-ruby/ which should be more efficient. It successfully passes the unit tests available in the file test/xmlrpc/test_parser.rb

The default isn't changed in this patch, so when libxml-ruby isn't available nothing is changed. Even if it's available, you still have to change the parsing backend before it is used.


Files

libxml-as-xmlrpc-parser.diff (1.79 KB) libxml-as-xmlrpc-parser.diff herwinw (Herwin Quarantainenet), 01/08/2014 12:32 AM

Updated by trans (Thomas Sawyer) about 10 years ago

This seems like a very reasonable idea. (Maybe it would even be possible to add support for Nokogiri too?) One thing though, is there a way to not load REXML at all if it is not needed?

Updated by herwinw (Herwin Quarantainenet) about 10 years ago

I guess support for Nokogiri will be possible as well, I just needed something more efficient than REXML and libXML was the first thing I tried, and it just worked.

Regarding your second point: that really needs some restructuring of loading the backends, I think that is a little bit outside the scope of this ticket.

Updated by hsbt (Hiroshi SHIBATA) over 9 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

Applied in changeset r47902.


  • lib/xmlrpc/parser.rb: added new parser class using libxml-ruby gem.
    [Feature #9379][ruby-core:59633]
  • lib/xmlrpc/config.rb: ditto.

Updated by zzak (zzak _) over 9 years ago

  • Status changed from Closed to Assigned
  • Assignee set to hsbt (Hiroshi SHIBATA)

Needs tests

Updated by hsbt (Hiroshi SHIBATA) over 9 years ago

  • Status changed from Assigned to Closed

all StreamParser have no tests.

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0