佐野 拓 > RPC-XML-Parser-XS-0.04 > RPC::XML::Parser::XS

Download:
RPC-XML-Parser-XS-0.04.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.04   Source  

NAME ^

RPC::XML::Parser::XS - Fast XML-RPC parser written in C

SYNOPSIS ^

  use RPC::XML::Parser::XS;

  my $req = parse_rpc_xml(qq{
    <methodCall>
      <methodName>foo.bar</methodName>
      <params>
        <param><value><string>Hello, world!</string></value></param>
      </params>
    </methodCall>
  });
  # $req is a RPC::XML::request
  
  my $res = parse_rpc_xml(qq{
    <methodResponse>
      <fault>
        <value>
          <struct>
            <member>
              <name>faultCode</name>
              <value><int>-1</int></value>
            </member>
            <member>
              <name>faultString</name>
              <value><string>No such method: foo.bar</string></value>
            </member>
          </struct>
        </value>
      </fault>
    </methodResponse>
  });
  # $res is a RPC::XML::response

DESCRIPTION ^

This module provides a single function "parse_rpc_xml" to parse XML-RPC request and response.

parse_rpc_xml
  my $obj = parse_rpc_xml($xml);

Parse an XML-RPC methodCall or methodResponse. Resulting object is a RPC::XML::request or RPC::XML::response depending on the XML.

Note that UTF-8 flags aren't turned on in strings in the result structure. This behavior is different from RPC::XML::Parser.

EXPORT

"parse_rpc_xml" is exported by default. If you don't want it to be exported, just say like this:

 use RPC::XML::Parser::XS ();

PERFORMANCE ^

When I compared the performance of RPC::XML::Parser and RPC::XML::Parser::XS, the latter was nearly 20 times faster than the former. If you have any suspicion in this, please benchmark it yourself.

DEPENDENCY ^

Libxml2

This is not a perl module. We don't use XML::LibXML. See http://xmlsoft.org/.

IPC::Run
MIME::Base64
RPC::XML
Test::Exception
Test::More

SEE ALSO ^

RPC::XML::Parser

COPYRIGHT AND LICENSE ^

Copyright (C) 2007 YMIRLINK Inc.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself

syntax highlighting: