Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Bower components Debian packages RPM packages NuGet packages

beebox / crossover   deb

Repository URL to install this package:

Version: 18.5.0-1 

/ opt / cxoffice / lib / perl / CXTinySAXMultiplexer.pm

# (c) Copyright 2005, 2010. CodeWeavers, Inc.
package CXTinySAXMultiplexer;
use warnings;
use strict;
use CXTinySAXBase;
use base "CXTinySAXBase";

# A handler that calls multiple handlers in turn until one returns false.

sub new($$)
{
    my ($class, $handlers)=@_;
    my $self={ handlers => $handlers };
    bless $self, $class;
    return undef if (!$self->init());
    return $self;
}

sub encoding($$)
{
    my ($self, $encoding)=@_;
    foreach my $handler (@{$self->{handlers}})
    {
        return 0 if (!$handler->encoding($encoding));
    }
    return 1;
}

sub start_element($$$)
{
    my ($self, $element, $attributes)=@_;
    foreach my $handler (@{$self->{handlers}})
    {
        return 0 if (!$handler->start_element($element, $attributes));
    }
    return 1;
}

sub end_element($$)
{
    my ($self, $element)=@_;
    foreach my $handler (@{$self->{handlers}})
    {
        return 0 if (!$handler->end_element($element));
    }
    return 1;
}

sub cdata($$$)
{
    my ($self, $element, $cdata)=@_;
    foreach my $handler (@{$self->{handlers}})
    {
        return 0 if (!$handler->cdata($element, $cdata));
    }
    return 1;
}

sub comment($$)
{
    my ($self, $comment)=@_;
    foreach my $handler (@{$self->{handlers}})
    {
        return 0 if (!$handler->comment($comment));
    }
    return 1;
}

return 1;