Alvis-NLPPlatform
view release on metacpan or search on metacpan
lib/Alvis/NLPPlatform/MyReceiver.pm view on Meta::CPAN
package Alvis::NLPPlatform::MyReceiver;
#use Data::Dumper;
use strict;
use warnings;
use XML::Parser::PerlSAX;
# use utf8;
use Alvis::NLPPlatform::XMLEntities;
use Data::Dumper;
our $VERSION=$Alvis::NLPPlatform::VERSION;
###
### Package
###
my $data;
sub start_document {
# print Dumper($tab_object);
}
sub end_document {
# print Dumper($tab_object);
}
#
# init object
#
sub new {
my $type = shift;
my @stack_elements = ();
my $tab_objet = {};
my $is_in_ann;
# my $data;
return bless {"tab_object" => {} , "stack_elements" => \@stack_elements, "is_in_ann" => $is_in_ann, "counter_id" => 0 } , $type;
}
#
# process <..>
#
sub start_element {
my ($self,$properties) = @_;
if ($self->{"is_in_ann"}) {
if ($self->is_empty()) { # new element
my $elem = {};
push(@{$self->{"stack_elements"}},$elem);
$elem->{'kind'} = 'simple';
} else {
my $father = $self->top_stack();
my $elem;
if ($properties->{'Name'} =~ /^list/) { # detects that it is a list
$elem = {}; # hashtable par défaut
$elem->{'kind'} = 'list';
$elem->{'values'} = []; # tableau
} else {
$elem = {}; # hashtable par défaut
$elem->{'kind'} = 'simple';
}
( run in 0.533 second using v1.01-cache-2.11-cpan-39bf76dae61 )