RPC::XML::Parser::XMLParser(3)

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

SYNOPSIS
    # This class should rarely (if ever) be used directly:

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

DESCRIPTION
This class implements the interface defined in the RPC::XML::Parser factory-class (see RPC::XML::Parser) using the XML::Parser module to handle the actual manipulation of XML.

SUBROUTINES/METHODS
This module implements the public-facing methods as described in RPC::XML::Parser:

new [ ARGS ]
    The constructor only recognizes the two parameters specified in the base class (for the RPC::XML::base64 file-spooling operations).

parse [ STRING | STREAM ]
    The parse() method accepts either a string of XML, a filehandle of some sort, or no argument at all. In the latter case, the return value is a parser instance that acts as a push-parser (a non-blocking parser). For the first two types of input, the return value is either a message object (one of RPC::XML::request or RPC::XML::response) or an error.

parse_more STRING
    (Only callable on a push-parser instance) Parses the chunk of XML, which does not have to describe a complete document, and adds it to the current running document. If this method is called on a parser instance that is not a push-parser, an exception is thrown.

parse_done
    (Only callable on a push-parser instance) Finishes the parsing process and returns either a message object (one of RPC::XML::request or RPC::XML::response) or an error (if the document was incomplete, not well-formed, or not valid). If this method is called on a parser instance that is not a push-parser, an exception is thrown.

DIAGNOSTICS
All methods return some type of reference on success. The new and parse methods return message strings on errors. The parse_more and parse_done methods may throw exceptions on errors, if the error occurs at the XML::Parser level.

EXTERNAL ENTITIES
As of version 1.24 of this module (version 0.75 of the RPC::XML suite), external entities whose URI is a "file:/" scheme (local file) are explicitly ignored. This is for security purposes.

BUGS
Please report any bugs or feature requests to "bug-rpc-xml at rt.cpan.org", or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=RPC-XML <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=RPC-XML>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

•   RT: CPAN's request tracker

    http://rt.cpan.org/NoAuth/Bugs.html?Dist=RPC-XML <http://rt.cpan.org/NoAuth/Bugs.html?Dist=RPC-XML>

•   AnnoCPAN: Annotated CPAN documentation

    http://annocpan.org/dist/RPC-XML <http://annocpan.org/dist/RPC-XML>

•   CPAN Ratings

    http://cpanratings.perl.org/d/RPC-XML <http://cpanratings.perl.org/d/RPC-XML>

•   Search CPAN

    http://search.cpan.org/dist/RPC-XML <http://search.cpan.org/dist/RPC-XML>

•   MetaCPAN

    https://metacpan.org/release/RPC-XML <https://metacpan.org/release/RPC-XML>

•   Source code on GitHub

    http://github.com/rjray/rpc-xml <http://github.com/rjray/rpc-xml>

LICENSE AND COPYRIGHT
This file and the code within are copyright (c) 2011 by Randy J. Ray.

Copying and distribution are permitted under the terms of the Artistic License 2.0 (http://www.opensource.org/licenses/artistic-license-2.0.php <http://www.opensource.org/licenses/artistic-license-2.0.php>) or the GNU LGPL 2.1 (http://www.opensource.org/licenses/lgpl-2.1.php <http://www.opensource.org/licenses/lgpl-2.1.php>).

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.

SEE ALSO
RPC::XML, RPC::XML::Parser, XML::Parser

AUTHOR
Randy J. Ray <rjray@blackperl.com>