1RPC::XML::Parser::XMLLiUbsXeMrL(C3o)ntributed Perl DocumRePnCt:a:tXiMoLn::Parser::XMLLibXML(3)
2
3
4
6 RPC::XML::Parser::XMLLibXML - A container class for XML::LibXML
7
9 # This class should rarely (if ever) be used directly:
10
11 use RPC::XML::ParserFactory 'XML::LibXML';
12 ...
13 $P = RPC::XML::ParserFactory->new();
14 $P->parse($message);
15
17 This class implements the interface defined in the RPC::XML::Parser
18 factory-class (see RPC::XML::Parser) using the XML::LibXML module to
19 handle the actual manipulation of XML.
20
22 This module implements the public-facing methods as described in
23 RPC::XML::Parser:
24
25 new [ ARGS ]
26 The constructor only recognizes the two parameters specified in the
27 base class (for the RPC::XML::base64 file-spooling operations).
28
29 parse [ STRING | STREAM ]
30 The parse() method accepts either a string of XML, a filehandle of
31 some sort, or no argument at all. In the latter case, the return
32 value is a parser instance that acts as a push-parser (a non-
33 blocking parser). For the first two types of input, the return
34 value is either a message object (one of RPC::XML::request or
35 RPC::XML::response) or an error.
36
37 parse_more STRING
38 (Only callable on a push-parser instance) Parses the chunk of XML,
39 which does not have to describe a complete document, and adds it to
40 the current running document. If this method is called on a parser
41 instance that is not a push-parser, an exception is thrown.
42
43 parse_done
44 (Only callable on a push-parser instance) Finishes the parsing
45 process and returns either a message object (one of
46 RPC::XML::request or RPC::XML::response) or an error (if the
47 document was incomplete, not well-formed, or not valid). If this
48 method is called on a parser instance that is not a push-parser, an
49 exception is thrown.
50
52 All methods return some type of reference on success. The new and parse
53 methods return an error string on failure. The parse_more and
54 parse_done methods may throw exceptions, if the underlying XML::LibXML
55 parser encounters a fatal error.
56
58 As of version 1.15 of this module (version 0.75 of the RPC::XML suite),
59 external entities whose URI is a "file:/" scheme (local file) are
60 explicitly ignored. This is for security purposes.
61
63 Please report any bugs or feature requests to "bug-rpc-xml at
64 rt.cpan.org", or through the web interface at
65 <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=RPC-XML>. I will be
66 notified, and then you'll automatically be notified of progress on your
67 bug as I make changes.
68
70 • RT: CPAN's request tracker
71
72 <http://rt.cpan.org/NoAuth/Bugs.html?Dist=RPC-XML>
73
74 • AnnoCPAN: Annotated CPAN documentation
75
76 <http://annocpan.org/dist/RPC-XML>
77
78 • CPAN Ratings
79
80 <http://cpanratings.perl.org/d/RPC-XML>
81
82 • Search CPAN
83
84 <http://search.cpan.org/dist/RPC-XML>
85
86 • MetaCPAN
87
88 <https://metacpan.org/release/RPC-XML>
89
90 • Source code on GitHub
91
92 <http://github.com/rjray/rpc-xml>
93
95 This file and the code within are copyright (c) 2011 by Randy J. Ray.
96
97 Copying and distribution are permitted under the terms of the Artistic
98 License 2.0
99 (<http://www.opensource.org/licenses/artistic-license-2.0.php>) or the
100 GNU LGPL 2.1 (<http://www.opensource.org/licenses/lgpl-2.1.php>).
101
103 The XML-RPC standard is Copyright (c) 1998-2001, UserLand Software,
104 Inc. See <http://www.xmlrpc.com> for more information about the XML-
105 RPC specification.
106
108 RPC::XML, RPC::XML::Parser, XML::LibXML
109
111 Randy J. Ray <rjray@blackperl.com>
112
113
114
115perl v5.38.0 2023-07-21 RPC::XML::Parser::XMLLibXML(3)