Manpage logo

RPC::XML::Parser::XMLLibXML - A container class for XML::LibXML

NAME  SYNOPSIS  DESCRIPTION  SUBROUTINES/METHODS  DIAGNOSTICS  EXTERNAL ENTITIES  BUGS  SUPPORT  LICENSE AND COPYRIGHT  CREDITS  SEE ALSO  AUTHOR 

NAME

RPC::XML::Parser::XMLLibXML − A container class for XML::LibXML

SYNOPSIS

# This class should rarely (if ever) be used directly:
use RPC::XML::ParserFactory 'XML::LibXML';
...
$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::LibXML 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 an error string on failure. The parse_more and parse_done methods may throw exceptions, if the underlying XML::LibXML parser encounters a fatal error.

EXTERNAL ENTITIES

As of version 1.15 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>. 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>

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>

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>) or the GNU LGPL 2.1 (<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::LibXML

AUTHOR

Randy J. Ray <[email protected]>


Updated 2026-06-01 - jenkler.se | uex.se