404

[ Avaa Bypassed ]




Upload:

Command:

elspacio@3.142.166.129: ~ $
# $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.0132"; # 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;
    $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;
    $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;
    $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;
    $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;


Filemanager

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.9 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.97 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.38 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.49 KB 0644
Pattern.pod File 2.89 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 2.96 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