GRAYBYTE WORDPRESS FILE MANAGER7507

Server IP : 198.54.121.189 / Your IP : 216.73.216.140
System : Linux premium69.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
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /usr/local/lib64/perl5/XML/LibXML/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /usr/local/lib64/perl5/XML/LibXML//XPathContext.pm
# $Id: XPathContext.pm 422 2002-11-08 17:10:30Z phish $
#
# 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::XPathContext;

use strict;
use warnings;
use vars qw($VERSION @ISA $USE_LIBXML_DATA_TYPES);

use Carp;
use XML::LibXML;
use XML::LibXML::NodeList;

$VERSION = "2.0210"; # VERSION TEMPLATE: DO NOT CHANGE

# should LibXML XPath data types be used for simple objects
# when passing parameters to extension functions (default: no)
$USE_LIBXML_DATA_TYPES = 0;

sub CLONE_SKIP { 1 }

sub findnodes {
    my ($self, $xpath, $node) = @_;

    my @nodes = $self->_guarded_find_call('_findnodes', $node, $xpath);

    if (wantarray) {
        return @nodes;
    }
    else {
        return XML::LibXML::NodeList->new(@nodes);
    }
}

sub find {
    my ($self, $xpath, $node) = @_;

    my ($type, @params) = $self->_guarded_find_call('_find', $node, $xpath,0);

    if ($type) {
        return $type->new(@params);
    }
    return undef;
}

sub exists {
    my ($self, $xpath, $node) = @_;
    my (undef, $value) = $self->_guarded_find_call('_find', $node, $xpath,1);
    return $value;
}

sub findvalue {
    my $self = shift;
    return $self->find(@_)->to_literal->value;
}

sub _guarded_find_call {
    my ($self, $method, $node)=(shift,shift,shift);

    my $prev_node;
    if (ref($node)) {
        $prev_node = $self->getContextNode();
        $self->setContextNode($node);
    }
    my @ret;
    eval {
        @ret = $self->$method(@_);
    };
    $self->_free_node_pool;
    $self->setContextNode($prev_node) if ref($node);

    if ($@) {
      my $err = $@;
      chomp $err;
      croak $err;
    }

    return @ret;
}

sub registerFunction {
    my ($self, $name, $sub) = @_;
    $self->registerFunctionNS($name, undef, $sub);
    return;
}

sub unregisterNs {
    my ($self, $prefix) = @_;
    $self->registerNs($prefix, undef);
    return;
}

sub unregisterFunction {
    my ($self, $name) = @_;
    $self->registerFunctionNS($name, undef, undef);
    return;
}

sub unregisterFunctionNS {
    my ($self, $name, $ns) = @_;
    $self->registerFunctionNS($name, $ns, undef);
    return;
}

sub unregisterVarLookupFunc {
    my ($self) = @_;
    $self->registerVarLookupFunc(undef, undef);
    return;
}

# extension function perl dispatcher
# borrowed from XML::LibXSLT

sub _perl_dispatcher {
    my $func = shift;
    my @params = @_;
    my @perlParams;

    my $i = 0;
    while (@params) {
        my $type = shift(@params);
        if ($type eq 'XML::LibXML::Literal' or
            $type eq 'XML::LibXML::Number' or
            $type eq 'XML::LibXML::Boolean')
        {
            my $val = shift(@params);
            unshift(@perlParams, $USE_LIBXML_DATA_TYPES ? $type->new($val) : $val);
        }
        elsif ($type eq 'XML::LibXML::NodeList') {
            my $node_count = shift(@params);
            unshift(@perlParams, $type->new(splice(@params, 0, $node_count)));
        }
    }

    $func = "main::$func" unless ref($func) || $func =~ /(.+)::/;
    no strict 'refs';
    my $res = $func->(@perlParams);
    return $res;
}

1;

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
March 11 2024 08:32:03
root / root
0755
SAX
--
March 11 2024 08:32:03
root / root
0755
Attr.pod
4.024 KB
January 24 2024 15:13:41
root / root
0444
AttributeHash.pm
4.485 KB
January 24 2024 15:03:50
root / root
0444
Boolean.pm
1.563 KB
January 24 2024 15:03:50
root / root
0444
CDATASection.pod
1.284 KB
January 24 2024 15:13:41
root / root
0444
Comment.pod
1.363 KB
January 24 2024 15:13:41
root / root
0444
Common.pm
8.202 KB
January 24 2024 15:03:50
root / root
0444
Common.pod
3.586 KB
January 24 2024 15:13:41
root / root
0444
DOM.pod
6.229 KB
January 24 2024 15:13:41
root / root
0444
Devel.pm
4.91 KB
January 24 2024 15:03:50
root / root
0444
Document.pod
21.087 KB
January 24 2024 15:13:41
root / root
0444
DocumentFragment.pod
0.8 KB
January 24 2024 15:13:41
root / root
0444
Dtd.pod
1.991 KB
January 24 2024 15:13:41
root / root
0444
Element.pod
13.482 KB
January 24 2024 15:13:41
root / root
0444
ErrNo.pm
27.831 KB
January 24 2024 15:03:50
root / root
0444
ErrNo.pod
0.577 KB
January 24 2024 15:13:41
root / root
0444
Error.pm
8.45 KB
January 24 2024 15:03:50
root / root
0444
Error.pod
5.978 KB
January 24 2024 15:13:41
root / root
0444
InputCallback.pod
9.592 KB
January 24 2024 15:13:41
root / root
0444
Literal.pm
2.045 KB
January 24 2024 15:03:50
root / root
0444
Namespace.pod
3.283 KB
January 24 2024 15:13:41
root / root
0444
Node.pod
25.666 KB
January 24 2024 15:13:41
root / root
0444
NodeList.pm
7.313 KB
January 24 2024 15:03:50
root / root
0444
Number.pm
1.871 KB
January 24 2024 15:03:50
root / root
0444
PI.pod
2.218 KB
January 24 2024 15:13:41
root / root
0444
Parser.pod
27.786 KB
January 24 2024 15:13:41
root / root
0444
Pattern.pod
2.905 KB
January 24 2024 15:13:41
root / root
0444
Reader.pm
5.749 KB
January 24 2024 15:03:50
root / root
0444
Reader.pod
17.601 KB
January 24 2024 15:13:41
root / root
0444
RegExp.pod
1.537 KB
January 24 2024 15:13:41
root / root
0444
RelaxNG.pod
2.342 KB
January 24 2024 15:13:41
root / root
0444
SAX.pm
3.449 KB
January 24 2024 15:03:50
root / root
0444
SAX.pod
1.762 KB
January 24 2024 15:13:41
root / root
0444
Schema.pod
2.194 KB
January 24 2024 15:13:41
root / root
0444
Text.pod
5.47 KB
January 24 2024 15:13:41
root / root
0444
XPathContext.pm
3.147 KB
January 24 2024 15:03:50
root / root
0444
XPathContext.pod
11.491 KB
January 24 2024 15:13:41
root / root
0444
XPathExpression.pod
1.639 KB
January 24 2024 15:13:41
root / root
0444

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF