The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

RPC::XML::Parser - A container class for XML::Parser

SYNOPSIS

    use RPC::XML::Parser;
    ...
    $P = new RPC::XML::Parser;
    $P->parse($message);

DESCRIPTION

The RPC::XML::Parser class encapsulates the parsing process, for turning a string or an input stream into a RPC::XML::request or RPC::XML::response object. The XML::Parser class is used internally, with a new instance created for each call to parse (detailed below). This allows the RPC::XML::Parser object to be reusable, even though the XML::Parser objects are not. The methods are:

new

Create a new instance of the class. Any extra data passed to the constructor is taken as key/value pairs (not a hash reference) and attached to the object.

parse { STRING | STREAM }

Parse the XML document specified in either a string or a stream. The stream may be any file descriptor, derivative of IO::Handle, etc. The return value is either an object reference (to one of RPC::XML::request or RPC::XML::response) or an error string. Any non-reference return value should be treated as an error condition.

DIAGNOSTICS

The constructor returns undef upon failure, with the error message available in the global variable $RPC::XML::ERROR.

CAVEATS

This is part of a reference implementation in which clarity of process and readability of the code take precedence over general efficiency. Much, if not all, of this can be written more compactly and/or efficiently.

CREDITS

The XML-RPC standard is Copyright (c) 1998-2001, UserLand Software, Inc. See <http://www.xmlrpc.com> for more information about the XML-RPC specification.

LICENSE

This module is licensed under the terms of the Artistic License that covers Perl itself. See <http://language.perl.com/misc/Artistic.html> for the license itself.

SEE ALSO

RPC::XML, RPC::XML::Client, RPC::XML::Server, XML::Parser

AUTHOR

Randy J. Ray <rjray@blackperl.com>