NAME¶
XML::SAX::ExpatXS - Perl SAX 2 XS extension to Expat parser
SYNOPSIS¶
use XML::SAX::ExpatXS;
$handler = MyHandler->new();
$parser = XML::SAX::ExpatXS->new( Handler => $handler );
$parser->parse_uri($uri);
#or
$parser->parse_string($xml);
DESCRIPTION¶
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.
Features¶
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).
Constructor Options¶
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.
Read-only Properties¶
- ExpatVersion
- This property returns a version of linked Expat library,
for example expat_1.95.7.
AUTHORS¶
Petr Cimprich <petr AT gingerall DOT org> (maintainer)
Matt Sergeant <matt AT sergeant DOT org>