logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

XML::SAX::ExpatXS - Perl SAX 2 XS extension to Expat parser

Authors

        Petr Cimprich <pcimprich AT gmail DOT com> (maintainer)
        Matt Sergeant <matt AT sergeant DOT org>

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).

   ConstructorOptions
       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-onlyProperties
       ExpatVersion
           This property returns a version of linked Expat library, for example expat_1.95.7.

License

       This  program  is  free  software;  you can redistribute it and/or modify it under the same terms as Perl
       itself.

perl v5.40.0                                       2024-10-20                             XML::SAX::ExpatXS(3pm)

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);

See Also