__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
# $Id$
#
# This is free software, you may use it and distribute it under the same terms as
# Perl itself.
#
# Copyright 2001-2003 AxKit.com Ltd., 2002-2006 Christian Glahn, 2006-2009 Petr Pajas
#
#
package XML::LibXML::SAX;
use strict;
use warnings;
use vars qw($VERSION @ISA);
$VERSION = "2.0134"; # VERSION TEMPLATE: DO NOT CHANGE
use XML::LibXML;
use XML::SAX::Base;
use parent qw(XML::SAX::Base);
use Carp;
use IO::File;
sub CLONE_SKIP {
return $XML::LibXML::__threads_shared ? 0 : 1;
}
sub set_feature {
my ($self, $feat, $val) = @_;
if ($feat eq 'http://xmlns.perl.org/sax/join-character-data') {
$self->{JOIN_CHARACTERS} = $val;
return 1;
}
shift(@_);
return $self->SUPER::set_feature(@_);
}
sub _parse_characterstream {
my ( $self, $fh ) = @_;
# this my catch the xml decl, so the parser won't get confused about
# a possibly wrong encoding.
croak( "not implemented yet" );
}
sub _parse_bytestream {
my ( $self, $fh ) = @_;
$self->{ParserOptions}{LibParser} = XML::LibXML->new() unless defined $self->{ParserOptions}{LibParser};
$self->{ParserOptions}{ParseFunc} = \&XML::LibXML::parse_fh;
$self->{ParserOptions}{ParseFuncParam} = $fh;
$self->_parse;
return $self->end_document({});
}
sub _parse_string {
my ( $self, $string ) = @_;
$self->{ParserOptions}{LibParser} = XML::LibXML->new() unless defined $self->{ParserOptions}{LibParser};
$self->{ParserOptions}{ParseFunc} = \&XML::LibXML::parse_string;
$self->{ParserOptions}{ParseFuncParam} = $string;
$self->_parse;
return $self->end_document({});
}
sub _parse_systemid {
my $self = shift;
$self->{ParserOptions}{LibParser} = XML::LibXML->new() unless defined $self->{ParserOptions}{LibParser};
$self->{ParserOptions}{ParseFunc} = \&XML::LibXML::parse_file;
$self->{ParserOptions}{ParseFuncParam} = shift;
$self->_parse;
return $self->end_document({});
}
sub parse_chunk {
my ( $self, $chunk ) = @_;
$self->{ParserOptions}{LibParser} = XML::LibXML->new() unless defined $self->{ParserOptions}{LibParser};
$self->{ParserOptions}{ParseFunc} = \&XML::LibXML::parse_xml_chunk;
$self->{ParserOptions}{LibParser}->{IS_FILTER}=1; # a hack to prevent parse_xml_chunk from issuing end_document
$self->{ParserOptions}{ParseFuncParam} = $chunk;
$self->_parse;
return;
}
sub _parse {
my $self = shift;
my $args = bless $self->{ParserOptions}, ref($self);
if (defined($self->{JOIN_CHARACTERS})) {
$args->{LibParser}->{JOIN_CHARACTERS} = $self->{JOIN_CHARACTERS};
} else {
$args->{LibParser}->{JOIN_CHARACTERS} = 0;
}
$args->{LibParser}->set_handler( $self );
eval {
$args->{ParseFunc}->($args->{LibParser}, $args->{ParseFuncParam});
};
if ( $args->{LibParser}->{SAX}->{State} == 1 ) {
croak( "SAX Exception not implemented, yet; Data ended before document ended\n" );
}
# break a possible circular reference
$args->{LibParser}->set_handler( undef );
if ( $@ ) {
croak $@;
}
return;
}
1;
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| SAX | Folder | 0755 |
|
|
| Attr.pod | File | 4.02 KB | 0644 |
|
| AttributeHash.pm | File | 4.49 KB | 0644 |
|
| Boolean.pm | File | 1.56 KB | 0644 |
|
| CDATASection.pod | File | 1.28 KB | 0644 |
|
| Comment.pod | File | 1.36 KB | 0644 |
|
| Common.pm | File | 8.22 KB | 0644 |
|
| Common.pod | File | 3.59 KB | 0644 |
|
| DOM.pod | File | 6.23 KB | 0644 |
|
| Devel.pm | File | 4.91 KB | 0644 |
|
| Document.pod | File | 20.91 KB | 0644 |
|
| DocumentFragment.pod | File | 819 B | 0644 |
|
| Dtd.pod | File | 1.99 KB | 0644 |
|
| Element.pod | File | 13.48 KB | 0644 |
|
| ErrNo.pm | File | 27.83 KB | 0644 |
|
| ErrNo.pod | File | 591 B | 0644 |
|
| Error.pm | File | 8.47 KB | 0644 |
|
| Error.pod | File | 5.98 KB | 0644 |
|
| InputCallback.pod | File | 9.59 KB | 0644 |
|
| Literal.pm | File | 2.04 KB | 0644 |
|
| Namespace.pod | File | 3.28 KB | 0644 |
|
| Node.pod | File | 25.39 KB | 0644 |
|
| NodeList.pm | File | 7.31 KB | 0644 |
|
| Number.pm | File | 1.87 KB | 0644 |
|
| PI.pod | File | 2.22 KB | 0644 |
|
| Parser.pod | File | 27.54 KB | 0644 |
|
| Pattern.pod | File | 2.91 KB | 0644 |
|
| Reader.pm | File | 5.75 KB | 0644 |
|
| Reader.pod | File | 17.57 KB | 0644 |
|
| RegExp.pod | File | 1.54 KB | 0644 |
|
| RelaxNG.pod | File | 2.08 KB | 0644 |
|
| SAX.pm | File | 3.06 KB | 0644 |
|
| SAX.pod | File | 1.76 KB | 0644 |
|
| Schema.pod | File | 1.96 KB | 0644 |
|
| Text.pod | File | 5.47 KB | 0644 |
|
| XPathContext.pm | File | 3.15 KB | 0644 |
|
| XPathContext.pod | File | 11.49 KB | 0644 |
|
| XPathExpression.pod | File | 1.64 KB | 0644 |
|