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>