RPC::XML::Parser::XMLParser - A container class for XML::Parser
# This class should rarely (if ever) be used directly:
use RPC::XML::ParserFactory 'XML::Parser';
...
$P = RPC::XML::ParserFactory->new();
$P->parse($message);
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.
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.
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.
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.
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. I will be
notified, and then you'll automatically be notified of progress on
your bug as I make changes.
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) or
the GNU LGPL 2.1 (http://www.opensource.org/licenses/lgpl-2.1.php).
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.
RPC::XML, RPC::XML::Parser,
XML::Parser
Randy J. Ray <rjray@blackperl.com>
|