.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.40) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "RPC::XML::Parser::XMLLibXML 3pm" .TH RPC::XML::Parser::XMLLibXML 3pm "2021-01-10" "perl v5.32.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" RPC::XML::Parser::XMLLibXML \- A container class for XML::LibXML .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& # This class should rarely (if ever) be used directly: \& \& use RPC::XML::ParserFactory \*(AqXML::LibXML\*(Aq; \& ... \& $P = RPC::XML::ParserFactory\->new(); \& $P\->parse($message); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" This class implements the interface defined in the \fBRPC::XML::Parser\fR factory-class (see RPC::XML::Parser) using the \&\fBXML::LibXML\fR module to handle the actual manipulation of \s-1XML.\s0 .SH "SUBROUTINES/METHODS" .IX Header "SUBROUTINES/METHODS" This module implements the public-facing methods as described in RPC::XML::Parser: .IP "new [ \s-1ARGS\s0 ]" 4 .IX Item "new [ ARGS ]" The constructor only recognizes the two parameters specified in the base class (for the \fBRPC::XML::base64\fR file-spooling operations). .IP "parse [ \s-1STRING\s0 | \s-1STREAM\s0 ]" 4 .IX Item "parse [ STRING | STREAM ]" The \fBparse()\fR method accepts either a string of \s-1XML,\s0 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 \&\fBRPC::XML::request\fR or \fBRPC::XML::response\fR) or an error. .IP "parse_more \s-1STRING\s0" 4 .IX Item "parse_more STRING" (Only callable on a push-parser instance) Parses the chunk of \s-1XML,\s0 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. .IP "parse_done" 4 .IX Item "parse_done" (Only callable on a push-parser instance) Finishes the parsing process and returns either a message object (one of \fBRPC::XML::request\fR or \&\fBRPC::XML::response\fR) 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. .SH "DIAGNOSTICS" .IX Header "DIAGNOSTICS" All methods return some type of reference on success. The \fBnew\fR and \fBparse\fR methods return an error string on failure. The \fBparse_more\fR and \fBparse_done\fR methods may throw exceptions, if the underlying \fBXML::LibXML\fR parser encounters a fatal error. .SH "EXTERNAL ENTITIES" .IX Header "EXTERNAL ENTITIES" As of version 1.15 of this module (version 0.75 of the \fB\s-1RPC::XML\s0\fR suite), external entities whose \s-1URI\s0 is a \f(CW\*(C`file:/\*(C'\fR scheme (local file) are explicitly ignored. This is for security purposes. .SH "BUGS" .IX Header "BUGS" Please report any bugs or feature requests to \&\f(CW\*(C`bug\-rpc\-xml at rt.cpan.org\*(C'\fR, or through the web interface at . I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. .SH "SUPPORT" .IX Header "SUPPORT" .IP "\(bu" 4 \&\s-1RT: CPAN\s0's request tracker .Sp .IP "\(bu" 4 AnnoCPAN: Annotated \s-1CPAN\s0 documentation .Sp .IP "\(bu" 4 \&\s-1CPAN\s0 Ratings .Sp .IP "\(bu" 4 Search \s-1CPAN\s0 .Sp .IP "\(bu" 4 MetaCPAN .Sp .IP "\(bu" 4 Source code on GitHub .Sp .SH "LICENSE AND COPYRIGHT" .IX Header "LICENSE AND COPYRIGHT" This file and the code within are copyright (c) 2011 by Randy J. Ray. .PP Copying and distribution are permitted under the terms of the Artistic License 2.0 () or the \s-1GNU LGPL 2.1\s0 (). .SH "CREDITS" .IX Header "CREDITS" The \fBXML-RPC\fR standard is Copyright (c) 1998\-2001, UserLand Software, Inc. See for more information about the \fBXML-RPC\fR specification. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\s-1RPC::XML\s0, RPC::XML::Parser, XML::LibXML .SH "AUTHOR" .IX Header "AUTHOR" Randy J. Ray