├── AugIndex.xml ├── BDBPartsOfSpeech.xml ├── BdbSchema.xsd ├── BrownDriverBriggs.xml ├── HebrewLexicon.pdf ├── HebrewStrong.xml ├── HomeFiles ├── Image │ ├── Branches.svg │ ├── OSHB.ico │ ├── SpiritCard.png │ └── Thumbs.db ├── Lexicon.html ├── Script │ ├── AugIndex.js │ ├── BdbControl.js │ ├── Lexicon.js │ ├── Panel.js │ ├── StrongControl.js │ ├── WordGroup.js │ └── XmlHandling.js ├── Style │ └── LexiconStyle.css ├── Transform │ ├── BdbEntry.xslt │ ├── StrongEntry.xslt │ └── WordGroup.xslt └── readme.md ├── LexicalIndex.xml ├── LiSchema.xsd ├── OldLexicon ├── BdbMesh.xml ├── BdbOutline.xml ├── BdbOutline.xsd ├── Hebrew Lexicon Schema.pdf ├── HebrewLexicon.xsd ├── HebrewMesh.xml └── HebrewMeshRoots.xml ├── PartsOfSpeech.xml ├── StrongSchema.xsd ├── Thumbs.db ├── index.html ├── readme.md └── sinri ├── HebrewStrongDictionary.html ├── README.md ├── StrongXML2Json.php └── json └── StrongHebrewDictionary.json /BDBPartsOfSpeech.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | ,f 6 | And Feminine 7 | 8 | 9 | ? 10 | ? 11 | 12 | 13 | 1pl 14 | 1st Person Plural 15 | 16 | 17 | 1s 18 | 1st Person Singular 19 | 20 | 21 | 2 f 22 | 2nd Person Feminine 23 | 24 | 25 | 2 m 26 | 2nd Person Masculine 27 | 28 | 29 | 2 s 30 | 2nd Person Singular 31 | 32 | 33 | 2mpl 34 | 2nd Person Masculine Plural 35 | 36 | 37 | 2ms 38 | 2nd Person Masculine Singular 39 | 40 | 41 | 3 pl 42 | 3rd Person Plural 43 | 44 | 45 | 3mpl 46 | 3rd Person Masculine Plural 47 | 48 | 49 | 3pl 50 | 3rd Person Plural 51 | 52 | 53 | 3s 54 | 3rd Person Singular 55 | 56 | 57 | a 58 | Adjective 59 | 60 | 61 | abs 62 | Abstract 63 | 64 | 65 | abst 66 | Abstract 67 | 68 | 69 | abstr 70 | Abstract 71 | 72 | 73 | acc 74 | Accusative 75 | 76 | 77 | adj 78 | Adjective 79 | 80 | 81 | adv 82 | Adverb 83 | 84 | 85 | adv 86 | Adverb 87 | 88 | 89 | a-f 90 | Adjective Feminine 91 | 92 | 93 | a-gent 94 | Gentilic Adjective 95 | 96 | 97 | a-m 98 | Adjective Masculine 99 | 100 | 101 | appell 102 | Appellation 103 | 104 | 105 | arbor 106 | Arbor 107 | 108 | 109 | as an exclam 110 | As An Exclamation 111 | 112 | 113 | coll 114 | Collective 115 | 116 | 117 | comm 118 | Common 119 | 120 | 121 | conj 122 | Conjunction 123 | 124 | 125 | cstr 126 | Construct 127 | 128 | 129 | d 130 | Demonstrative Pronoun 131 | 132 | 133 | da 134 | Definite Article 135 | 136 | 137 | deae 138 | Deity 139 | 140 | 141 | definite article 142 | Definite Article 143 | 144 | 145 | dei 146 | Deity 147 | 148 | 149 | demonstr 150 | Demonstrative 151 | 152 | 153 | denom 154 | Denominative 155 | 156 | 157 | div 158 | Divine 159 | 160 | 161 | divin 162 | Divinity 163 | 164 | 165 | dp 166 | Demonstrative Particle 167 | 168 | 169 | du 170 | Dual 171 | 172 | 173 | Dual 174 | Dual 175 | 176 | 177 | emph 178 | Emphatic 179 | 180 | 181 | enclitic part 182 | Enclitic Particle 183 | 184 | 185 | epith 186 | Epithet 187 | 188 | 189 | exclam 190 | Exclamatory 191 | 192 | 193 | exhortation 194 | Exhortation 195 | 196 | 197 | f 198 | Feminine 199 | 200 | 201 | fem 202 | Feminine 203 | 204 | 205 | fl 206 | Flumen 207 | 208 | 209 | flum 210 | Flumen 211 | 212 | 213 | font 214 | Fountain 215 | 216 | 217 | gent 218 | Genitive 219 | 220 | 221 | Haph 222 | Hophal 223 | 224 | 225 | Hiph 226 | Hiphil 227 | 228 | 229 | Hithp 230 | Hithpael 231 | 232 | 233 | Hithpe 234 | Hithpael 235 | 236 | 237 | Hoph 238 | Hophal 239 | 240 | 241 | hypoth 242 | Hypothetical 243 | 244 | 245 | i 246 | Interrogative Pronoun 247 | 248 | 249 | indecl 250 | Indeclinable 251 | 252 | 253 | indef 254 | Indefinite 255 | 256 | 257 | inj 258 | Interjection 259 | 260 | 261 | intens 262 | Intense 263 | 264 | 265 | interj 266 | Interjection 267 | 268 | 269 | interr 270 | Interrogative 271 | 272 | 273 | Interrog 274 | Interrogative 275 | 276 | 277 | interrog 278 | Interrogative 279 | 280 | 281 | intrans 282 | Intransitive 283 | 284 | 285 | loc 286 | Locative 287 | 288 | 289 | m 290 | Masculine 291 | 292 | 293 | mark of accus 294 | Mark Of Accusative 295 | 296 | 297 | masc 298 | Masculine 299 | 300 | 301 | mens 302 | Month 303 | 304 | 305 | mont 306 | Mountain 307 | 308 | 309 | n 310 | Noun 311 | 312 | 313 | n-f 314 | Noun Feminine 315 | 316 | 317 | Niph 318 | Niphal 319 | 320 | 321 | nm 322 | Noun Masculine 323 | 324 | 325 | n-m 326 | Noun Masculine 327 | 328 | 329 | n-m-loc 330 | Noun Masculine Location 331 | 332 | 333 | nom 334 | Nominative 335 | 336 | 337 | noun 338 | Noun 339 | 340 | 341 | np 342 | Negative Particle 343 | 344 | 345 | n-pr 346 | Proper Name 347 | 348 | 349 | n-pr-f 350 | Proper Name Feminine 351 | 352 | 353 | n-pr-loc 354 | Proper Name Location 355 | 356 | 357 | n-pr-m 358 | Proper Name Masculine 359 | 360 | 361 | num 362 | Number 363 | 364 | 365 | of entreaty 366 | Of Entreaty 367 | 368 | 369 | of negation 370 | Of Negation 371 | 372 | 373 | of relation 374 | Of Relation 375 | 376 | 377 | of the 3rd ps 378 | Of The 3Rd Person Singular 379 | 380 | 381 | of time 382 | Of Time 383 | 384 | 385 | ord 386 | Ordinal 387 | 388 | 389 | ordin 390 | Ordinal 391 | 392 | 393 | p 394 | Personal Pronoun 395 | 396 | 397 | part 398 | Particle 399 | 400 | 401 | particle of negation 402 | Particle Of Negation 403 | 404 | 405 | patr 406 | Particle 407 | 408 | 409 | pers 410 | Person 411 | 412 | 413 | Pi 414 | Piel 415 | 416 | 417 | pl 418 | Plural 419 | 420 | 421 | pr 422 | Proper 423 | 424 | 425 | prep 426 | Preposition 427 | 428 | 429 | pron 430 | Pronoun 431 | 432 | 433 | pt 434 | Participle 435 | 436 | 437 | Pu 438 | Pual 439 | 440 | 441 | putei 442 | Well 443 | 444 | 445 | Qal 446 | Qal 447 | 448 | 449 | quadril 450 | Quadril 451 | 452 | 453 | r 454 | Relative Pronoun 455 | 456 | 457 | rel 458 | Relative 459 | 460 | 461 | relative 462 | Relative 463 | 464 | 465 | rpt 466 | Relative Particle 467 | 468 | 469 | rup 470 | Cliff 471 | 472 | 473 | sing 474 | Singular 475 | 476 | 477 | subst 478 | Substantive 479 | 480 | 481 | terr 482 | Territory 483 | 484 | 485 | trib 486 | Tribe 487 | 488 | 489 | unit 490 | Unit 491 | 492 | 493 | urb 494 | City 495 | 496 | 497 | v 498 | Verb 499 | 500 | 501 | vb 502 | Verb 503 | 504 | 505 | verb 506 | Verb 507 | 508 | 509 | verb substantive 510 | Verb Substantive 511 | 512 | 513 | verbal 514 | Verbal 515 | 516 | 517 | voluntative 518 | Voluntative 519 | 520 | 521 | x 522 | Indefinite Pronoun 523 | 524 | 525 | Pe 526 | Piel 527 | 528 | 529 | Po‛el 530 | Pual 531 | 532 | 533 | prt 534 | Particle 535 | 536 | 537 | Pt 538 | Particle 539 | 540 | 541 | sq 542 | Sq 543 | 544 | 545 | -------------------------------------------------------------------------------- /BdbSchema.xsd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |

