Archived
1
0
Fork 0

intradata can get bonus/malus point

This commit is contained in:
Mercier Pierre-Olivier 2013-09-20 17:43:12 +02:00
commit de06d5fd0d
2 changed files with 130 additions and 20 deletions

View file

@ -11,7 +11,7 @@ use open qw(:encoding(UTF-8) :std);
use XML::LibXML;
use XML::SAX::ParserFactory;
sub new ($$)
sub new
{
my $class = shift;
my $self = {
@ -22,7 +22,9 @@ sub new ($$)
};
bless $self, $class;
$self->_initialize(@_);
if ($#_ >= 0) {
$self->_initialize(@_);
}
return $self;
}
@ -104,6 +106,44 @@ sub getIds ($)
return %{ $self->{ids} };
}
sub addId($$;$)
{
my $self = shift;
my $key = shift;
my $value = shift // 1;
$self->{ids}{$key} = $value;
}
sub toString ($;$)
{
my $self = shift;
my $main_grp = shift // "bonus_malus";
my $doc = XML::LibXML::Document->new('1.0');
my $root = $doc->createElement("trace");
my $group = $doc->createElement("group");
$group->addChild( $doc->createAttribute("id", $main_grp) );
for my $k (keys %{ $self->{ids} }) {
my $e = $doc->createElement("eval");
my $v = $doc->createElement("value");
$e->addChild( $doc->createAttribute("id", $k) );
$v->appendText( $self->{ids}{$k} );
$e->appendChild( $v );
$group->appendChild( $e );
}
$root->appendChild( $group );
$doc->setDocumentElement( $root );
return $doc->toString();
}
package TraceHandler;
@ -162,7 +202,7 @@ sub start_element
} else {
$self->{inValue} = NO_ID_VALUE;
}
$self->{values} = "";
}
elsif ($element->{Name} ne "group" && $element->{Name} ne "name" && $element->{Name} ne "statut" && $element->{Name} ne "status" && $element->{Name} ne "log") {