1RPC::XML::ParserFactoryU(s3e)r Contributed Perl DocumentaRtPiCo:n:XML::ParserFactory(3)
2
3
4
6 RPC::XML::ParserFactory - A factory class for RPC::XML::Parser objects
7
9 use RPC::XML::ParserFactory;
10 ...
11 $P = RPC::XML::ParserFactory->new();
12 $P->parse($message);
13
15 The RPC::XML::ParserFactory class encapsulates the process of creating
16 parser objects that adhere to the interface described in
17 RPC::XML::Parser. Under the hood, the parser object created and
18 returned could be from any of a number of implementation classes.
19
21 You can specify a particular underlying parser class to use, if you do
22 not want to allow RPC::XML::Parser to use the default class. This is
23 done with the "class" keyword:
24
25 use RPC::XML::Parser (class => 'XML::Parser');
26
27 The value may be the name for any of the built-in classes, or it may be
28 the name of a class that is a sub-class of this package (and can thus
29 be "manufactured" by the factory). The value is saved and becomes the
30 default class for any calls to new that do not explicitly name a class
31 to use.
32
33 Note that if the specified class is not valid, this is not tested until
34 the first call to new, at which point an invalid class will cause an
35 exception (error) to occur. The constructor will return "undef" and the
36 $RPC::XML::ERROR variable will contain the error message.
37
38 Names of Built-In Parsers
39 The following names are valid when specified as the value of the
40 "class" argument described above:
41
42 XML::Parser
43 xml::parser
44 xmlparser
45 All of these specify the parser implementation based on the
46 XML::Parser module. This is the default parser if the user does not
47 specify any alternative.
48
49 XML::LibXML
50 xml::libxml
51 xmllibxml
52 These specify a parser implementation based on the XML::LibXML
53 module. This is a new parser and not as well-vetted as the
54 previous one, hence it must be explicitly requested.
55
57 The methods are:
58
59 new([ARGS])
60 Create a new instance of the class. Any extra data passed to the
61 constructor is taken as key/value pairs (not a hash reference) and
62 attached to the object.
63
64 This method passes all arguments on to the new() method of the
65 chosen implementation class, except for the following:
66
67 class NAME
68 If the user chooses, they may specify an explicit class to use
69 for parsers when calling new(). If passed, this overrides any
70 value that was given at use-time (processed by import()).
71
73 The constructor returns "undef" upon failure, with the error message
74 available in the global variable $RPC::XML::ERROR.
75
77 Please report any bugs or feature requests to "bug-rpc-xml at
78 rt.cpan.org", or through the web interface at
79 http://rt.cpan.org/NoAuth/ReportBug.html?Queue=RPC-XML
80 <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=RPC-XML>. I will be
81 notified, and then you'll automatically be notified of progress on your
82 bug as I make changes.
83
85 · RT: CPAN's request tracker
86
87 http://rt.cpan.org/NoAuth/Bugs.html?Dist=RPC-XML
88 <http://rt.cpan.org/NoAuth/Bugs.html?Dist=RPC-XML>
89
90 · AnnoCPAN: Annotated CPAN documentation
91
92 http://annocpan.org/dist/RPC-XML <http://annocpan.org/dist/RPC-XML>
93
94 · CPAN Ratings
95
96 http://cpanratings.perl.org/d/RPC-XML
97 <http://cpanratings.perl.org/d/RPC-XML>
98
99 · Search CPAN
100
101 http://search.cpan.org/dist/RPC-XML
102 <http://search.cpan.org/dist/RPC-XML>
103
104 · Source code on GitHub
105
106 http://github.com/rjray/rpc-xml/tree/master
107 <http://github.com/rjray/rpc-xml/tree/master>
108
110 This file and the code within are copyright (c) 2009 by Randy J. Ray.
111
112 Copying and distribution are permitted under the terms of the Artistic
113 License 2.0
114 (http://www.opensource.org/licenses/artistic-license-2.0.php
115 <http://www.opensource.org/licenses/artistic-license-2.0.php>) or the
116 GNU LGPL 2.1 (http://www.opensource.org/licenses/lgpl-2.1.php
117 <http://www.opensource.org/licenses/lgpl-2.1.php>).
118
120 The XML-RPC standard is Copyright (c) 1998-2001, UserLand Software,
121 Inc. See <http://www.xmlrpc.com> for more information about the XML-
122 RPC specification.
123
125 RPC::XML, RPC::XML::Client, RPC::XML::Server, XML::Parser
126
128 Randy J. Ray "<rjray@blackperl.com>"
129
130
131
132perl v5.12.0 2009-09-03 RPC::XML::ParserFactory(3)