The BDB schema is version 1.0. 9 | It is released to the public domain.

10 |
11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 |
-------------------------------------------------------------------------------- /HebrewLexicon.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openscriptures/HebrewLexicon/21c9add13bc727d3a951361778e97e3ff7afd1ce/HebrewLexicon.pdf -------------------------------------------------------------------------------- /HomeFiles/Image/Branches.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Branches 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /HomeFiles/Image/OSHB.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openscriptures/HebrewLexicon/21c9add13bc727d3a951361778e97e3ff7afd1ce/HomeFiles/Image/OSHB.ico -------------------------------------------------------------------------------- /HomeFiles/Image/SpiritCard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openscriptures/HebrewLexicon/21c9add13bc727d3a951361778e97e3ff7afd1ce/HomeFiles/Image/SpiritCard.png -------------------------------------------------------------------------------- /HomeFiles/Image/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openscriptures/HebrewLexicon/21c9add13bc727d3a951361778e97e3ff7afd1ce/HomeFiles/Image/Thumbs.db -------------------------------------------------------------------------------- /HomeFiles/Lexicon.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | OSHB Lexicon 6 | 7 | 8 | 9 | 10 |
11 |

– Lexicon

12 |
13 | 21 |
22 | 23 |
24 |
25 | Creative Commons License 26 |
This work is licensed under a 27 | Creative Commons Attribution 4.0 International License. 28 |
29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /HomeFiles/Script/BdbControl.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @fileOverview BDB Control manages the BDB documents. 3 | * @version 1.0 4 | * @author David 5 | */ 6 | bdbControl = function() { 7 | // Set up required variables. 8 | var xmlHandling = window.xmlHandling, 9 | panel = window.panel, 10 | bdbDoc, addContent, currentID, entryDoc, xslt, 11 | xsltProcessor = new XSLTProcessor(); 12 | // Transforms and displays the entryDoc. 13 | function displayEntry() { 14 | var content = xsltProcessor.transformToFragment(entryDoc, document); 15 | addContent(content); 16 | } 17 | // Callback function for XML handling. 18 | function callXSLT() { 19 | xslt = this.responseXML; 20 | xsltProcessor.importStylesheet(xslt); 21 | displayEntry(); 22 | } 23 | // Sets the XSLT style sheet for BDB entries. 24 | function setXSLT(entry) { 25 | entryDoc = xmlHandling.build("lexicon", entry); 26 | if (xslt) { 27 | displayEntry(); 28 | } else { 29 | xmlHandling.load("Transform/BdbEntry.xslt", callXSLT); 30 | } 31 | } 32 | // Gets the entry specified by the currentID. 33 | function getEntry() { 34 | var entry = bdbDoc.getElementById(currentID); 35 | if (entry) { 36 | setXSLT(entry.cloneNode(true)); 37 | } else { 38 | var content = document.createElement("p"); 39 | content.appendChild(document.createTextNode("No entry found for this ID " + currentID)); 40 | addContent(content); 41 | } 42 | } 43 | // Callback function for XML handling. 44 | function callBDB() { 45 | bdbDoc = this.responseXML; 46 | addContent = panel("Brown Driver Briggs"); 47 | getEntry(); 48 | } 49 | // Sets the XML book file to read. 50 | function setBDB(id) { 51 | currentID = id; 52 | if (bdbDoc) { 53 | getEntry(); 54 | } else { 55 | xmlHandling.load("../BrownDriverBriggs.xml", callBDB); 56 | } 57 | } 58 | // Return public interface. 59 | return function(id) { 60 | setBDB(id); 61 | }; 62 | }(); -------------------------------------------------------------------------------- /HomeFiles/Script/Lexicon.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @fileOverview Lexicon is the JavaScript controller for the OSHB Lexicon app. 3 | * @version 1.0 4 | * @author David 5 | */ 6 | (function() { 7 | // Use ID to select entries. 8 | var augments = ["122", "176", "193", "217", "218", "219", "223", "227", "244", "310", "328", "349", "352", "359", "441", "454", "518", "520", "565", "576", "581", "657", "671", "682", "738", "746", "783", "805", "834", "838", "859", "862", "899", "953", "973", "1004", "1090", "1101", "1106", "1109", "1121", "1168", "1197", "1238", "1250", "1254", "1268", "1300", "1304", "1328", "1350", "1356", "1419", "1430", "1436", "1460", "1462", "1471", "1481", "1524", "1550", "1633", "1688", "1699", "1713", "1719", "1754", "1760", "1793", "1799", "1803", "1817", "1826", "1861", "1888", "1913", "1933", "1984", "1995", "2006", "2030", "2048", "2094", "2109", "2114", "2119", "2123", "2131", "2148", "2151", "2174", "2186", "2222", "2235", "2254", "2256", "2258", "2275", "2286", "2290", "2292", "2300", "2342", "2363", "2366", "2403", "2416", "2427", "2470", "2490", "2491", "2492", "2502", "2505", "2506", "2513", "2529", "2530", "2532", "2556", "2557", "2560", "2563", "2575", "2590", "2603", "2608", "2616", "2617", "2654", "2660", "2682", "2686", "2691", "2712", "2717", "2720", "2721", "2742", "2763", "2764", "2771", "2775", "2778", "2790", "2791", "2818", "2836", "2844", "2859", "2870", "2892", "2896", "2902", "2930", "3026", "3039", "3136", "3162", "3227", "3239", "3272", "3293", "3326", "3384", "3399", "3470", "3499", "3512", "3520", "3543", "3559", "3563", "3568", "3581", "3588", "3635", "3641", "3651", "3667", "3669", "3708", "3713", "3715", "3722", "3724", "3733", "3734", "3738", "3739", "3820", "3823", "3833", "3835", "3837", "3856", "3867", "3885", "3886", "3898", "3919", "3971", "3988", "4024", "4057", "4060", "4070", "4116", "4118", "4135", "4149", "4172", "4206", "4207", "4224", "4229", "4245", "4364", "4365", "4409", "4414", "4427", "4445", "4448", "4455", "4478", "4480", "4506", "4531", "4541", "4551", "4569", "4609", "4654", "4659", "4685", "4686", "4718", "4723", "4759", "4853", "4869", "4880", "4881", "4888", "4893", "4894", "4911", "4915", "4916", "4924", "4937", "4938", "4945", "5007", "5015", "5034", "5035", "5077", "5090", "5094", "5102", "5108", "5115", "5116", "5130", "5132", "5137", "5144", "5158", "5170", "5178", "5183", "5198", "5216", "5218", "5234", "5243", "5257", "5258", "5271", "5273", "5274", "5279", "5292", "5299", "5310", "5322", "5327", "5344", "5355", "5356", "5362", "5387", "5391", "5401", "5410", "5425", "5433", "5483", "5492", "5512", "5518", "5526", "5531", "5533", "5541", "5543", "5587", "5591", "5592", "5596", "5599", "5606", "5607", "5608", "5612", "5633", "5640", "5642", "5643", "5674", "5697", "5710", "5713", "5730", "5731", "5737", "5740", "5749", "5753", "5766", "5774", "5788", "5798", "5800", "5844", "5848", "5849", "5858", "5860", "5867", "5868", "5869", "5892", "5921", "5930", "5945", "5953", "5971", "5973", "6001", "6014", "6016", "6030", "6031", "6049", "6060", "6075", "6076", "6087", "6089", "6090", "6105", "6121", "6131", "6152", "6154", "6163", "6166", "6186", "6211", "6213", "6245", "6282", "6286", "6288", "6306", "6327", "6335", "6341", "6363", "6411", "6412", "6452", "6485", "6524", "6537", "6544", "6565", "6567", "6571", "6572", "6595", "6601", "6605", "6612", "6632", "6635", "6643", "6658", "6670", "6672", "6677", "6679", "6692", "6695", "6696", "6718", "6731", "6735", "6743", "6756", "6767", "6781", "6793", "6800", "6807", "6848", "6862", "6867", "6869", "6872", "6887", "6892", "6924", "6957", "6960", "6963", "6965", "6979", "6996", "6999", "7014", "7024", "7049", "7050", "7087", "7097", "7105", "7106", "7110", "7114", "7133", "7136", "7161", "7183", "7189", "7197", "7203", "7218", "7227", "7235", "7280", "7285", "7287", "7298", "7311", "7348", "7356", "7363", "7384", "7389", "7397", "7411", "7417", "7423", "7442", "7447", "7451", "7461", "7462", "7488", "7489", "7497", "7531", "7597", "7602", "7623", "7628", "7641", "7652", "7663", "7673", "7685", "7699", "7704", "7711", "7722", "7737", "7739", "7751", "7754", "7760", "7771", "7777", "7791", "7819", "7892", "7919", "7921", "7936", "7975", "7991", "7997", "7999", "8019", "8077", "8088", "8110", "8138", "8163", "8165", "8173", "8175", "8178", "8186", "8197", "8227", "8240", "8296", "8302", "8314", "8321", "8336", "8385", "8388", "8433", "8438", "8453", "8523", "8556", "8577", "8585", "8599", "8602", "8615", "8625", "8632", "8649"], 9 | wordGroup = window.wordGroup, 10 | aug = window.aug, 11 | lexID = document.getElementById("lexID"); 12 | // Parses a lemma from the OSHB text. 13 | function parseLemma(lemma) { 14 | var parts = lemma.split("/"); 15 | return parts[parts.length - 1].replace(" ", ""); 16 | } 17 | // Click handler for the input form. 18 | function setID() { 19 | var id = parseLemma(lexID.value); 20 | if (parseInt(id) || id.length == 1) { 21 | id = aug[(augments.indexOf(id) >= 0) ? id + "a" : id]; 22 | } 23 | wordGroup.set(id); 24 | return false; 25 | } 26 | document.getElementById("submit").onclick = setID; 27 | lexID.select(); 28 | })(); -------------------------------------------------------------------------------- /HomeFiles/Script/Panel.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @fileOverview Panel manages the display panels. 3 | * @version 1.0 4 | * @author David 5 | */ 6 | panel = function() { 7 | // Access the display elements. 8 | var display = document.getElementById("display"), 9 | tabBar = document.getElementById("tabBar"); 10 | // Utility function to clear child nodes from an element. 11 | function clearNodes(elem) { 12 | while (elem.childNodes.length > 0) { 13 | elem.removeChild(elem.firstChild); 14 | } 15 | } 16 | // Maintains the selected tab. 17 | var selectedTab = function() { 18 | var currentTab = null, 19 | currentPanel = null; 20 | function clearTheOld() { 21 | currentTab.classList.remove("current"); 22 | currentPanel.classList.remove("current"); 23 | } 24 | function setTheNew(tabNode, panelNode) { 25 | currentTab = tabNode; 26 | currentTab.classList.add("current"); 27 | currentPanel = panelNode; 28 | currentPanel.classList.add("current"); 29 | } 30 | return { 31 | setTab: function(tabNode, panelNode) { 32 | clearTheOld(); 33 | setTheNew(tabNode, panelNode); 34 | }, 35 | addTab: function(tabNode, panelNode) { 36 | if (!currentTab) { 37 | setTheNew(tabNode, panelNode); 38 | display.style.visibility = "visible"; 39 | } 40 | } 41 | }; 42 | }(); 43 | // Add a panel to the display. 44 | function addPanel(name) { 45 | var newTab = document.createElement("button"), 46 | newPanel = document.createElement("div"); 47 | newTab.appendChild(document.createTextNode(name)); 48 | // Set the click handler for newTab. 49 | (function(thisPanel) { 50 | newTab.onclick = function() { 51 | selectedTab.setTab(this, thisPanel); 52 | } 53 | })(newPanel); 54 | tabBar.appendChild(newTab); 55 | newPanel.className = "panel"; 56 | display.appendChild(newPanel); 57 | selectedTab.addTab(newTab, newPanel); 58 | // Return function to set content in newPanel. 59 | return function(content) { 60 | clearNodes(newPanel); 61 | newPanel.appendChild(content); 62 | }; 63 | } 64 | // Return the function to add a panel. 65 | return function(name) { 66 | return addPanel(name); 67 | }; 68 | }(); -------------------------------------------------------------------------------- /HomeFiles/Script/StrongControl.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @fileOverview Strong Control manages the Strong documents. 3 | * @version 1.0 4 | * @author David 5 | */ 6 | strongControl = function() { 7 | // Set up required variables. 8 | var xmlHandling = window.xmlHandling, 9 | panel = window.panel, 10 | xmlDoc, addContent, currentID, entryDoc, xslt, 11 | xsltProcessor = new XSLTProcessor(); 12 | // Transforms and displays the entryDoc. 13 | function displayEntry() { 14 | var content = xsltProcessor.transformToFragment(entryDoc, document); 15 | addContent(content); 16 | } 17 | // Callback function for XML handling. 18 | function callXSLT() { 19 | xslt = this.responseXML; 20 | xsltProcessor.importStylesheet(xslt); 21 | displayEntry(); 22 | } 23 | // Sets the XSLT style sheet for Strong entries. 24 | function setXSLT(entry) { 25 | entryDoc = xmlHandling.build("lexicon", entry); 26 | if (xslt) { 27 | displayEntry(); 28 | } else { 29 | xmlHandling.load("Transform/StrongEntry.xslt", callXSLT); 30 | } 31 | } 32 | // Gets the entry specified by the currentID. 33 | function getEntry() { 34 | var entry = xmlDoc.getElementById(currentID); 35 | if (entry) { 36 | setXSLT(entry.cloneNode(true)); 37 | } else { 38 | var content = document.createElement("p"); 39 | content.appendChild(document.createTextNode("No entry found for this ID " + currentID)); 40 | addContent(content); 41 | } 42 | } 43 | // Callback function for XML handling. 44 | function callStrong() { 45 | xmlDoc = this.responseXML; 46 | addContent = panel("Strong’s Dictionary"); 47 | getEntry(); 48 | } 49 | // Sets the XML book file to read. 50 | function setStrong(id) { 51 | currentID = id ? "H" + id : id; 52 | if (xmlDoc) { 53 | getEntry(); 54 | } else { 55 | xmlHandling.load("../HebrewStrong.xml", callStrong); 56 | } 57 | } 58 | // Return public interface. 59 | return function(id) { 60 | setStrong(id); 61 | }; 62 | }(); -------------------------------------------------------------------------------- /HomeFiles/Script/WordGroup.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @fileOverview Word Group manages the Lexical Index documents. 3 | * @version 1.0 4 | * @author David 5 | */ 6 | wordGroup = function() { 7 | // Set up required variables. 8 | var xmlHandling = window.xmlHandling, 9 | bdbControl = window.bdbControl, 10 | strongControl = window.strongControl, 11 | panel = window.panel, 12 | lexID = document.getElementById("lexID"), 13 | xmlDoc, addContent, currentID, entryDoc, xslt, isNew, augID, 14 | xsltProcessor = new XSLTProcessor(); 15 | /****************************************************************************** 16 | * Controlling BDB and Strong. 17 | ******************************************************************************/ 18 | // Set the BDB and Strong IDs from the entry. 19 | function setXref(entry) { 20 | if (entry) { 21 | var xref = entry.getElementsByTagName("xref")[0]; 22 | if (xref) { 23 | if (xref.hasAttribute("bdb")) { 24 | bdbControl(xref.getAttribute("bdb")); 25 | } else { 26 | bdbControl(""); 27 | } 28 | if (xref.hasAttribute("strong")) { 29 | augID = xref.getAttribute("strong") 30 | strongControl(augID); 31 | lexID.value = xref.hasAttribute("aug") ? augID + xref.getAttribute("aug") : augID; 32 | } else { 33 | strongControl(""); 34 | lexID.value = currentID; 35 | } 36 | } 37 | } else { 38 | bdbControl(""); 39 | strongControl(""); 40 | lexID.value = currentID; 41 | } 42 | }; 43 | /****************************************************************************** 44 | * Word Groups Handling. 45 | ******************************************************************************/ 46 | // Transforms and displays the entryDoc. 47 | function displayEntry() { 48 | var content; 49 | // Add the parameter. 50 | xsltProcessor.setParameter(null, "selectedId", currentID); 51 | content = xsltProcessor.transformToFragment(entryDoc, document); 52 | addContent(content); 53 | } 54 | // Callback function for XML handling. 55 | function callXSLT() { 56 | xslt = this.responseXML; 57 | xsltProcessor.importStylesheet(xslt); 58 | displayEntry(); 59 | } 60 | // Sets the XSLT style sheet for Strong entries. 61 | function setXSLT() { 62 | if (xslt) { 63 | displayEntry(); 64 | } else { 65 | xmlHandling.load("Transform/WordGroup.xslt", callXSLT); 66 | } 67 | } 68 | // Gets the etymology of the entry. 69 | function getEtymology(entry) { 70 | var etym = entry.getElementsByTagName("etym")[0], 71 | entryType = "main", content = ""; 72 | if (etym) { 73 | entryType = etym.hasAttribute("type") ? etym.getAttribute("type") : "main"; 74 | content = etym.firstChild ? etym.firstChild.nodeValue : ""; 75 | } 76 | return {type: entryType, ids: content}; 77 | } 78 | // Constructs the XML document for the entry. 79 | function constructXML(entry) { 80 | var etym = getEtymology(entry), main = currentID; 81 | // Find the main entry & construct the word group. 82 | if (etym.type == "sub") { 83 | main = etym.ids; 84 | entry = xmlDoc.getElementById(main).cloneNode(true); 85 | etym = getEtymology(entry); 86 | } 87 | entryDoc = xmlHandling.build("index", entry); 88 | // Add the sun-entries. 89 | var node = entryDoc.documentElement, 90 | subs = etym.ids.split(", "), lim = subs.length, i; 91 | for (i = 0; i < lim; i++) { 92 | if (subs[i]) { 93 | node.appendChild(xmlDoc.getElementById(subs[i]).cloneNode(true)); 94 | } 95 | } 96 | setXSLT(); 97 | } 98 | // Gets the entry specified by the currentID. 99 | function getEntry() { 100 | var entry = xmlDoc.getElementById(currentID); 101 | if (entry) { 102 | // Get BDB & Strong IDs, and call control functions. 103 | entry = entry.cloneNode(true); 104 | setXref(entry) 105 | if (isNew) {constructXML(entry)}; 106 | } else { 107 | setXref(); 108 | var content = document.createElement("p"); 109 | content.appendChild(document.createTextNode("No entry found for this ID " + currentID)); 110 | addContent(content); 111 | } 112 | } 113 | // Callback function for XML handling. 114 | function callLI() { 115 | xmlDoc = this.responseXML; 116 | addContent = panel("Lexical Index"); 117 | getEntry(); 118 | } 119 | // Sets the XML book file to read. 120 | function setXML(id) { 121 | currentID = id; 122 | isNew = true; 123 | if (xmlDoc) { 124 | getEntry(); 125 | } else { 126 | xmlHandling.load("../LexicalIndex.xml", callLI); 127 | } 128 | } 129 | // Return public interface. 130 | return { 131 | select: function(id) { 132 | // Click handler for word group radio buttons. 133 | currentID = id; 134 | isNew = false; 135 | getEntry(); 136 | }, 137 | set: function(id) { 138 | setXML(id); 139 | } 140 | }; 141 | }(); -------------------------------------------------------------------------------- /HomeFiles/Script/XmlHandling.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @fileOverview XML Handling manages XML documents. 3 | * @version 1.0 4 | * @author David 5 | */ 6 | xmlHandling = function() { 7 | // Parses the XML string into a DOM document. 8 | function parseXmlString(xml) { 9 | if (window.DOMParser) 10 | { 11 | parser=new DOMParser(); 12 | xmlDoc=parser.parseFromString(xml, "text/xml"); 13 | } 14 | else // Internet Explorer 15 | { 16 | xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); 17 | xmlDoc.async=false; 18 | xmlDoc.loadXML(xml); 19 | } 20 | return xmlDoc; 21 | } 22 | // Loads the XML document. 23 | // From https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Synchronous_and_Asynchronous_Requests 24 | function xhrSuccess() { 25 | this.callback.apply(this, this.arguments); 26 | } 27 | function xhrError() { 28 | console.error(this.statusText); 29 | } 30 | function loadFile(sURL, fCallback /*, argumentToPass1, argumentToPass2, etc. */) { 31 | var oReq = new XMLHttpRequest(); 32 | oReq.callback = fCallback; 33 | oReq.arguments = Array.prototype.slice.call(arguments, 2); 34 | oReq.onload = xhrSuccess; 35 | oReq.onerror = xhrError; 36 | oReq.open("get", sURL, true); 37 | oReq.send(null); 38 | } 39 | // Builds an XML document from a n XML element. 40 | function buildXMLDoc(name, node) { 41 | var xml = ''; 42 | xml += '<' + name + ' xmlns="http://openscriptures.github.com/morphhb/namespace">'; 43 | xml += ''; 44 | xmlDoc = parseXmlString(xml); 45 | xmlDoc.documentElement.appendChild(node); 46 | return xmlDoc; 47 | } 48 | // Return the public interface. 49 | return { 50 | load: function(filename, callback) { 51 | loadFile(filename, callback); 52 | }, 53 | build: function (name, node) { 54 | return buildXMLDoc(name, node); 55 | } 56 | }; 57 | }(); -------------------------------------------------------------------------------- /HomeFiles/Style/LexiconStyle.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Styles for the OSHB Lexicon app. 3 | * @version 1.0 4 | * @author David 5 | */ 6 | body 7 | { 8 | margin: 0; 9 | background-image: url(../Image/Branches.svg); 10 | font-family: "Palatino Linotype", Palatino, serif; 11 | line-height: 1.5em; 12 | } 13 | header 14 | { 15 | background-color: rgba(240, 140, 170, 0.5); 16 | padding: 1em; 17 | border-bottom: 3px double #482400; 18 | } 19 | h1 20 | { 21 | font: 2em/0.75em "Palatino Linotype", Palatino, serif; 22 | color: #482400; 23 | margin: 0; 24 | padding: 0.15em 0 0.25em 4.5em; 25 | } 26 | h1 span 27 | { 28 | font-size: 60%; 29 | } 30 | h1 span.logo 31 | { 32 | float: left; 33 | font-size: 60%; 34 | position: absolute; 35 | top: 0.75em; 36 | left: 1.75em; 37 | line-height: 0.8em; 38 | } 39 | h3 40 | { 41 | color: #482400; 42 | font-size: 1.2em; 43 | } 44 | /* Navigation styles. */ 45 | nav 46 | { 47 | background-color: rgba(150, 201, 60, 0.75); 48 | border-bottom: 3px double #482400; 49 | padding: 0.25ex 0.25em; 50 | color: #482400; 51 | } 52 | nav input 53 | { 54 | font: 1em "Palatino Linotype", Palatino, serif; 55 | } 56 | nav ul 57 | { 58 | margin: 0; 59 | padding: 0; 60 | list-style: none; 61 | } 62 | nav ul li 63 | { 64 | display: inline-block; 65 | background-color: #77250f; 66 | border: 1px solid #482400; 67 | } 68 | nav ul li.here 69 | { 70 | padding: 0.25em 1em; 71 | background-color: #f7c5d4; 72 | color: #482400; 73 | } 74 | nav ul li a 75 | { 76 | padding: 0.25em 1em; 77 | color: #b0d76d; 78 | text-decoration: none; 79 | display: block; 80 | } 81 | nav ul li a:hover 82 | { 83 | background-color: #97452f; 84 | color: #d0e7ad; 85 | } 86 | /* Tab Bar Navigation styles. */ 87 | nav#tabBar 88 | { 89 | border-bottom: none; 90 | padding: 0.25em 0.25em 0 0.25em; 91 | border-radius: 1em 1em 0 0; 92 | } 93 | nav#tabBar button 94 | { 95 | background-color: #77250f; 96 | margin: 0 0.25em; 97 | padding: 0.25em 1em; 98 | color: #b0d76d; 99 | font-family: "Palatino Linotype", Palatino, serif; 100 | border-radius: 1em 1em 0 0; 101 | } 102 | nav#tabBar button:hover 103 | { 104 | background-color: #97452f; 105 | color: #d0e7ad; 106 | cursor: pointer; 107 | } 108 | nav#tabBar button.current 109 | { 110 | background-color: rgb(255, 254, 251); 111 | color: #482400; 112 | border: 2px solid rgb(255, 254, 251); 113 | cursor: default; 114 | } 115 | /* Content Styles. */ 116 | section.banner 117 | { 118 | text-align: center; 119 | } 120 | section.banner img.responsive 121 | { 122 | max-width: 100%; 123 | height: auto; 124 | border-bottom: 3px double #482400; 125 | } 126 | article 127 | { 128 | margin: 1em ; 129 | padding: 1em 2em; 130 | background-color: rgba(255, 254, 251, 0.6); 131 | border-radius: 1em; 132 | border: 3px double #77250f; 133 | box-shadow: 4px 4px 2px #aaa; 134 | column-count: 2; 135 | column-gap: 3em; 136 | text-align: justify; 137 | /* Testing for hyphenation. */ 138 | -ms-hyphens: auto; 139 | -webkit-hyphens: auto; 140 | hyphens: auto; 141 | } 142 | section#display 143 | { 144 | margin: 1em auto; 145 | background-color: rgba(255, 254, 251, 0.6); 146 | border-radius: 1em; 147 | border: 3px double #77250f; 148 | box-shadow: 4px 4px 2px #aaa; 149 | width: 32em; 150 | visibility: hidden; 151 | } 152 | section#display div.panel 153 | { 154 | margin: 0 1em; 155 | padding-bottom: 1em; 156 | border-radius: 0 0 1em 1em; 157 | min-height: 350px; 158 | max-height: 450px; 159 | overflow: auto; 160 | display: none; 161 | } 162 | section#display div.current 163 | { 164 | display: block; 165 | } 166 | section#display div.panel section 167 | { 168 | padding-top: 1em; 169 | } 170 | div.license 171 | { 172 | margin: 0 0 1em 1em; 173 | } 174 | /* Verse display. */ 175 | span.Hebrew, span.punctuation 176 | { 177 | font: 1.5em/1.6em "SBL Hebrew", "Ezra SIL SR", "Ezra SIL", Cardo, "Times New Roman", David, serif; 178 | direction: rtl; 179 | } 180 | /* 181 | span.Hebrew:hover 182 | { 183 | cursor: pointer; 184 | background-color: rgb(242, 166, 153); 185 | }*/ 186 | span.qere 187 | { 188 | color: blue; 189 | } 190 | span.mark 191 | { 192 | font: 1.2em/1.6em "SBL Hebrew", "Ezra SIL SR", "Ezra SIL", Cardo, "Times New Roman", David, serif; 193 | direction: rtl; 194 | color: green; 195 | } 196 | sup.note 197 | { 198 | color: blue; 199 | cursor: pointer; 200 | direction: ltr; 201 | } 202 | div.selected 203 | { 204 | background-color: rgba(144, 207, 146, 0.6); 205 | } 206 | /* BDB Styles */ 207 | p 208 | { 209 | margin-bottom: 0; 210 | line-height: 1.5em; 211 | } 212 | p.root > span:first-child 213 | { 214 | font-size: 1.8em; 215 | } 216 | span.sense 217 | { 218 | display: block; 219 | margin-left: 1em; 220 | } 221 | span.ref 222 | { 223 | color: green; 224 | cursor: pointer; 225 | } 226 | span.foreign 227 | { 228 | color: red; 229 | } 230 | .xlit, .pos, .stem 231 | { 232 | font-weight: bold; 233 | } 234 | .xlit 235 | { 236 | font-family: "SBL BibLit", "Gentium Plus", serif; 237 | } 238 | .pron, .def, .asp 239 | { 240 | font-style: italic; 241 | } 242 | -------------------------------------------------------------------------------- /HomeFiles/Transform/BdbEntry.xslt: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | root 14 |   15 |   16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | Page , 52 | Status: . 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /HomeFiles/Transform/StrongEntry.xslt: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 |

14 | . 15 | 16 | 17 | 18 | 19 | 20 |

21 |
22 |
23 | 24 | 25 | ‎ 26 | , 27 | 28 | 29 | 30 | 31 | ‎ 32 | , 33 | ; 34 | [; ] 35 | 36 | 37 | 38 | 39 | * 40 | 41 | 42 | 43 |   44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | :—  65 | 66 | 67 |
-------------------------------------------------------------------------------- /HomeFiles/Transform/WordGroup.xslt: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 |
13 |
14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 |
23 |
24 | 25 |
26 | 27 | 28 |
29 |
30 |
31 |
32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | Root: 63 | 64 | 65 | 66 | 67 | 68 | 69 |
-------------------------------------------------------------------------------- /HomeFiles/readme.md: -------------------------------------------------------------------------------- 1 | # The OSHB Lexicon App 2 | 3 | Our Lexicon App is a basic prototype application, to demonstrate the 4 | usage of the different parts of the lexicon, and their connection to 5 | the lemma attributes of the OSHB text. The easiest way to use the app 6 | in this form is to type one of those lemmas into the input box of the 7 | lexicon app, and Enter. 8 | 9 | 1. For example, if you look at Genesis 1:1, the first word has lemma 10 | b/7225. If you type this into the input box, the app will 11 | automatically choose the main word for you. The display should 12 | open up to the Lexical Index tab. It will show you the Word Group 13 | _reshiyth_ belongs to. At the top is the root word, then a list of 14 | words derived from that root, with _reshiyth_ checked. On the Brown, 15 | Driver, Briggs tab, you will find an abridged transcription of the 16 | BDB entry for that word. On the Strong’s Dictionary tab, you will 17 | find the corresponding entry from Strong’s Dictionary. You can use 18 | the radio buttons on the Lexical Index tab to look deeper into the 19 | context of the word in Hebrew. 20 | 21 | 2. The b in b/7225 represents the prefix, _bet_ in Hebrew. If you want 22 | to look up the definition for that, just enter b in the input box. 23 | You will notice that Strong has no entry for that ID. 24 | 25 | 3. The second word has lemma 1254 a. This is an indication that BDB 26 | has more than one entry corresponding to that word. If you enter 27 | the lemma that way, the app will remove the space, and locate the 28 | proper entry. If you want to see the difference in BDB for 1254b, 29 | you can enter that. Some words have as many as five or six entries 30 | in BDB. With the app in its present form, the only way to know that 31 | is either to find the words in the text, or to look at AugIndex.xml 32 | in the [repository](https://github.com/openscriptures/HebrewLexicon). 33 | There are 540 entries in all that are divided this way. 34 | 35 | 4. You can enter any Strong number. The app will automatically add the 36 | a, if needed. The Strong’s definition will still display correctly. 37 | You can investigate the distinctions BDB is making by following the 38 | instructions in #3, above. 39 | 40 | To learn more about the lexicon and what everything means, see the 41 | [documentation](https://github.com/openscriptures/HebrewLexicon/blob/master/HebrewLexicon.pdf). 42 | 43 | August 27, 2019 44 | -------------------------------------------------------------------------------- /LiSchema.xsd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |

The Lexical Index schema is version 1.0. 9 | It is released to the public domain.

10 |
11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 |
-------------------------------------------------------------------------------- /OldLexicon/BdbOutline.xsd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | -------------------------------------------------------------------------------- /OldLexicon/Hebrew Lexicon Schema.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openscriptures/HebrewLexicon/21c9add13bc727d3a951361778e97e3ff7afd1ce/OldLexicon/Hebrew Lexicon Schema.pdf -------------------------------------------------------------------------------- /OldLexicon/HebrewLexicon.xsd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |

The HebrewLexicon schema is version 1.2. 9 | It is released to the public domain.

10 |
11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 |
150 | -------------------------------------------------------------------------------- /PartsOfSpeech.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | a 6 | Adjective 7 | 8 | 9 | a-f 10 | Adjective Feminine 11 | 12 | 13 | a-gent 14 | Gentilic Adjective 15 | 16 | 17 | a-m 18 | Adjective Masculine 19 | 20 | 21 | adv 22 | Adverb 23 | 24 | 25 | arbor 26 | Arbor 27 | 28 | 29 | comm 30 | Common 31 | 32 | 33 | conj 34 | Conjunction 35 | 36 | 37 | cstr 38 | Construct 39 | 40 | 41 | d 42 | Demonstrative Pronoun 43 | 44 | 45 | da 46 | Definite Article 47 | 48 | 49 | deae 50 | Deity 51 | 52 | 53 | dei 54 | Deity 55 | 56 | 57 | denom 58 | Denominative 59 | 60 | 61 | div 62 | Divine 63 | 64 | 65 | dp 66 | Demonstrative Particle 67 | 68 | 69 | du 70 | Dual 71 | 72 | 73 | enclitic part 74 | Enclitic Particle 75 | 76 | 77 | epith 78 | Epithet 79 | 80 | 81 | fl 82 | Flumen 83 | 84 | 85 | flum 86 | Flumen 87 | 88 | 89 | font 90 | Fountain 91 | 92 | 93 | indef 94 | Indefinite 95 | 96 | 97 | inj 98 | Interjection 99 | 100 | 101 | i 102 | Interrogative Pronoun 103 | 104 | 105 | mens 106 | Month 107 | 108 | 109 | mont 110 | Mountain 111 | 112 | 113 | np 114 | Negative Particle 115 | 116 | 117 | n 118 | Noun 119 | 120 | 121 | n-f 122 | Noun Feminine 123 | 124 | 125 | n-m 126 | Noun Masculine 127 | 128 | 129 | n-m-loc 130 | Noun Masculine Location 131 | 132 | 133 | n-pr 134 | Proper Name 135 | 136 | 137 | n-pr-f 138 | Proper Name Feminine 139 | 140 | 141 | n-pr-loc 142 | Proper Name Location 143 | 144 | 145 | n-pr-m 146 | Proper Name Masculine 147 | 148 | 149 | p 150 | Personal Pronoun 151 | 152 | 153 | pr 154 | Proper 155 | 156 | 157 | prep 158 | Preposition 159 | 160 | 161 | pron 162 | Pronoun 163 | 164 | 165 | prt 166 | Particle 167 | 168 | 169 | pt 170 | Participle 171 | 172 | 173 | putei 174 | Well 175 | 176 | 177 | r 178 | Relative Pronoun 179 | 180 | 181 | rpt 182 | Relative Particle 183 | 184 | 185 | rup 186 | Cliff 187 | 188 | 189 | sg 190 | Singular 191 | 192 | 193 | terr 194 | Territory 195 | 196 | 197 | trib 198 | Tribe 199 | 200 | 201 | urb 202 | City 203 | 204 | 205 | v 206 | Verb 207 | 208 | 209 | x 210 | Indefinite Pronoun 211 | 212 | -------------------------------------------------------------------------------- /StrongSchema.xsd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |

The Strong schema is version 1.0. 9 | It is released to the public domain.

10 |
11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 |
-------------------------------------------------------------------------------- /Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openscriptures/HebrewLexicon/21c9add13bc727d3a951361778e97e3ff7afd1ce/Thumbs.db -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | OSHB Lexicon 6 | 7 | 8 | 9 | 10 |
11 |

– Lexicon

12 |
13 | 19 | 22 |
23 |

The OSHB Hebrew Lexicon is based in some significant work that has been done in 24 | matching the words of the Hebrew Bible to the entries in Brown, Driver, Briggs 25 | Hebrew and English Lexicon of the Old Testament. This provides a great amount 26 | of in-depth analysis of the individual words. At the same time, we recognize the 27 | value of the dictionary approach to accessing word definitions. We are also 28 | considering the great popularity of Strong’s Concordance, not only among Bible readers, 29 | but also among websites providing online access to the Bible. So we have merged the 30 | numbering of James Strong’s Concise Dictionary of the Words in the Hebrew Bible 31 | into the references in the Hebrew Bible. These are then augmented by letters 32 | distinguishing words where BDB has a finer-grained analysis. These augmented Strong 33 | numbers are then aligned with the entries in our lexicon. See the 34 | Lexicon App for a demonstration.

35 | 36 |

The Lexical Index was formed as a hub where all this information comes together. 37 | It includes the dictionary form of the word, its part of speech, a short gloss of its 38 | meaning, cross-reference information for the other parts of the system, and 39 | derivative information, for investigating the etymology of the word. It is also 40 | intended to make the lexicon extensible to include 41 | other works in the future. As I use the lexicon files in my own applications, I 42 | generate groups of related words, from the Lexical Index, as in the illustration, and 43 | connect with the specific word of interest at the time. This gives a more well-rounded 44 | understanding of the word within the language, as well as its scriptural context. The 45 | Lexicon App illustrates this usage of the lexicon.

46 | 47 |

If you want a more detailed description, you can see the 48 | Hebrew Lexicon Documentation. 49 | The files of the lexicon are also available at the 50 | OSHB Hebrew Lexicon, 51 | as well as the XML schema definition for each part of the lexicon. For more information 52 | on the Open Scriptures Hebrew Bible project in general, see the 53 | OSHB home page.

54 |
55 |
56 | Creative Commons License 57 |
This work is licensed under a 58 | Creative Commons Attribution 4.0 International License. 59 |
60 | 61 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # The OSHB Hebrew Lexicon 2 | 3 | The Hebrew Lexicon is established in a modular format. It is comprised 4 | of three separate files: 5 | 6 | 1. BrownDriverBriggs.xml contains the current BDB content. It remains 7 | a work in progress. Entries can be filled out over time, especially 8 | in the area of completing the scripture references, and Hebrew words. 9 | 10 | 2. HebrewStrong.xml contains the content for Strong’s Hebrew Dictionary. 11 | Numerous corrections have been made, since the initial offering, in a 12 | significantly different form. The layout now has duplicated entries 13 | recombined. 14 | 15 | 3. LexicalIndex.xml is now the meeting place of BDB, Strong and the 16 | TWOT numbers, again significantly improved from the original Strong's 17 | Dictionary, and incorporating corrections that have arisen in the 18 | process of constructing the new lexicon. 19 | 20 | The lexical index is meant to bridge the gap between the accessibility 21 | and ubiquity of Strong's Dictionary, and the comprehensiveness and 22 | accuracy of BDB. For those versed in Hebrew, and wanting the depth of 23 | BDB, it can now be accessed on its own terms. For those more familiar 24 | with Strong numbers, or having current applications based on them, the 25 | lexical index provides access directly to entries via the Strong numbers. 26 | 27 | Additional files for the current iteration of the lexicon include: 28 | 29 | 1. AugIndex.xml to map the augmented Strong numbers of the OSHB to the 30 | IDs of the lexical index. 31 | 32 | 2. BdbSchema.xsd the XML schema for BrownDriverBriggs.xml. 33 | 34 | 3. LiSchema.xsd the XML schema for LexicalIndex.xml. 35 | 36 | 4. StrongSchema.xsd the XML schema for HebrewStrong.xml. 37 | 38 | 5. HebrewLexicon.pdf documentation for all parts of the lexicon. 39 | 40 | 6. index.html and its HomeFiles directory have been added to provide a 41 | home page for the lexicon project. 42 | 43 | 7. HomeFiles has been significantly expanded to implement the Lexicon 44 | App, for demonstrating the possibilities of the lexicon. 45 | 46 | TWOT numbers are included for reference purposes only. We are in no way 47 | directly transcribing the Theological Wordbook of the Old Testament. 48 | 49 | Thanks to Daniel Owens, for much help, especially in transcribing the 50 | main entries, not listed in Strong’s. 51 | 52 | These files are released under the 53 | [Creative Commons Attribution 4.0 International](http://creativecommons.org/licenses/by/4.0/) 54 | license. The actual text of Brown, Driver, Briggs and Strong’s Hebrew 55 | dictionary remain in the public domain. For attribution purposes, 56 | credit the Open Scriptures Hebrew Bible Project. 57 | 58 | Updated 8/27/2019 59 | Updated 8/2/2019 60 | 7/5/2013 61 | -------------------------------------------------------------------------------- /sinri/HebrewStrongDictionary.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Hebrew Strong Dictionary 6 | 7 | 53 | 83 | 84 | 85 |

Hebrew Strong Dictionary

86 |
87 |

88 | Hebrew: 89 | 90 | 91 |

92 |

93 | Strong Number: 94 | 95 | 96 |

97 |
98 |
99 | 100 |
101 | 104 | 105 | 106 | -------------------------------------------------------------------------------- /sinri/README.md: -------------------------------------------------------------------------------- 1 | # JSONify! 2 | 3 | provide tools to turn the Strong's Hebrew XML data into json, and provide a html sample to use as a live dictionay. 4 | 5 | > By Sinri Edogawa, 2017 March 18th 6 | 7 | > For attribution purposes, the XML building project is https://github.com/openscriptures/HebrewLexicon. 8 | 9 | > These files are released under the Creative Commons Attribution 4.0 International(http://creativecommons.org/licenses/by/4.0/) license. The actual text of Brown, Driver, Briggs and Strong’s Hebrew dictionary remain in the public domain. For attribution purposes, credit the Open Scriptures Hebrew Bible Project. -------------------------------------------------------------------------------- /sinri/StrongXML2Json.php: -------------------------------------------------------------------------------- 1 | אָב 18 | $w=[ 19 | "pos"=>(String)$entry->w['pos'], 20 | "pron"=>(String)$entry->w['pron'], 21 | "xlit"=>(String)$entry->w['xlit'], 22 | "src"=>(String)$entry->w['src'], 23 | "w"=>(String)$entry->w, 24 | ]; 25 | // 2. a primitive word; 26 | $source=$entry->source->asXML(); 27 | // 3. father, in a literal and immediate, or figurative and remote application 28 | $meaning=$entry->meaning->asXML(); 29 | // 4. chief, (fore-) father(-less), × patrimony, principal. Compare names in 'Abi-'. 30 | $usage=$entry->usage->asXML(); 31 | // 5. optional xlit ʼĂbîyshûwac corrected to ʼĂbîyshûwaʻ 32 | $note=$entry->note->asXML(); 33 | 34 | $dictionary[$entry_id]=[ 35 | "w"=>$w, 36 | "source"=>makeFalseAsEmptyString($source), 37 | "meaning"=>makeFalseAsEmptyString($meaning), 38 | "usage"=>makeFalseAsEmptyString($usage), 39 | "note"=>makeFalseAsEmptyString($note), 40 | ]; 41 | $dictionary_mapping[$w['w']]=$entry_id; 42 | // echo $entry_id." Done. "; 43 | // if($debug_limit--<0)break; 44 | } 45 | echo PHP_EOL; 46 | // print_r($dictionary); 47 | // print_r($dictionary_mapping); 48 | 49 | $strong_book = ["dict"=>$dictionary,"mapping"=>$dictionary_mapping]; 50 | 51 | $text=json_encode($strong_book); 52 | if(file_exists($json_file_path)){ 53 | unlink($json_file_path); 54 | } 55 | $bytes=file_put_contents($json_file_path, $text); 56 | echo "Byte/{$bytes} written to {$json_file_path}!".PHP_EOL; 57 | 58 | function makeFalseAsEmptyString($x){ 59 | if(empty($x))$x=""; 60 | return $x; 61 | } --------------------------------------------------------------------------------