NAME
RPC::XML::Parser - A container class for XML::Parser
SYNOPSIS
use RPC::XML::Parser;
...
$P = RPC::XML::Parser->new();
$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 began as a reference implementation in which clarity of process and readability of the code took precedence over general efficiency. It is now being maintained as production code, but may still have parts that could be written more 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. 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>