RPC::XML::Parser(3pm) User Contributed Perl Documentation RPC::XML::Parser(3pm)
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([ARGS])
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.
The following parameters are currently recognized:
base64_to_fh
If passed with a true value, this tells the parser that incoming Base64 data
is to be spooled to a filehandle opened onto an anonymous temporary file. The
file itself is unlinked after opening, though the resulting RPC::XML::base64
object can use its "to_file" method to save the data to a specific file at a
later point. No checks on size are made; if this option is set, all Base64
data goes to filehandles.
base64_temp_dir
If this argument is passed, the value is taken as the directory under which
the temporary files are created. This is so that the application is not locked
in to the list of directories that File::Spec defaults to with its "tmpdir"
method. If this is not passed, the previously-mentioned method is used to
derive the directory in which to create the temporary files. Only relevant if
base64_to_fh is set.
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.
If no argument is given, then the "parse_start" method of XML::Parser is used to
create a XML::Parser::ExpatNB object, which is returned. This object may then be used
to parse the data in chunks, rather than a steady stream. See the XML::Parser manual
page for more details on how this works.
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 and the code within are released under the terms of the Artistic License 2.0
(http://www.opensource.org/licenses/artistic-license-2.0.php). This code may be
redistributed under either the Artistic License or the GNU Lesser General Public License
(LGPL) version 2.1 (http://www.opensource.org/licenses/lgpl-license.php).
SEE ALSO
RPC::XML, RPC::XML::Client, RPC::XML::Server, XML::Parser
AUTHOR
Randy J. Ray <rjray AT blackperl.com>
perl v5.10.0 2008-04-09 RPC::XML::Parser(3pm)
Generated by $Id: phpMan.php,v 4.49 2006/02/26 13:18:18 chedong Exp $ Author: Che Dong
On Apache
Under GNU General Public License
2012-05-25 02:12 @38.107.179.240 Crawled by CCBot/1.0 (+http://www.commoncrawl.org/bot.html)