XML::SAX::ExpatXS - Perl SAX 2 XS extension to Expat parser
use XML::SAX::ExpatXS;
$handler = MyHandler->new();
$parser = XML::SAX::ExpatXS->new( Handler => $handler );
$parser->parse_uri($uri);
#or
$parser->parse_string($xml);
XML::SAX::ExpatXS is a direct XS extension to Expat XML parser. It implements
Perl SAX 2.1 interface. See http://perl-xml.sourceforge.net/perl-sax/ for Perl
SAX API description. Any deviations from the Perl SAX 2.1 specification are
considered as bugs.
The parser behavior can be changed by setting features.
$parser->set_feature(FEATURE, VALUE);
XML::SAX::ExpatXS provides these adjustable features:
- "http://xmlns.perl.org/sax/join-character-data"
- Consequent character data are joined (1, default) or not (0).
- "http://xmlns.perl.org/sax/ns-attributes"
- Namespace attributes are reported as common attributes (1, default) or not
(0).
- "http://xmlns.perl.org/sax/xmlns-uris"
- When set on, xmlns and xmlns:* attributes are put into namespaces in a
Perl SAX traditional way; xmlns attributes are in no namespace while
xmlns:* attributes are in the
"http://www.w3.org/2000/xmlns/"
namespace. This feature is set to 1 by default.
- "http://xml.org/sax/features/xmlns-uris"
- This feature applies if and only if the
"http://xmlns.perl.org/sax/xmlns-uris"
feature is off. Then, xmlns and xmlns:* attributes are both put into no
namespace (0, default) or into
"http://www.w3.org/2000/xmlns/"
namespace (1).
- "http://xmlns.perl.org/sax/locator"
- The document locator is updated (1, default) for ContentHadler events or
not (0).
- "http://xmlns.perl.org/sax/recstring"
- A recognized string (the text string currently processed by this XML
parser) is either maintained as
$parser->{ParseOptions}{RecognizedString} (1)
or not (0, default).
- "http://xml.org/sax/features/external-general-entities"
- Controls whether this parser processes external general entities (1,
default) or not (0).
- "http://xml.org/sax/features/external-parameter-entities"
- Controls whether this parser processes external parameter entities
including an external DTD subset (1) or not (0, default).
Apart from features, the behavior of this parser can also be changed with
options to the constructor.
- ParseParamEnt
-
ParseParamEnt => 1
This option meaning is exactly the same as the
"http://xml.org/sax/features/external-parameter-entities"
feature. The option is supported only because of the compatibility with
older versions of this module. Turned off by default.
- NoExpand
-
NoExpand => 1
No internal entities are expanded if this option is turned on.
Turned off by default.
- ExpatVersion
- This property returns a version of linked Expat library, for example
expat_1.95.7.
Petr Cimprich <pcimprich AT gmail DOT com> (maintainer)
Matt Sergeant <matt AT sergeant DOT org>
2002-2004 Matt Sergeant, 2004-2011 Petr Cimprich. All rights reserved.
This program is free software; you can redistribute it and/or modify it under
the same terms as Perl itself.