SILENT KILLERPanel

Current Path: > > usr > local > lib64 > perl5 > XML > LibXML >


Operation   : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: //usr/local/lib64/perl5/XML/LibXML/

NameTypeSizeLast ModifiedActions
SAX Directory - -
Attr.pod File 4121 bytes January 24 2024 15:13:41.
AttributeHash.pm File 4593 bytes January 24 2024 15:03:50.
Boolean.pm File 1601 bytes January 24 2024 15:03:50.
CDATASection.pod File 1315 bytes January 24 2024 15:13:41.
Comment.pod File 1396 bytes January 24 2024 15:13:41.
Common.pm File 8399 bytes January 24 2024 15:03:50.
Common.pod File 3672 bytes January 24 2024 15:13:41.
DOM.pod File 6379 bytes January 24 2024 15:13:41.
Devel.pm File 5028 bytes January 24 2024 15:03:50.
Document.pod File 21593 bytes January 24 2024 15:13:41.
DocumentFragment.pod File 819 bytes January 24 2024 15:13:41.
Dtd.pod File 2039 bytes January 24 2024 15:13:41.
Element.pod File 13806 bytes January 24 2024 15:13:41.
ErrNo.pm File 28499 bytes January 24 2024 15:03:50.
ErrNo.pod File 591 bytes January 24 2024 15:13:41.
Error.pm File 8653 bytes January 24 2024 15:03:50.
Error.pod File 6121 bytes January 24 2024 15:13:41.
InputCallback.pod File 9822 bytes January 24 2024 15:13:41.
Literal.pm File 2094 bytes January 24 2024 15:03:50.
Namespace.pod File 3362 bytes January 24 2024 15:13:41.
Node.pod File 26282 bytes January 24 2024 15:13:41.
NodeList.pm File 7489 bytes January 24 2024 15:03:50.
Number.pm File 1916 bytes January 24 2024 15:03:50.
PI.pod File 2271 bytes January 24 2024 15:13:41.
Parser.pod File 28453 bytes January 24 2024 15:13:41.
Pattern.pod File 2975 bytes January 24 2024 15:13:41.
Reader.pm File 5887 bytes January 24 2024 15:03:50.
Reader.pod File 18023 bytes January 24 2024 15:13:41.
RegExp.pod File 1574 bytes January 24 2024 15:13:41.
RelaxNG.pod File 2398 bytes January 24 2024 15:13:41.
SAX.pm File 3532 bytes January 24 2024 15:03:50.
SAX.pod File 1804 bytes January 24 2024 15:13:41.
Schema.pod File 2247 bytes January 24 2024 15:13:41.
Text.pod File 5601 bytes January 24 2024 15:13:41.
XPathContext.pm File 3223 bytes January 24 2024 15:03:50.
XPathContext.pod File 11767 bytes January 24 2024 15:13:41.
XPathExpression.pod File 1678 bytes January 24 2024 15:13:41.

Reading File: //usr/local/lib64/perl5/XML/LibXML//SAX.pm

# $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.0210"; # 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" );
}

# See:
# https://rt.cpan.org/Public/Bug/Display.html?id=132759
sub _calc_new_XML_LibXML_parser_for_compatibility_with_XML_Simple_etc
{
    return XML::LibXML->new( expand_entities => 1, );
}

sub _parse_bytestream {
    my ( $self, $fh ) = @_;
    $self->{ParserOptions}{LibParser}      = $self->_calc_new_XML_LibXML_parser_for_compatibility_with_XML_Simple_etc() 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}      = $self->_calc_new_XML_LibXML_parser_for_compatibility_with_XML_Simple_etc() 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}      = $self->_calc_new_XML_LibXML_parser_for_compatibility_with_XML_Simple_etc() 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}      = $self->_calc_new_XML_LibXML_parser_for_compatibility_with_XML_Simple_etc() 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;


SILENT KILLER Tool