.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
.\"
.\" 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" ''
'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 turned on, 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.
.ie \nF \{\
.    de IX
.    tm Index:\\$1\t\\n%\t"\\$2"
..
.    nr % 0
.    rr F
.\}
.el \{\
.    de IX
..
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
.    \" fudge factors for nroff and troff
.if n \{\
.    ds #H 0
.    ds #V .8m
.    ds #F .3m
.    ds #[ \f1
.    ds #] \fP
.\}
.if t \{\
.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
.    ds #V .6m
.    ds #F 0
.    ds #[ \&
.    ds #] \&
.\}
.    \" simple accents for nroff and troff
.if n \{\
.    ds ' \&
.    ds ` \&
.    ds ^ \&
.    ds , \&
.    ds ~ ~
.    ds /
.\}
.if t \{\
.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
.    \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
.    \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
.    \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
.    ds : e
.    ds 8 ss
.    ds o a
.    ds d- d\h'-1'\(ga
.    ds D- D\h'-1'\(hy
.    ds th \o'bp'
.    ds Th \o'LP'
.    ds ae ae
.    ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "RPC::XML::Parser::XMLParser 3pm"
.TH RPC::XML::Parser::XMLParser 3pm "2011-07-23" "perl v5.14.2" "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::XMLParser \- A container class for XML::Parser
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 1
\&    # This class should rarely (if ever) be used directly:
\&
\&    use RPC::XML::ParserFactory \*(AqXML::Parser\*(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::Parser\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 \fIparse()\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 message strings on errors. The \fBparse_more\fR and \fBparse_done\fR
methods may throw exceptions on errors, if the error occurs at the
\&\fBXML::Parser\fR level.
.SH "EXTERNAL ENTITIES"
.IX Header "EXTERNAL ENTITIES"
As of version 1.24 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
http://rt.cpan.org/NoAuth/ReportBug.html?Queue=RPC\-XML <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.
.SH "SUPPORT"
.IX Header "SUPPORT"
.IP "\(bu" 4
\&\s-1RT:\s0 \s-1CPAN\s0's request tracker
.Sp
http://rt.cpan.org/NoAuth/Bugs.html?Dist=RPC\-XML <http://rt.cpan.org/NoAuth/Bugs.html?Dist=RPC-XML>
.IP "\(bu" 4
AnnoCPAN: Annotated \s-1CPAN\s0 documentation
.Sp
http://annocpan.org/dist/RPC\-XML <http://annocpan.org/dist/RPC-XML>
.IP "\(bu" 4
\&\s-1CPAN\s0 Ratings
.Sp
http://cpanratings.perl.org/d/RPC\-XML <http://cpanratings.perl.org/d/RPC-XML>
.IP "\(bu" 4
Search \s-1CPAN\s0
.Sp
http://search.cpan.org/dist/RPC\-XML <http://search.cpan.org/dist/RPC-XML>
.IP "\(bu" 4
MetaCPAN
.Sp
https://metacpan.org/release/RPC\-XML <https://metacpan.org/release/RPC-XML>
.IP "\(bu" 4
Source code on GitHub
.Sp
http://github.com/rjray/rpc\-xml <http://github.com/rjray/rpc-xml>
.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 (http://www.opensource.org/licenses/artistic\-license\-2.0.php <http://www.opensource.org/licenses/artistic-license-2.0.php>) or
the \s-1GNU\s0 \s-1LGPL\s0 2.1 (http://www.opensource.org/licenses/lgpl\-2.1.php <http://www.opensource.org/licenses/lgpl-2.1.php>).
.SH "CREDITS"
.IX Header "CREDITS"
The \fBXML-RPC\fR standard is Copyright (c) 1998\-2001, UserLand Software, Inc.
See <http://www.xmlrpc.com> for more information about the \fBXML-RPC\fR
specification.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
\&\s-1RPC::XML\s0, RPC::XML::Parser,
XML::Parser
.SH "AUTHOR"
.IX Header "AUTHOR"
Randy J. Ray <rjray@blackperl.com>
