Tagging ULB new regime

This commit is contained in:
Henry Whitney 2020-08-11 17:50:50 -04:00
parent d6333336e4
commit 4985c2e6e0
6 changed files with 5337 additions and 6429 deletions

View File

@ -58,11 +58,14 @@ sub GetGist {
sub Untag {
my ($pre, $txt) = ($_[0], $_[1]);
#say LOG "\$pre: $pre\n\$txt: $txt";
say LOG "<00>\t\$pre: $pre\n\$txt: $txt";
if ($txt =~ /\[\d\]/) {
$txt = Reorder($txt);
say LOG "<0>\t$txt";
}
$txt =~ s/[\t\n]/ /g;
$txt =~ s/(√|<[^<>]*>)//g;
$txt = $pre . " " . $txt;
# say LOG "<0>\t$txt";
$txt =~ s/ {2,}/ /g;
$txt =~ s/— /—/g;
$txt =~ s/^(.+[^ ])(\\)/$1 $2/g;
@ -71,6 +74,14 @@ sub Untag {
return $txt;
}
sub Reorder {
my $txt = $_[0];
say LOG "<R1>\t$txt";
while ($txt =~ s/sub="\[(\d+)\]" ([^>]*>)([^<]*)(<(.|\n)*?>[^<]*)\[\1\]([^<]*<)/$2√$4$3$6/s) {}
say LOG "<R2>\t$txt";
return $txt
}
sub GetBooksToCheck {
while (<DATA>) {
chomp;

View File

@ -1,411 +0,0 @@
# Takes current tW entries and populates tagged OGNT XML
#
# This is the current best version
# Requires ULB that includes USFMs.
use 5.12.0;
use File::Slurp;
use File::Find ;
use Cwd ;
use utf8;
#use open IN => ":utf8", OUT => ":utf8";
use open IO => ":utf8";
$" = "\n";
mkdir "Logs";
open(LOG, ">Logs/tW_pairs.txt") or die "$!";
my $ULBfile = "/Users/Henry/Documents/WACS/en_ulb_tagged/ULB_xml/ULB.xml";
my $topDirOGNT = "/Users/Henry/Documents/WACS/OGNT";
#my $topDirOGNT = "/Users/Henry/Documents/WACS/en_ulb_tagged/Tag_test";
my $topDirtW = "/Users/Henry/Documents/WACS/en_tw/bible";
my ($outDir, $outFile) = ("/Users/Henry/Documents/WACS/en_ulb_tagged/Auto-tagged", "");
my ($ULBText, $workText, $language);
my ($file);
my (%ULBtextThisVerse, %ULBpreTextThisVerse, %SNsThisVerse, %entriesThisSN, %longName);
my @OGNTfilesToRun = ();
#my $filePattern = '\.xml' ;
my $filePattern = '41-MAT\.xml' ;
find( sub { push @OGNTfilesToRun, $File::Find::name if ( m/^(.*)$filePattern$/ ) }, $topDirOGNT) ;
say LOG "\@OGNTfilesToRun:\n@OGNTfilesToRun\n";
my @tWfilesToRun = ();
$filePattern = '.md' ;
find( sub { push @tWfilesToRun, $File::Find::name if ( m/^(.*)$filePattern$/ ) }, $topDirtW) ;
Read_tW_Files();
close LOG;
open(LOG, ">Logs/Log.txt") or die "$!";
LongBookNames();
Prepare_ULB_file();
say LOG "Prepare_ULB_file done.\n\@OGNTfilesToRun:\n@OGNTfilesToRun\n";
ProcessXML();
# put unused SN at end of verse
close LOG;
say "\nDone.";
# =====
sub Read_tW_Files {
foreach $file ( @tWfilesToRun ) {
say LOG $file;
my (@sns);
my $entries;
my $fileText = read_file("$file", binmode => 'utf8');
if ($fileText =~ /\* Strong's: ([^\n]*)\n/) {
my $sns = $1;
#say LOG "\t$sns";
@sns = split /, /, $sns;
}
if ($fileText =~ /Forms Found in the English ULB:\n\n([^\n]*)\n/) {
$entries = $1;
die "$fileText" if $entries eq "";
#say LOG "\t\t$entries"
}
foreach my $sn (@sns) {
$entriesThisSN{$sn} .= $entries . ", ";
#say LOG "\t\t\t$sn: $entriesThisSN{$sn}"
}
}
foreach my $sn (sort keys %entriesThisSN) {
#say LOG "$sn: $entriesThisSN{$sn}";
my @entries = split /, /, $entriesThisSN{$sn};
@entries = reverse sort { substr($a,0,1) <=> substr($b,0,1)
|| length($a) <=> length($b)
|| $a <=> $b }
@entries;
$entriesThisSN{$sn} = "";
foreach my $slice (@entries) {
$entriesThisSN{$sn} .= "$slice, "
}
$entriesThisSN{$sn} =~ s/, $//;
say LOG "$sn: $entriesThisSN{$sn}";
}
}
sub LongBookNames {
while (<DATA>) {
chomp;
if (/([^\t]*)\t([^\t]*)\t([^\t]*)/) {
$longName{$2} = $3
}
}
}
sub ProcessXML {
foreach my $file (@OGNTfilesToRun) {
my $greekText;
my $fileGist;
if ($file =~ /((..)....\.xml)/) {
($fileGist, $language) = ($1, $2);
if ($language > 40) {
$language = "G"
} else {$language = "H"}
}
say LOG "<0>\t$file \t$fileGist";
open(OUT, ">$outDir/$fileGist") or die "$outDir/$fileGist: $!";
my ($pre, $gist, $post, $bk, $ch, $vs, $thisVerse, $staticText, $residueText, $matchedLines, $flag, $thisVerseForOutput,
$linesWithRelevantSNs, $linesNotMatched, $orderedOutputLines, $linesToSkip, $thisPreText);
open (my $thisFile, "<:utf8", "$file") or die "$file:\n$!";
my ($originalLinesCount, $rsnCount, $skipCount, $noRSNCount, $outCount);
while (my $thisLine = <$thisFile>) {
chomp $thisLine;
if ($thisLine =~ /<verse/) {say LOG "\n=========================="}
if ($thisLine =~ /<\/verse>/) {
say LOG "<0.1>\t$thisLine";
say LOG "<11>\n\$linesWithRelevantSNs\n$linesWithRelevantSNs\n\$linesToSkip\n$linesToSkip\$residueText\n$residueText";
($matchedLines, $residueText, $linesNotMatched) = ProcessRelevantSNs($linesWithRelevantSNs, $staticText, $residueText);
say LOG "<14>\t\$matchedLines\n$matchedLines\n\$linesNotMatched\n$linesNotMatched";
my %orderedLine;
$matchedLines =~ s/\n{2,}/\n/gs;
say LOG "<15\tBefore sort of \$matchedLines:\n$matchedLines\n";
while ($matchedLines =~ /([^◊]*)◊(\d*)\n/g) {
$orderedLine{$2} = $1;
say LOG "<5>\t\$2: $2\t\$1: $1";
}
$matchedLines = "";
foreach my $line (sort {$a <=> $b} keys %orderedLine) {
say LOG "<5.5>\t\$line: $line\t\$orderedLine{$line}: $orderedLine{$line}";
$matchedLines .= "$orderedLine{$line}\n"
}
chomp $matchedLines;
say LOG "<16>\tAfter sort of \$matchedLines:\n$matchedLines\n\$linesNotMatched\n$linesNotMatched";
$residueText =~ s/<usfm>.*?<\/usfm>//g;
$residueText =~ s/(^q | q$)//g;
$residueText =~ s/ {3,}/ /g;
$residueText =~ s/^ +//;
$residueText =~ s/ +$/$1/;
$greekText =~ s/^ +//;
$greekText =~ s/ +$/$1/;
$staticText =~ s/^ +//;
$staticText =~ s/ +$/$1/;
my $internalUSFM;
$internalUSFM .= "\t\t\t\t\t$&\n" while ($staticText =~ /<usfm>.*?<\/usfm>/g);
$linesNotMatched =~ s/\n+$//;
$linesToSkip =~ s/\n+$//;
$matchedLines =~ s/^\n+//;
$internalUSFM =~ s/\n+$//;
$internalUSFM =~ s/\t{5,}/\t\t\t\t/g;
say LOG "<17>\tAfter pruning \$matchedLines:\n$matchedLines\n\$linesNotMatched\n$linesNotMatched";
say OUT "\t\t\t\t<Greek>$greekText</Greek>";
say OUT "\t\t\t\t<preText>$thisPreText</preText>";
say OUT "\t\t\t\t<ULB>$staticText</ULB>";
say OUT "\t\t\t\t<residue>$residueText</residue>";
say OUT "$matchedLines" unless ($matchedLines eq "");
say OUT "$linesNotMatched" unless ($linesNotMatched eq "");
say OUT "$internalUSFM" unless ($internalUSFM eq "");
say OUT "$linesToSkip" if ($linesToSkip);
say OUT "$thisLine";
($originalLinesCount, $rsnCount, $skipCount, $noRSNCount, $outCount) = ();
($thisVerseForOutput, $flag, $workText, $greekText, $linesNotMatched, $linesToSkip, $residueText, $orderedOutputLines, $linesWithRelevantSNs) = ();
($linesToSkip) = ("");
}
elsif ($thisLine =~ /<w /) {
say LOG "<0.2>\t$thisLine";
$originalLinesCount ++;
if ($thisLine =~ />([^\n<>]*)</) {
$greekText .= $1 . " "
}
$thisLine =~ s/\t(<w .*)>([^<]*)(<\/w>)/$1 text="$2">$3/;
if ($thisLine =~ /lemma="(\d+)"/) {
my $thisLemma = $language . $1;
if (exists $entriesThisSN{$thisLemma}) {
$rsnCount ++;
$linesWithRelevantSNs .= $thisLine . "\n";
say LOG "<0.2.1>\t\$thisLemma: $thisLemma; line pushed to \$linesWithRelevantSNs";
}
else {
$skipCount ++;
$thisLine =~ s/><\/w>/>√<\/w>/;
$linesToSkip .= "$thisLine\n";
#say LOG "<0.2.2>\t\$thisLemma: $thisLemma; line pushed to \@LinesToSkip";
}
}
}
elsif ($thisLine =~ /<verse osisID="(.*?)\.(.*?)\.(.*?)">/) {
say LOG "<0.3>\t$thisLine";
($bk, $ch, $vs) = ($1,$2,$3);
($thisVerse, $greekText) = ("$longName{$bk} $ch:$vs", "");
$staticText = $ULBtextThisVerse{$thisVerse};
$residueText = "q $staticText q";
$thisPreText = $ULBpreTextThisVerse{$thisVerse};
say OUT "\t\t\t<verse name=\"$thisVerse\">";
($flag) = (1);
}
else {say OUT $thisLine}
}
close $thisFile;
close OUT;
}
}
sub ProcessRelevantSNs {
my ($relevantLines, $staticText, $residueText, $linesNotMatched) = (@_);
my ($matchedLines, $thisLine);
my @relevantLines = split /\n/, $relevantLines;
foreach my $line (@relevantLines) {
if ($line =~ /lemma="(\d+)"/) {
my $thisSN = $language . $1;
say LOG "<12>\t\$line: $line, \$thisSN: $thisSN, \$entriesThisSN{$thisSN}\n$entriesThisSN{$thisSN}";
($thisLine, $residueText, $linesNotMatched) = MatchAndPlace($line, $thisSN, $staticText, $residueText, $linesNotMatched);
$thisLine =~ s/[ \t]+$//;
$matchedLines .= $thisLine . "\n";
$matchedLines =~ s/\n{2,}$/\n/s;
say LOG "<13>\t\$matchedLines\n$matchedLines\n\$linesNotMatched\n$linesNotMatched+++"
}
}
return ($matchedLines, $residueText, $linesNotMatched);
}
sub MatchAndPlace {
my ($line, $sn, $staticText, $workText, $linesNotMatched) = @_;
#say LOG "<8>\t\$line: $line \$sn: $sn \$workText\n$workText";
my ($workEntry, $found, $matchedLines, $first, $second, $third, $firstLen, $secondLen, $thirdLen);
my @entries = split /, /, $entriesThisSN{$sn};
foreach my $entry (@entries) {
my $entryType;
if ($entry =~ /^(.*) \.\.\. (.*) \.\.\. (.*)$/) {
($first, $second, $third) = ($1, $2, $3);
($firstLen, $secondLen, $thirdLen) = (length $first, length $second, length $third);
$workEntry = "\\b" . $first . "\\b" . ".*?" . "\\b" . $second . "\\b" . ".*?" . "\\b" . $third;
say LOG "<1a>\t\$first: $first, \$second: $second, \$third: $third, \$firstLen: $firstLen, \$secondLen,: $secondLen, \$thirdLen: $thirdLen \$entry: |$entry|\t\$workEntry: |$workEntry|";
$entryType = 1;
}
elsif ($entry =~ /^(.*) \.\.\. (.*)$/) {
($first, $second) = ($1, $2);
($firstLen, $secondLen) = (length $first, length $second);
$workEntry = "\\b" . $first . "\\b" . ".*?" . "\\b" . $second . "\\b";
say LOG "<2a>\t\$first: $first, \$second: $second, \$third: $third, \$firstLen: $firstLen, \$secondLen,: $secondLen, \$entry: |$entry|\t\$workEntry: |$workEntry|";
$entryType = 2;
}
else {$workEntry = $entry;}
my $foundText;
#say LOG "<8.1>\t\$entryType: $entryType\t\$entry: $entry\t\$workEntry: $workEntry";
if ($workText =~ /\b$workEntry\b/p) {
say LOG "<8.1>Found: \t\$entryType: $entryType\t\$entry: $entry\t\$workEntry: $workEntry";
($foundText, $workText) = ($&, "${^PREMATCH}ı${^POSTMATCH}");
my ($place, $foundTextLength, $replacementSpaces) = (length ${^PREMATCH}, length $foundText, "");
$line =~ s/></>$entry</;
while (length $replacementSpaces < $foundTextLength) {$replacementSpaces .= " "}
if ($entryType) {
say LOG "<8.2>\n\$workText,: $workText, \$matchedLines:\n$matchedLines ";
($workText) = FixWorkText($line, $workText, $workEntry, $foundText, $foundTextLength, $first, $firstLen, $second, $secondLen, $third, $thirdLen);
say LOG "<8.3>\n\$workText:\n$workText\n\$matchedLines:\n$matchedLines";
}
else {$workText =~ s/ı/$replacementSpaces/;}
$matchedLines .= "$line◊$place";
say LOG "<8.4>\tAfter found, new \$workText:\n$workText";
$found = 1;
}
else {
#say LOG "\$workEntry $workEntry not found"
}
if ($found) {
last
}
}
unless ($found) {
$line =~ s/></>?</;
$linesNotMatched .= "$line\n"
}
return ($matchedLines, $workText, $linesNotMatched)
}
sub FixWorkText {
my ($thisLine, $text, $entry, $foundText, $foundTextLength, $first, $firstLen, $second, $secondLen, $third, $thirdLen) = @_;
my ($firstSpace, $secondSpace, $thirdSpace);
while (length $firstSpace < $firstLen) {$firstSpace .= " "}
while (length $secondSpace < $secondLen) {$secondSpace .= " "}
while (length $thirdSpace < $thirdLen) {$thirdSpace .= " "}
say LOG "<9>\$text:\n$text\n\t\t\$entry: $entry \$foundText: $foundText\t \$foundTextLength: $foundTextLength\t\$first: $first\t\$second: $second\t\$third: $third\n\$firstSpace: $firstSpace\t\$secondSpace: $secondSpace\t\$thirdSpace: $thirdSpace";
if ($third) {
if ($foundText =~ /$first(.*)$second(.*)$third/) {
my ($firstGap, $secondGap) = ($1, $2);
my $repText = "$firstSpace$firstGap$secondSpace$secondGap$thirdSpace";
say LOG "<9.1> \$repText: $repText";
$text =~ s/ı/$repText/;
}
}
else {
if ($foundText =~ /$first(.*)$second/) {
my ($firstGap) = ($1);
say LOG "<9.2>\t\$firstSpace: |$firstSpace|\t\$firstGap: |$firstGap|\t\$secondSpace: |$secondSpace|";
my $repText ="$firstSpace$firstGap$secondSpace";
say LOG "<9.3> \$repText: |$repText|";
$text =~ s/ı/$repText/;
}
}
return ($text)
}
sub Prepare_ULB_file {
my $thisVerse;
#$ULBText = read_file($ULBfile, binmode => 'utf8');
#while ($ULBText =~ /<verse name="(.*?)">\n<preText>(.*?)<\/preText>\n.*<text>(.*?)<\/text>.*<\/verse>/sg) {
# ($ULBtextThisVerse{$1}, $ULBpreTextThisVerse{$1}) = ($3, $2);
#}
#
open (my $file, "<:utf8", "$ULBfile") or die "$ULBfile:\n$!";
while (my $thisLine = <$file>) {
chomp $thisLine;
if ($thisLine =~ /verse name="(.*?)"/) {
$thisVerse = $1;
#say LOG "$thisVerse:\n$thisLine"
}
elsif ($thisLine =~ /<preText>(.*?)<\/preText>/) {
$ULBpreTextThisVerse{$thisVerse} = $1;
#say LOG "$thisVerse:\n$ULBpreTextThisVerse{$thisVerse}"
}
elsif ($thisLine =~ /<text>(.*?)<\/text>/) {
$ULBtextThisVerse{$thisVerse} = $1;
#say LOG "$thisVerse:\n$ULBtextThisVerse{$thisVerse}"
}
}
close $file;
}
__DATA__
01 gen Genesis
02 exo Exodus
03 lev Leviticus
04 num Numbers
05 deu Deuteronomy
06 jos Joshua
07 jdg Judges
08 rut Ruth
09 1sa 1 Samuel
10 2sa 2 Samuel
11 1ki 1 Kings
12 2ki 2 Kings
13 1ch 1 Chronicles
14 2ch 2 Chronicles
15 ezr Ezra
16 neh Nehemiah
17 est Esther
18 job Job
19 psa Psalms
20 pro Proverbs
21 ecc Ecclesiastes
22 sng Song of Solomon
23 isa Isaiah
24 jer Jeremiah
25 lam Lamentations
26 ezk Ezekiel
27 dan Daniel
28 hos Hosea
29 jol Joel
30 amo Amos
31 oba Obadiah
32 jon Jonah
33 mic Micah
34 nam Nahum
35 hab Habakkuk
36 zep Zephaniah
37 hag Haggai
38 zec Zechariah
39 mal Malachi
41 mat Matthew
42 mrk Mark
43 luk Luke
44 jhn John
45 act Acts
46 rom Romans
47 1co 1 Corinthians
48 2co 2 Corinthians
49 gal Galatians
50 eph Ephesians
51 php Philippians
52 col Colossians
53 1th 1 Thessalonians
54 2th 2 Thessalonians
55 1ti 1 Timothy
56 2ti 2 Timothy
57 tit Titus
58 phm Philemon
59 heb Hebrews
60 jas James
61 1pe 1 Peter
62 2pe 2 Peter
63 1jn 1 John
64 2jn 2 John
65 3jn 3 John
66 jud Jude
67 rev Revelation

File diff suppressed because it is too large Load Diff

View File

@ -1,41 +0,0 @@
\s5
\p
\v 5 Then \tag lemma="5119" morph="ADV" lexeme="τότε" OGNT="Τότε" \tag* the \tag lemma="3588" morph="T-NSM" lexeme="ὁ" OGNT="ὁ" \tag* devil \tag lemma="1228" morph="A-NSM" lexeme="διάβολος" OGNT="διάβολος" \tag* took \tag lemma="3880" morph="V-PAI-3S" lexeme="παραλαμβάνω" OGNT="παραλαμβάνει" \tag* him \tag lemma="846" morph="P-ASM" lexeme="αὐτός" OGNT="αὐτὸν" \tag* into \tag lemma="1519" morph="PREP" lexeme="εἰς" OGNT="εἰς" \tag* the \tag lemma="3588" morph="T-ASF" lexeme="ὁ" OGNT="τὴν" \tag*holy \tag lemma="40" morph="A-ASF" lexeme="ἅγιος" OGNT="ἁγίαν" \tag* city \tag lemma="4172" morph="N-ASF" lexeme="πόλις" OGNT="πόλιν" \tag* and \tag lemma="2532" morph="CONJ" lexeme="καί" OGNT="καὶ" \tag*set \tag lemma="2476" morph="V-2AAI-3S" lexeme="ἵστημι" OGNT="ἔστησεν" \tag* him on \tag lemma="1909" morph="PREP" lexeme="ἐπί" OGNT="ἐπὶ" \tag* the \tag lemma="3588" morph="T-ASN" lexeme="ὁ" OGNT="τὸ" \tag* highest point \tag lemma="4419" morph="N-ASN" lexeme="πτερύγιον" OGNT="πτερύγιον" \tag* of the \tag lemma="3588" morph="T-GSN" lexeme="ὁ" OGNT="τοῦ" \tag* temple building \tag lemma="2411" morph="N-GSN" lexeme="ἱερός" OGNT="ἱεροῦ" \tag*,
\v 5 Then \tag lemma="5119" morph="ADV" lexeme="τότε" OGNT="Τότε" \tag*
the \tag lemma="3588" morph="T-NSM" lexeme="ὁ" OGNT="ὁ" \tag*
devil \tag lemma="1228" morph="A-NSM" lexeme="διάβολος" OGNT="διάβολος" \tag*
took \tag lemma="3880" morph="V-PAI-3S" lexeme="παραλαμβάνω" OGNT="παραλαμβάνει" \tag*
him \tag lemma="846" morph="P-ASM" lexeme="αὐτός" OGNT="αὐτὸν" \tag*
into \tag lemma="1519" morph="PREP" lexeme="εἰς" OGNT="εἰς" \tag*
the \tag lemma="3588" morph="T-ASF" lexeme="ὁ" OGNT="τὴν" \tag*holy \tag lemma="40" morph="A-ASF" lexeme="ἅγιος" OGNT="ἁγίαν" \tag*
city \tag lemma="4172" morph="N-ASF" lexeme="πόλις" OGNT="πόλιν" \tag*
and \tag lemma="2532" morph="CONJ" lexeme="καί" OGNT="καὶ" \tag*set \tag lemma="2476" morph="V-2AAI-3S" lexeme="ἵστημι" OGNT="ἔστησεν" \tag*
him on \tag lemma="1909" morph="PREP" lexeme="ἐπί" OGNT="ἐπὶ" \tag*
the \tag lemma="3588" morph="T-ASN" lexeme="ὁ" OGNT="τὸ" \tag*
highest point \tag lemma="4419" morph="N-ASN" lexeme="πτερύγιον" OGNT="πτερύγιον" \tag*
of the \tag lemma="3588" morph="T-GSN" lexeme="ὁ" OGNT="τοῦ" \tag*
temple building \tag lemma="2411" morph="N-GSN" lexeme="ἱερός" OGNT="ἱεροῦ" \tag*,
<verse osisID="mat.4.5">
<w lemma="5119" morph="ADV" lexeme="τότε"OGNT="Τότε">Then</w>
<w lemma="3588" morph="T-NSM" lexeme="ὁ"OGNT="ὁ">the</w>
<w lemma="1228" morph="A-NSM" lexeme="διάβολος"OGNT="διάβολος">devil</w>
<w lemma="3880" morph="V-PAI-3S" lexeme="παραλαμβάνω"OGNT="παραλαμβάνει">took</w>
<w lemma="846" morph="P-ASM" lexeme="αὐτός"OGNT="αὐτὸν">him</w>
<w lemma="1519" morph="PREP" lexeme="εἰς"OGNT="εἰς">into</w>
<w lemma="3588" morph="T-ASF" lexeme="ὁ"OGNT="τὴν">the</w>
<w lemma="40" morph="A-ASF" lexeme="ἅγιος"OGNT="ἁγίαν">holy</w>
<w lemma="4172" morph="N-ASF" lexeme="πόλις"OGNT="πόλιν">city</w>
<w lemma="2532" morph="CONJ" lexeme="καί"OGNT="καὶ">and</w>
<w lemma="2476" morph="V-2AAI-3S" lexeme="ἵστημι"OGNT="ἔστησεν">se</w>
<w lemma="846" morph="P-ASM" lexeme="αὐτός"OGNT="αὐτὸν">him</w>
<w lemma="1909" morph="PREP" lexeme="ἐπί"OGNT="ἐπὶ">on</w>
<w lemma="3588" morph="T-ASN" lexeme="ὁ"OGNT="τὸ">the</w>
<w lemma="4419" morph="N-ASN" lexeme="πτερύγιον"OGNT="πτερύγιον">highest point</w>
<w lemma="3588" morph="T-GSN" lexeme="ὁ"OGNT="τοῦ">of the</w>
<w lemma="2411" morph="N-GSN" lexeme="ἱερός"OGNT="ἱεροῦ">temple building</w>
</verse>

View File

@ -1,121 +0,0 @@
<xml>
<book>
<div type="book" osisID="tit">
<chapter osisID="tit.1">
<verse osisID="tit.1.1">
<Greek>Παῦλος δοῦλος Θεοῦ ἀπόστολος δὲ Ἰησοῦ Χριστοῦ κατὰ πίστιν ἐκλεκτῶν Θεοῦ καὶ ἐπίγνωσιν ἀληθείας τῆς κατ᾽ εὐσέβειαν </Greek>
<ULB> Paul, a servant of God and an apostle of Jesus Christ for the faith of God's chosen people and the knowledge of the truth that agrees with godliness,</ULB>
<residue>q , a of and an of for the of and the of the , q</residue>
<preText>\s5 \c 1 \p \v 1</preText>
<w OGNTsort="114632" ULBorder="---" lemma="G3972" morph="N-NSM-P" lexeme="Παῦλος" text="Παῦλος">Paul,</w>
<w OGNTsort="114633" ULBorder="---" lemma="G1401" morph="N-NSM" lexeme="δοῦλος" text="δοῦλος">a servant</w>
<w OGNTsort="114642" ULBorder="---" lemma="G2316" morph="N-GSM" lexeme="θεός" text="Θεοῦ">of God</w>
<w OGNTsort="114635" ULBorder="---" lemma="G652" morph="N-NSM" lexeme="ἀπόστολος" text="ἀπόστολος">apostle</w>
<w OGNTsort="114636" ULBorder="---" lemma="G1161" morph="CONJ" lexeme="δέ" text="δὲ">√</w>
<w OGNTsort="114637" ULBorder="---" lemma="G2424" morph="N-GSM-P" lexeme="Ἰησοῦς" text="Ἰησοῦ">of Jesus</w>
<w OGNTsort="114638" ULBorder="---" lemma="G5547" morph="N-GSM-T" lexeme="Χριστός" text="Χριστοῦ">Christ</w>
<w OGNTsort="114639" ULBorder="---" lemma="G2596" morph="PREP" lexeme="κατά" text="κατὰ">for</w>
<w OGNTsort="114640" ULBorder="---" lemma="G4102" morph="N-ASF" lexeme="πίστις" text="πίστιν">the faith</w>
<w OGNTsort="114634" ULBorder="---" lemma="G2316" morph="N-GSM" lexeme="θεός" text="Θεοῦ">of God's</w>
<w OGNTsort="114641" ULBorder="---" lemma="G1588" morph="A-GPM" lexeme="ἐκλεκτός" text="ἐκλεκτῶν">chosen people</w>
<w OGNTsort="114643" ULBorder="---" lemma="G2532" morph="CONJ" lexeme="καί" text="καὶ">and</w>
<w OGNTsort="114644" ULBorder="---" lemma="G1922" morph="N-ASF" lexeme="ἐπίγνωσις" text="ἐπίγνωσιν">the knowledge</w>
<w OGNTsort="114645" ULBorder="---" lemma="G225" morph="N-GSF" lexeme="ἀλήθεια" text="ἀληθείας">of the truth</w>
<w OGNTsort="114646" ULBorder="---" lemma="G3588" morph="T-GSF" lexeme="ὁ" text="τῆς">that</w>
<w OGNTsort="114647" ULBorder="---" lemma="G2596" morph="PREP" lexeme="κατά" text="κατ᾽">agrees with</w>
<w OGNTsort="114648" ULBorder="---" lemma="G2150" morph="N-ASF" lexeme="εὐσέβεια" text="εὐσέβειαν">godliness,</w>
</verse>
<verse osisID="tit.1.2">
<Greek>ἐπ᾽ ἐλπίδι ζωῆς αἰωνίου ἣν ἐπηγγείλατο ὁ ἀψευδὴς Θεὸς πρὸ χρόνων αἰωνίων </Greek>
<ULB> with the hope of everlasting life that God, who does not lie, promised before all the ages of time.</ULB>
<residue>q with the of everlasting that , who does not lie, before all the of . q</residue>
<w OGNTsort="114649" ULBorder="---" lemma="G1909" morph="PREP" lexeme="ἐπί" text="ἐπ᾽">with</w>
<w OGNTsort="114650" ULBorder="---" lemma="G1680" morph="N-DSF" lexeme="ἐλπίς" text="ἐλπίδι">the hope</w>
<w OGNTsort="114660" ULBorder="---" lemma="G166" morph="A-GPM" lexeme="αἰώνιος" text="αἰωνίων">of everlasting</w>
<w OGNTsort="114651" ULBorder="---" lemma="G2222" morph="N-GSF" lexeme="ζωή" text="ζωῆς">life</w>
<w OGNTsort="114653" ULBorder="---" lemma="G3739" morph="R-ASF" lexeme="ὅς, ἥ" text="ἣν">that</w>
<w OGNTsort="114657" ULBorder="---" lemma="G2316" morph="N-NSM" lexeme="θεός" text="Θεὸς">God,</w>
<w OGNTsort="114655" ULBorder="---" lemma="G3588" morph="T-NSM" lexeme="ὁ" text="ὁ">who</w>
<w OGNTsort="114656" ULBorder="---" lemma="G893" morph="A-NSM" lexeme="ἀψευδής" text="ἀψευδὴς">does not lie,</w>
<w OGNTsort="114654" ULBorder="---" lemma="G1861" morph="V-ADI-3S" lexeme="ἐπαγγέλλω" text="ἐπηγγείλατο">promised</w>
<w OGNTsort="114658" ULBorder="---" lemma="G4253" morph="PREP" lexeme="πρό" text="πρὸ">before</w>
<w OGNTsort="114652" ULBorder="---" lemma="G166" morph="A-GSF" lexeme="αἰώνιος" text="αἰωνίου">all the ages</w>
<w OGNTsort="114659" ULBorder="---" lemma="G5550" morph="N-GPM" lexeme="χρόνος" text="χρόνων">of time.</w>
</verse>
<verse osisID="tit.1.3">
<Greek>ἐφανέρωσεν δὲ καιροῖς ἰδίοις τὸν λόγον αὐτοῦ ἐν κηρύγματι ὃ ἐπιστεύθην ἐγὼ κατ᾽ ἐπιταγὴν τοῦ Σωτῆρος ἡμῶν Θεοῦ </Greek>
<ULB> At the right time he revealed his word through the preaching with which I have been entrusted according to the command of God our Savior.</ULB>
<residue>q At the he his word through the with which I have been according to the of our . q</residue>
<w OGNTsort="114662" ULBorder="---" lemma="G1161" morph="CONJ" lexeme="δέ" text="δὲ">√</w>
<w OGNTsort="114664" ULBorder="---" lemma="G2398" morph="A-DPM" lexeme="ἴδιος" text="ἰδίοις">At the right</w>
<w OGNTsort="114663" ULBorder="---" lemma="G2540" morph="N-DPM" lexeme="καιρός" text="καιροῖς">time</w>
<w OGNTsort="114661" ULBorder="---" lemma="G5319" morph="V-AAI-3S" lexeme="φανερόω" text="ἐφανέρωσεν">he revealed</w>
<w OGNTsort="114665" ULBorder="---" lemma="G3588" morph="T-ASM" lexeme="ὁ" text="τὸν">√</w>
<w OGNTsort="114667" ULBorder="---" lemma="G846" morph="P-GSM" lexeme="αὐτός" text="αὐτοῦ">his</w>
<w OGNTsort="114666" ULBorder="---" lemma="G3056" morph="N-ASM" lexeme="λόγος" text="λόγον">word</w>
<w OGNTsort="114668" ULBorder="---" lemma="G1722" morph="PREP" lexeme="ἐν" text="ἐν">through</w>
<w OGNTsort="114669" ULBorder="---" lemma="G2782" morph="N-DSN" lexeme="κήρυγμα" text="κηρύγματι">the preaching</w>
<w OGNTsort="114670" ULBorder="---" lemma="G3739" morph="R-ASN" lexeme="ὅς, ἥ" text="ὃ">with which</w>
<w OGNTsort="114672" ULBorder="---" lemma="G1473" morph="P-1NS" lexeme="ἐγώ" text="ἐγὼ">I</w>
<w OGNTsort="114671" ULBorder="---" lemma="G4100" morph="V-API-1S" lexeme="πιστεύω" text="ἐπιστεύθην">have been entrusted</w>
<w OGNTsort="114673" ULBorder="---" lemma="G2596" morph="PREP" lexeme="κατά" text="κατ᾽">according to</w>
<w OGNTsort="114674" ULBorder="---" lemma="G2003" morph="N-ASF" lexeme="ἐπιταγή" text="ἐπιταγὴν">the command</w>
<w OGNTsort="114675" ULBorder="---" lemma="G3588" morph="T-GSM" lexeme="ὁ" text="τοῦ">of</w>
<w OGNTsort="114678" ULBorder="---" lemma="G2316" morph="N-GSM" lexeme="θεός" text="Θεοῦ">God</w>
<w OGNTsort="114677" ULBorder="---" lemma="G1473" morph="P-1GP" lexeme="ἐγώ" text="ἡμῶν">our</w>
<w OGNTsort="114676" ULBorder="---" lemma="G4990" morph="N-GSM" lexeme="σωτήρ" text="Σωτῆρος">Savior</w>
</verse>
<verse osisID="tit.1.4">
<Greek>Τίτῳ γνησίῳ τέκνῳ κατὰ κοινὴν πίστιν Χάρις καὶ εἰρήνη ἀπὸ Θεοῦ Πατρὸς καὶ Χριστοῦ Ἰησοῦ τοῦ Σωτῆρος ἡμῶν </Greek>
<ULB> To Titus, a true son in our common faith. Grace and peace from God the Father and Christ Jesus our Savior.</ULB>
<residue>q To , a in our common . Grace and from the and our . q</residue>
<preText>\p \v 4</preText>
<w OGNTsort="114679" ULBorder="---" lemma="G5103" morph="N-DSM-P" lexeme="Τίτος" text="Τίτῳ">To Titus,</w>
<w OGNTsort="114680" ULBorder="---" lemma="G1103" morph="A-DSN" lexeme="γνήσιος" text="γνησίῳ">a true</w>
<w OGNTsort="114681" ULBorder="---" lemma="G5043" morph="N-DSN" lexeme="τέκνον" text="τέκνῳ">son</w>
<w OGNTsort="114682" ULBorder="---" lemma="G2596" morph="PREP" lexeme="κατά" text="κατὰ">in</w>
<w OGNTsort="114683" ULBorder="---" lemma="G2839" morph="A-ASF" lexeme="κοινός" text="κοινὴν">our common</w>
<w OGNTsort="114684" ULBorder="---" lemma="G4102" morph="N-ASF" lexeme="πίστις" text="πίστιν">faith.</w>
<w OGNTsort="114685" ULBorder="---" lemma="G5485" morph="N-NSF" lexeme="χάρις" text="Χάρις">Grace</w>
<w OGNTsort="114686" ULBorder="---" lemma="G2532" morph="CONJ" lexeme="καί" text="καὶ">and</w>
<w OGNTsort="114687" ULBorder="---" lemma="G1515" morph="N-NSF" lexeme="εἰρήνη" text="εἰρήνη">peace</w>
<w OGNTsort="114688" ULBorder="---" lemma="G575" morph="PREP" lexeme="ἀπό" text="ἀπὸ">from</w>
<w OGNTsort="114689" ULBorder="---" lemma="G2316" morph="N-GSM" lexeme="θεός" text="Θεοῦ">God</w>
<w OGNTsort="114690" ULBorder="---" lemma="G3962" morph="N-GSM" lexeme="πατήρ" text="Πατρὸς">the Father</w>
<w OGNTsort="114691" ULBorder="---" lemma="G2532" morph="CONJ" lexeme="καί" text="καὶ">and</w>
<w OGNTsort="114692" ULBorder="---" lemma="G5547" morph="N-GSM-T" lexeme="Χριστός" text="Χριστοῦ">Christ</w>
<w OGNTsort="114693" ULBorder="---" lemma="G2424" morph="N-GSM-P" lexeme="Ἰησοῦς" text="Ἰησοῦ">Jesus</w>
<w OGNTsort="114694" ULBorder="---" lemma="G3588" morph="T-GSM" lexeme="ὁ" text="τοῦ">√</w>
<w OGNTsort="114696" ULBorder="---" lemma="G1473" morph="P-1GP" lexeme="ἐγώ" text="ἡμῶν">our</w>
<w OGNTsort="114695" ULBorder="---" lemma="G4990" morph="N-GSM" lexeme="σωτήρ" text="Σωτῆρος">Savior</w>
</verse>
<verse osisID="tit.1.5">
<Greek>Τούτου χάριν ἀπέλιπόν σε ἐν Κρήτῃ ἵνα τὰ λείποντα ἐπιδιορθώσῃ καὶ καταστήσῃς κατὰ πόλιν πρεσβυτέρους ὡς ἐγώ σοι διεταξάμην </Greek>
<ULB> For this purpose I left you in Crete, that you might set in order things not yet complete and ordain elders in every city as I directed you.</ULB>
<residue>q For this purpose I left you in , that you might set in things not yet complete and ordain in every city as I you. q</residue>
<preText>\p \v 5</preText>
<w OGNTsort="114697" ULBorder="---" lemma="G3778" morph="D-GSN" lexeme="οὗτος" text="Τούτου">For this</w>
<w OGNTsort="114698" ULBorder="---" lemma="G5484" morph="PREP" lexeme="χάριν" text="χάριν">reson</w>
<w OGNTsort="114699" ULBorder="---" lemma="G620" morph="V-2AAI-1S" lexeme="ἀπολείπω" text="ἀπέλιπόν">I left</w>
<w OGNTsort="114700" ULBorder="---" lemma="G4771" morph="P-2AS" lexeme="σύ" text="σε">you</w>
<w OGNTsort="114701" ULBorder="---" lemma="G1722" morph="PREP" lexeme="ἐν" text="ἐν">in</w>
<w OGNTsort="114702" ULBorder="---" lemma="G2914" morph="N-DSF-L" lexeme="Κρήτη" text="Κρήτῃ">Crete,</w>
<w OGNTsort="114703" ULBorder="---" lemma="G2443" morph="CONJ" lexeme="ἵνα" text="ἵνα">that</w>
<w OGNTsort="114706" ULBorder="---" lemma="G1930" morph="V-AMS-2S" lexeme="ἐπιδιορθόω" text="ἐπιδιορθώσῃ">you might set in order</w>
<w OGNTsort="114704" ULBorder="---" lemma="G3588" morph="T-APN" lexeme="ὁ" text="τὰ">√</w>
<w OGNTsort="114705" ULBorder="---" lemma="G3007" morph="V-PAP-APN" lexeme="λείπω" text="λείποντα">things not yet complete</w>
<w OGNTsort="114707" ULBorder="---" lemma="G2532" morph="CONJ" lexeme="καί" text="καὶ">and</w>
<w OGNTsort="114708" ULBorder="---" lemma="G2525" morph="V-AAS-2S" lexeme="καθίστημι" text="καταστήσῃς">ordain</w>
<w OGNTsort="114711" ULBorder="---" lemma="G4245" morph="A-APM" lexeme="πρεσβύτερος" text="πρεσβυτέρους">elders</w>
<w OGNTsort="114709" ULBorder="---" lemma="G2596" morph="PREP" lexeme="κατά" text="κατὰ">in every</w>
<w OGNTsort="114710" ULBorder="---" lemma="G4172" morph="N-ASF" lexeme="πόλις" text="πόλιν">city</w>
<w OGNTsort="114712" ULBorder="---" lemma="G5613" morph="CONJ" lexeme="ὡς" text="ὡς">as</w>
<w OGNTsort="114713" ULBorder="---" lemma="G1473" morph="P-1NS" lexeme="ἐγώ" text="ἐγώ">I</w>
<w OGNTsort="114715" ULBorder="---" lemma="G1299" morph="V-AMI-1S" lexeme="διατάσσω" text="διεταξάμην">directed</w>
<w OGNTsort="114714" ULBorder="---" lemma="G4771" morph="P-2DS" lexeme="σύ" text="σοι">you.</w>
</verse>
</chapter>
</div>
</book>
</xml>

File diff suppressed because one or more lines are too long