use Text::Tradition::Witness;
use vars qw( $VERSION );
-$VERSION = "0.3";
+$VERSION = "0.5";
has 'collation' => (
is => 'ro',
default => sub { [] },
);
+has 'initialized' => (
+ is => 'ro',
+ isa => 'Bool',
+ default => undef,
+ writer => '_init_done',
+ );
+
# Create the witness before trying to add it
around 'add_witness' => sub {
my $orig = shift;
my @text_wits = $t->witnesses();
my $manuscript_a = $t->witness( 'A' );
- my $new_ms = $t->add_witness( 'sigil' => 'B' );
+
+ $t = Text::Tradition->new();
+ $t->add_witness( 'sourcetype' => 'xmldesc',
+ 'file' => '/path/to/teitranscription.xml' );
+ $t->add_witness( 'sourcetype => 'plaintext', 'sigil' => 'Q',
+ 'string' => 'The quick brown fox jumped over the lazy dogs' );
+ ## TODO
+ $t->collate_texts;
my $text_path_svg = $t->collation->as_svg();
## See Text::Tradition::Collation for more on text collation itself
is( $s->witness('X'), undef, "There is no witness X" );
ok( !exists $s->{'witnesses'}->{'X'}, "Witness key X not created" );
-my $wit_d = $s->add_witness( 'sigil' => 'D' );
+my $wit_d = $s->add_witness( 'sigil' => 'D', 'sourcetype' => 'collation' );
is( ref( $wit_d ), 'Text::Tradition::Witness', "new witness created" );
is( $wit_d->sigil, 'D', "witness has correct sigil" );
is( scalar $s->witnesses, 4, "object now has four witnesses" );
$mod->can('parse')->( $self, $init_args );
}
}
+ $self->_init_done( 1 );
return $self;
}
return $stemma;
}
+sub lemmatize {
+ my $self = shift;
+ unless( $self->has_language ) {
+ warn "Please set a language to lemmatize a tradition";
+ return;
+ }
+ my $mod = "Text::Tradition::Language::" . $self->language;
+ load( $mod );
+ $mod->can( 'lemmatize' )->( $self );
+}
+
no Moose;
__PACKAGE__->meta->make_immutable;