NAME
Text::Tradition - a software model for a set of collated texts
SYNOPSIS
use Text::Tradition;
my $t = Text::Tradition->new(
'name' => 'this is a text',
'input' => 'TEI',
'file' => '/path/to/tei_parallel_seg_file.xml' );
my @text_wits = $t->witnesses();
my $manuscript_a = $t->witness( 'A' );
$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
DESCRIPTION
Text::Tradition is a library for representation and analysis of collated texts, particularly medieval ones. A 'tradition' refers to the aggregation of surviving versions of a text, generally preserved in multiple manuscripts (or 'witnesses'). A Tradition object thus has one more more Witnesses, as well as a Collation that represents the unity of all versions of the text.
METHODS
new
Creates and returns a new text tradition object. The following options are accepted.
General options:
Initialization based on a collation file:
- input - The input format of the collation file. Can be one of the following:
-
Self - a GraphML format produced by this module
CollateX - a GraphML format produced by CollateX
CTE - a TEI XML format produced by Classical Text Editor
JSON - an alignment table in JSON format, as produced by CollateX and other tools
TEI - a TEI parallel segmentation format file
Tabular - a spreadsheet collation. See the documentation for Text::Tradition::Parser::Tabular for an explanation of additional options.
- file - The name of the file that contains the data. One of 'file' or 'string' should be specified.
- string - A text string that contains the data. One of 'file' or 'string' should be specified.
Initialization based on a list of witnesses [NOT YET IMPLEMENTED]:
- witnesses - A reference to an array of Text::Tradition::Witness objects that carry the text to be collated.
- collator - A reference to a collation program that will accept Witness objects.
witnesses
Return the Text::Tradition::Witness objects associated with this tradition, as an array.
witness( $sigil )
Returns the Text::Tradition::Witness object whose sigil is $sigil, or undef if there is no such object within the tradition.
add_witness( %opts )
Instantiate a new witness with the given options (see documentation for Text::Tradition::Witness) and add it to the tradition.
del_witness( $sigil )
Delete the witness with the given sigil from the tradition. Returns the witness object for the deleted witness.
rename_witness( $oldsigil, $newsigil )
Safely rename (i.e., assign a new sigil to) the given witness. At the moment this can only be done when the witness does not yet appear in the collation.
clear_collation
Blow away the existing collation object and mark all witnesses as uncollated. Not to be used lightly.
add_json_witnesses( $jsonstring, $options )
Adds a set of witnesses from a JSON array specification. This is a wrapper to parse the JSON and call add_witness (with the specified $options) for each element therein.
BUGS / TODO
Allow tradition to be initialized via passing to a collator.
LICENSE
This package is free software and is provided "as is" without express or implied warranty. You can redistribute it and/or modify it under the same terms as Perl itself.
AUTHOR
Tara L Andrews <aurum@cpan.org>