-
Notifications
You must be signed in to change notification settings - Fork 5
Description
It is commonly used in the Natural Language Processing world to refer to verses by their Book\Chapter\Verse format. This looks like: 01001001 format (string) with the first two characters being the book ID number, the next three characters being the chapter number, and the final three numbers being the verse number.
Ideally, this tag would be an attribute of the VMarker that is generated during parsing so that user can drill down to the verse quickly.
The book numbers can be extracted from this list (I have no idea why book 40 is skipped from the official list):
// initialize the list
List<Book> books = new List<Book>
{
new Book{BookID = "01", BookNameShort = "GEN", USFM_Num = 1},
new Book{BookID = "02", BookNameShort = "EXO", USFM_Num = 2},
new Book{BookID = "03", BookNameShort = "LEV", USFM_Num = 3},
new Book{BookID = "04", BookNameShort = "NUM", USFM_Num = 4},
new Book{BookID = "05", BookNameShort = "DEU", USFM_Num = 5},
new Book{BookID = "06", BookNameShort = "JOS", USFM_Num = 6},
new Book{BookID = "07", BookNameShort = "JDG", USFM_Num = 7},
new Book{BookID = "08", BookNameShort = "RUT", USFM_Num = 8},
new Book{BookID = "09", BookNameShort = "1SA", USFM_Num = 9},
new Book{BookID = "10", BookNameShort = "2SA", USFM_Num = 10},
new Book{BookID = "11", BookNameShort = "1KI", USFM_Num = 11},
new Book{BookID = "12", BookNameShort = "2KI", USFM_Num = 12},
new Book{BookID = "13", BookNameShort = "1CH", USFM_Num = 13},
new Book{BookID = "14", BookNameShort = "2CH", USFM_Num = 14},
new Book{BookID = "15", BookNameShort = "EZR", USFM_Num = 15},
new Book{BookID = "16", BookNameShort = "NEH", USFM_Num = 16},
new Book{BookID = "17", BookNameShort = "EST", USFM_Num = 17},
new Book{BookID = "18", BookNameShort = "JOB", USFM_Num = 18},
new Book{BookID = "19", BookNameShort = "PSA", USFM_Num = 19},
new Book{BookID = "20", BookNameShort = "PRO", USFM_Num = 20},
new Book{BookID = "21", BookNameShort = "ECC", USFM_Num = 21},
new Book{BookID = "22", BookNameShort = "SNG", USFM_Num = 22},
new Book{BookID = "23", BookNameShort = "ISA", USFM_Num = 23},
new Book{BookID = "24", BookNameShort = "JER", USFM_Num = 24},
new Book{BookID = "25", BookNameShort = "LAM", USFM_Num = 25},
new Book{BookID = "26", BookNameShort = "EZK", USFM_Num = 26},
new Book{BookID = "27", BookNameShort = "DAN", USFM_Num = 27},
new Book{BookID = "28", BookNameShort = "HOS", USFM_Num = 28},
new Book{BookID = "29", BookNameShort = "JOL", USFM_Num = 29},
new Book{BookID = "30", BookNameShort = "AMO", USFM_Num = 30},
new Book{BookID = "31", BookNameShort = "OBA", USFM_Num = 31},
new Book{BookID = "32", BookNameShort = "JON", USFM_Num = 32},
new Book{BookID = "33", BookNameShort = "MIC", USFM_Num = 33},
new Book{BookID = "34", BookNameShort = "NAM", USFM_Num = 34},
new Book{BookID = "35", BookNameShort = "HAB", USFM_Num = 35},
new Book{BookID = "36", BookNameShort = "ZEP", USFM_Num = 36},
new Book{BookID = "37", BookNameShort = "HAG", USFM_Num = 37},
new Book{BookID = "38", BookNameShort = "ZEC", USFM_Num = 38},
new Book{BookID = "39", BookNameShort = "MAL", USFM_Num = 39},
new Book{BookID = "41", BookNameShort = "MAT", USFM_Num = 41},
new Book{BookID = "42", BookNameShort = "MRK", USFM_Num = 42},
new Book{BookID = "43", BookNameShort = "LUK", USFM_Num = 43},
new Book{BookID = "44", BookNameShort = "JHN", USFM_Num = 44},
new Book{BookID = "45", BookNameShort = "ACT", USFM_Num = 45},
new Book{BookID = "46", BookNameShort = "ROM", USFM_Num = 46},
new Book{BookID = "47", BookNameShort = "1CO", USFM_Num = 47},
new Book{BookID = "48", BookNameShort = "2CO", USFM_Num = 48},
new Book{BookID = "49", BookNameShort = "GAL", USFM_Num = 49},
new Book{BookID = "50", BookNameShort = "EPH", USFM_Num = 50},
new Book{BookID = "51", BookNameShort = "PHP", USFM_Num = 51},
new Book{BookID = "52", BookNameShort = "COL", USFM_Num = 52},
new Book{BookID = "53", BookNameShort = "1TH", USFM_Num = 53},
new Book{BookID = "54", BookNameShort = "2TH", USFM_Num = 54},
new Book{BookID = "55", BookNameShort = "1TI", USFM_Num = 55},
new Book{BookID = "56", BookNameShort = "2TI", USFM_Num = 56},
new Book{BookID = "57", BookNameShort = "TIT", USFM_Num = 57},
new Book{BookID = "58", BookNameShort = "PHM", USFM_Num = 58},
new Book{BookID = "59", BookNameShort = "HEB", USFM_Num = 59},
new Book{BookID = "60", BookNameShort = "JAS", USFM_Num = 60},
new Book{BookID = "61", BookNameShort = "1PE", USFM_Num = 61},
new Book{BookID = "62", BookNameShort = "2PE", USFM_Num = 62},
new Book{BookID = "63", BookNameShort = "1JN", USFM_Num = 63},
new Book{BookID = "64", BookNameShort = "2JN", USFM_Num = 64},
new Book{BookID = "65", BookNameShort = "3JN", USFM_Num = 65},
new Book{BookID = "66", BookNameShort = "JUD", USFM_Num = 66},
new Book{BookID = "67", BookNameShort = "REV", USFM_Num = 67}
};With the Book class defined as:
public class Book
{
public string BookID { get; set; }
public string BookNameShort { get; set; }
public int USFM_Num { get; set; }
}I'm not sure if this is something that could be useful in this library or not, but I'll be needing this eventually. Also note, that I've limited this list to the standard 66 books of the Bible and not all the supplemental books. Obviously, this list could be expanded to include those as well.
Thoughts on including something like this and if there are any breaking issues with making this a VMarker attribute?