blob: fb12b21af37665a00c39c42ab60a094dbfe3d3c4 [file] [log] [blame]
package KorAP::XML::Annotation::Gingko::Morpho;
use KorAP::XML::Annotation::Base;
sub parse {
my $self = shift;
$$self->add_tokendata(
foundry => 'gingko',
layer => 'morpho',
cb => sub {
my ($stream, $token) = @_;
my $mtt = $stream->pos($token->get_pos);
my $content = $token->get_hash->{fs}->{f};
my $found;
my $name;
foreach my $f (@{$content->{fs}->{f}}) {
$name = $f->{-name};
# pos tag
if (($name eq 'pos') &&
($found = $f->{'#text'})) {
$mtt->add_by_term('gingko/p:' . $found);
}
# lemma tag
elsif (($name eq 'lemma')
&& ($found = $f->{'#text'})
&& $found ne '<unknown>') {
$mtt->add_by_term('gingko/l:' . $found);
};
};
}) or return;
return 1;
};
sub layer_info {
['gingko/l=tokens', 'gingko/p=tokens']
}
1;