Difference between revisions of "DevTools:IMP Format"

From CrossWire Bible Society
Jump to: navigation, search
(General books: CrossWire now accepts)
(Moved: '''IMPORTANT:''' CrossWire now accepts only GenBook modules and LexDict modules in IMP format. Bibles must be in either VPL or OSIS format.)
Line 1: Line 1:
 +
'''IMPORTANT:''' CrossWire now accepts only GenBook modules and LexDict modules in IMP format. Bibles must be in either VPL or OSIS format.
 +
 
==IMP Format==
 
==IMP Format==
 
The [[File Formats#IMP|IMP]] or import format is the most versatile of the import formats and may be used in creating all types of modules (Bibles, commentaries, dictionaries, daily devotionals, glossaries, general books, etc.) in any supported markup (GBF, ThML, OSIS or TEI). Each entry in an imp file may take as many lines as are needed. The first line of the entry will have a format such as "$$$<key>" and will be followed by all lines of text that should be included with that entry.
 
The [[File Formats#IMP|IMP]] or import format is the most versatile of the import formats and may be used in creating all types of modules (Bibles, commentaries, dictionaries, daily devotionals, glossaries, general books, etc.) in any supported markup (GBF, ThML, OSIS or TEI). Each entry in an imp file may take as many lines as are needed. The first line of the entry will have a format such as "$$$<key>" and will be followed by all lines of text that should be included with that entry.
Line 52: Line 54:
 
  $$$/War/Book 1/Chapter 1/Section 2
 
  $$$/War/Book 1/Chapter 1/Section 2
 
  Section 2 of Chapter 1 of Book 1 of the War of the Jews
 
  Section 2 of Chapter 1 of Book 1 of the War of the Jews
 
'''CrossWire now accepts only GenBook modules and LexDict modules in IMP format. Bibles must be in VPL or OSIS'''
 
  
 
[[Category:Development tools|IMP Format]]
 
[[Category:Development tools|IMP Format]]

Revision as of 17:12, 8 January 2018

IMPORTANT: CrossWire now accepts only GenBook modules and LexDict modules in IMP format. Bibles must be in either VPL or OSIS format.

IMP Format

The IMP or import format is the most versatile of the import formats and may be used in creating all types of modules (Bibles, commentaries, dictionaries, daily devotionals, glossaries, general books, etc.) in any supported markup (GBF, ThML, OSIS or TEI). Each entry in an imp file may take as many lines as are needed. The first line of the entry will have a format such as "$$$<key>" and will be followed by all lines of text that should be included with that entry.

Bibles

A Biblical text in IMP format would be written as:

$$$Genesis 1:1
In the beginning God created the heaven and the earth.
$$$Genesis 1:2
And the earth was without form, and void; and darkness was upon the face of the deep. And the Spirit of God moved upon the face of the waters.

With multiline content per key[1], any content line (except the last for each key) that would otherwise end with a space should be terminated by the continuation code \ (reverse solidus) to prevent joining words. e.g.

$$$Genesis 1:2
And the earth was without form, and void; \
and darkness was upon the face of the deep. \
And the Spirit of God moved upon the face of the waters.
$$$Genesis 1:3
  1. Please also read http://tracker.crosswire.org/browse/MODTOOLS-92

Commentaries

Commentaries would follow the same format, but would probably include a greater number of lines of text. If your Bible or commentary uses a single entry to handle multiple verses, simply give a list or range of verses as the key (e.g. "$$$Genesis 1:1-5", "$$$Exodus 1", "$$$Leviticus 1:1,5").

Dictionaries, etc

Lexicons, dictionaries, glossaries would take a form such as:

$$$Adam
Adam was the first man created by God.
$$$Eve
Eve was the first woman created by God.

Daily devotionals

For daily devotionals, you must encode the key as "$$$mm.dd", such as "$$$01.01" for January 1st and "$$$12.31" for December 31st.
Example from M'Cheyne's Bible Reading Calendar for January 1st:

$$$01.01
<br />Family Reading: <scripRef>Genesis 1</scripRef>
<br />Family Reading: <scripRef>Matthew 1</scripRef>
<br />Secret Reading: <scripRef>Ezra 1</scripRef>
<br />Secret Reading: <scripRef>Acts 1</scripRef>

Here the scripRef element is from ThML.

General books

General books are encoded with each book division as a separate entry. The entries are then listed as a tree hierarchy with keys similar to a file system directory structure. For example, if you were encoding the Josephus' Works, you might have a structure like this:

$$$/War
The War of the Jews
$$$/War/Book 1
Book 1 of the War of the Jews
$$$/War/Book 1/Chapter 1
Chapter 1 of Book 1 of the War of the Jews
$$$/War/Book 1/Chapter 1/Section 1
Section 1 of Chapter 1 of Book 1 of the War of the Jews
$$$/War/Book 1/Chapter 1/Section 2
Section 2 of Chapter 1 of Book 1 of the War of the Jews