1XML::SAX::ExpatXS(3) User Contributed Perl Documentation XML::SAX::ExpatXS(3)
2
3
4
6 XML::SAX::ExpatXS - Perl SAX 2 XS extension to Expat parser
7
9 use XML::SAX::ExpatXS;
10
11 $handler = MyHandler->new();
12 $parser = XML::SAX::ExpatXS->new( Handler => $handler );
13 $parser->parse_uri($uri);
14 #or
15 $parser->parse_string($xml);
16
18 XML::SAX::ExpatXS is a direct XS extension to Expat XML parser. It
19 implements Perl SAX 2.1 interface. See
20 http://perl-xml.sourceforge.net/perl-sax/ for Perl SAX API description.
21 Any deviations from the Perl SAX 2.1 specification are considered as
22 bugs.
23
24 Features
25 The parser behavior can be changed by setting features.
26
27 $parser->set_feature(FEATURE, VALUE);
28
29 XML::SAX::ExpatXS provides these adjustable features:
30
31 "http://xmlns.perl.org/sax/join-character-data"
32 Consequent character data are joined (1, default) or not (0).
33
34 "http://xmlns.perl.org/sax/ns-attributes"
35 Namespace attributes are reported as common attributes (1, default)
36 or not (0).
37
38 "http://xmlns.perl.org/sax/xmlns-uris"
39 When set on, xmlns and xmlns:* attributes are put into namespaces
40 in a Perl SAX traditional way; xmlns attributes are in no namespace
41 while xmlns:* attributes are in the "http://www.w3.org/2000/xmlns/"
42 namespace. This feature is set to 1 by default.
43
44 "http://xml.org/sax/features/xmlns-uris"
45 This feature applies if and only if the
46 "http://xmlns.perl.org/sax/xmlns-uris" feature is off. Then, xmlns
47 and xmlns:* attributes are both put into no namespace (0, default)
48 or into "http://www.w3.org/2000/xmlns/" namespace (1).
49
50 "http://xmlns.perl.org/sax/locator"
51 The document locator is updated (1, default) for ContentHadler
52 events or not (0).
53
54 "http://xmlns.perl.org/sax/recstring"
55 A recognized string (the text string currently processed by this
56 XML parser) is either maintained as
57 $parser->{ParseOptions}{RecognizedString} (1) or not (0, default).
58
59 "http://xml.org/sax/features/external-general-entities"
60 Controls whether this parser processes external general entities
61 (1, default) or not (0).
62
63 "http://xml.org/sax/features/external-parameter-entities"
64 Controls whether this parser processes external parameter entities
65 including an external DTD subset (1) or not (0, default).
66
67 Constructor Options
68 Apart from features, the behavior of this parser can also be changed
69 with options to the constructor.
70
71 ParseParamEnt
72 ParseParamEnt => 1
73
74 This option meaning is exactly the same as the
75 "http://xml.org/sax/features/external-parameter-entities" feature.
76 The option is supported only because of the compatibility with
77 older versions of this module. Turned off by default.
78
79 NoExpand
80 NoExpand => 1
81
82 No internal entities are expanded if this option is turned on.
83 Turned off by default.
84
85 Read-only Properties
86 ExpatVersion
87 This property returns a version of linked Expat library, for
88 example expat_1.95.7.
89
91 Petr Cimprich <pcimprich AT gmail DOT com> (maintainer)
92 Matt Sergeant <matt AT sergeant DOT org>
93
95 2002-2004 Matt Sergeant, 2004-2011 Petr Cimprich. All rights reserved.
96
98 This program is free software; you can redistribute it and/or modify it
99 under the same terms as Perl itself.
100
101
102
103perl v5.32.1 2021-01-27 XML::SAX::ExpatXS(3)