logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Author

       Randy J. Ray <rjray@blackperl.com>

perl v5.32.0                                       2021-01-10                   RPC::XML::Parser::XMLParser(3pm)

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>.  I  will  be  notified,  and  then  you'll
       automatically be notified of progress on your bug as I make changes.

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.

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.

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.

Name

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

See Also

       RPC::XML, RPC::XML::Parser, XML::Parser

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.

Support

       •   RT: CPAN's request tracker

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

       •   AnnoCPAN: Annotated CPAN documentation

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

       •   CPAN Ratings

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

       •   Search CPAN

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

       •   MetaCPAN

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

       •   Source code on GitHub

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

Synopsis

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

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

See Also