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::ParserFactory - A factory class for RPC::XML::Parser objects

Author

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

perl v5.32.0                                       2021-01-10                       RPC::XML::ParserFactory(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

       The RPC::XML::ParserFactory class encapsulates the process of creating parser objects that adhere to the
       interface described in RPC::XML::Parser.  Under the hood, the parser object created and returned could be
       from any of a number of implementation classes.

Diagnostics

       The  constructor  returns  "undef"  upon failure, with the error message available in the global variable
       $RPC::XML::ERROR.

Import-Time Arguments

       You can specify a particular underlying parser class to use, if you do not want RPC::XML::ParserFactory
       to use the default class. This is done with the "class" keyword:

           use RPC::XML::ParserFactory (class => 'XML::Parser');

       The value may be the name for any of the built-in classes, or it may be the name of a class that inherits
       from RPC::XML::Parser (and can thus be "manufactured" by the factory). The value is saved and becomes the
       default class for any calls to new that do not explicitly name a class to use.

       Note that if the specified class is not valid, this is not tested until the first call to new, at which
       point an invalid class will cause an exception (error) to occur. The constructor will return "undef" and
       the $RPC::XML::ERROR variable will contain the error message.

   NamesofBuilt-InParsers
       The following names are valid when specified as the value of the "class" argument described above:

       XML::Parser
       xml::parser
       xmlparser
           All  of  these specify the parser implementation based on the XML::Parser module. This is the default
           parser if the user does not specify any alternative.

       XML::LibXML
       xml::libxml
       xmllibxml
           These specify a parser implementation based on the XML::LibXML module.  This is a new parser and  not
           as well-vetted as the previous one, hence it must be explicitly requested.

Name

       RPC::XML::ParserFactory - A factory class for RPC::XML::Parser objects

See Also

       RPC::XML, RPC::XML::Client, RPC::XML::Server, XML::Parser

Subroutines/Methods

       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.

           This method passes all arguments on to the new() method of the chosen  implementation  class,  except
           for the following:

           class NAME
               If the user chooses, they may specify an explicit class to use for parsers when calling new(). If
               passed, this overrides any value that was given at use-time (processed by import()).

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

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

See Also