Difference between revisions of "DevTools:conf Files"

From CrossWire Bible Society
Jump to: navigation, search
(New page: =Creating a .conf File= ==.conf File Layout== The conf file tells the Sword engine how to treat installed module files, etc. which kind of markup they contain, and so forth. Below is a li...)
 
(auto-wikified table (using http://www.uni-bonn.de/~manfear/html2wiki-tables.php))
Line 13: Line 13:
 
Enumerated values are shown in bold. These should be used exactly as given and no other values should be used.
 
Enumerated values are shown in bold. These should be used exactly as given and no other values should be used.
  
<table width="100%" border="1">
+
{|  width="100%" border="1"  
  <tr>
+
! Element
<th>Element</th>
+
! Values (type or enumerated)
<th>Values (type or enumerated)</th>
+
! Default Value
<th>Default Value</th>
+
! Allows
<th>Allows</th>
+
|-
  </tr>
+
colspan="4" | Required Elements
  <tr>
+
|-
<th colspan="4">Required Elements</th>
+
| [name]
  </tr>
+
| Each conf file begins with [name], replacing "name" with be a short well known abbreviation. This must be on the first line, and start the first line. It can only contain A-Z, a-z, 0-9 and _.<br/>
  <tr>
+
The name of the file should be the lowercase of this name followed by .conf. For example, [MyModule] would be mymodule.conf.
<td>[name]</td>
+
| &nbsp;
<td>Each conf file begins with [name], replacing "name" with be a short well known abbreviation. This must be on the first line, and start the first line. It can only contain A-Z, a-z, 0-9 and _.<br/>
+
| &nbsp;
 
+
|-
The name of the file should be the lowercase of this name followed by .conf. For example, [MyModule] would be mymodule.conf.</td>
+
| DataPath
<td>&nbsp;</td>
+
| &lt;relative system path&gt;
<td>&nbsp;</td>
 
  </tr>
 
  <tr>
 
<td>DataPath</td>
 
<td>&lt;relative system path&gt;
 
 
 
 
DataPath is the path to the module relative to the SWORD module root directory. This path should start with "./modules". If the DataPath indicates a directory it should end with a '/'. Otherwise the module name is both the directory and the prefix for each file in that directory.
 
DataPath is the path to the module relative to the SWORD module root directory. This path should start with "./modules". If the DataPath indicates a directory it should end with a '/'. Otherwise the module name is both the directory and the prefix for each file in that directory.
 
 
Typical paths are for a module named [mymodule] are:
 
Typical paths are for a module named [mymodule] are:
./modules/texts/rawtext/mymodule/
+
./modules/texts/rawtext/mymodule/
./modules/texts/ztext/mymodule/
+
./modules/texts/ztext/mymodule/
./modules/comments/zcom/mymodule/
+
./modules/comments/zcom/mymodule/
./modules/comments/hrefcom/mymodule/
+
./modules/comments/hrefcom/mymodule/
./modules/comments/rawcom/mymodule/
+
./modules/comments/rawcom/mymodule/
./modules/comments/rawcom4/mymodule/
+
./modules/comments/rawcom4/mymodule/
./modules/comments/rawfiles/mymodule/
+
./modules/comments/rawfiles/mymodule/
./modules/lexdict/zld/mymodule/mymodule
+
./modules/lexdict/zld/mymodule/mymodule
./modules/lexdict/rawld/mymodule/mymodule
+
./modules/lexdict/rawld/mymodule/mymodule
./modules/lexdict/rawld/devotionals/mymodule/mymodule
+
./modules/lexdict/rawld/devotionals/mymodule/mymodule
./modules/lexdict/rawld/glossaries/mymodule/mymodule
+
./modules/lexdict/rawld/glossaries/mymodule/mymodule
./modules/lexdict/rawld4/mymodule/mymodule
+
./modules/lexdict/rawld4/mymodule/mymodule
./modules/genbook/rawgenbook/mymodule/mymodule
+
./modules/genbook/rawgenbook/mymodule/mymodule
 
 
 
But when it really comes down to it, a valid path could be:<br/>
 
But when it really comes down to it, a valid path could be:<br/>
 
./xxx/ or ./xxx/mymodule
 
./xxx/ or ./xxx/mymodule
</td>
+
| &nbsp;
<td>&nbsp;</td>
+
| &nbsp;
<td>&nbsp;</td>
+
|-
  </tr>
+
| Description
  <tr>
+
| &lt;string&gt;<br/>
<td>Description</td>
+
This is a short (1 line) title of the module.
<td>&lt;string&gt;<br/>
+
| &nbsp;
 
+
| &nbsp;
This is a short (1 line) title of the module.</td>
+
|-
<td>&nbsp;</td>
+
| ModDrv
<td>&nbsp;</td>
+
| <b>RawText</b> (for uncompressed Bibles)<br/><b>zText</b> (for compressed Bibles)<br/><b>RawCom</b> (for uncompressed Commentaries)<br/><b>RawCom4</b> (for uncompressed Commentaries having entries greater than 32K bytes)<br/><b>zCom</b> (for compressed Commentaries)<br/><b>HREFCom</b> (currently no module uses this type)<br/><b>RawFiles</b> (for Personal Commentary)<br/><b>RawLD</b> (for uncompressed Dictionaries)<br/><b>RawLD4</b> (for uncompressed Dictionaries having entries greater than 32K bytes)<br/><b>zLD</b> (for compressed Dictionaries)<br/><b>RawGenBook</b> (for uncompressed tree keyed modules)
  </tr>
+
| &nbsp;
  <tr>
+
| &nbsp;
<td>ModDrv</td>
+
|-
<td>
+
colspan="4" | Elements required for proper module access
<b>RawText</b> (for uncompressed Bibles)<br/>
+
|-
<b>zText</b> (for compressed Bibles)<br/>
+
| CompressType
<b>RawCom</b> (for uncompressed Commentaries)<br/>
+
| <b>ZIP</b><br/><b>LZSS</b>
<b>RawCom4</b> (for uncompressed Commentaries having entries greater than 32K bytes)<br/>
 
<b>zCom</b> (for compressed Commentaries)<br/>
 
<b>HREFCom</b> (currently no module uses this type)<br/>
 
<b>RawFiles</b> (for Personal Commentary)<br/>
 
<b>RawLD</b> (for uncompressed Dictionaries)<br/>
 
<b>RawLD4</b> (for uncompressed Dictionaries having entries greater than 32K bytes)<br/>
 
<b>zLD</b> (for compressed Dictionaries)<br/>
 
<b>RawGenBook</b> (for uncompressed tree keyed modules)
 
</td>
 
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 
  </tr>
 
  <tr>
 
<th colspan="4">Elements required for proper module access</th>
 
  </tr>
 
  <tr>
 
<td>CompressType</td>
 
<td><b>ZIP</b><br/>
 
<b>LZSS</b>
 
 
 
 
Used to indicate how a compressed modules (zText, zCom, & zLD) is compressed.
 
Used to indicate how a compressed modules (zText, zCom, & zLD) is compressed.
 
ZIP is the preferred format. And as of today, no compressed modules use LZSS.
 
ZIP is the preferred format. And as of today, no compressed modules use LZSS.
</td>
+
| LZSS
<td>LZSS</td>
+
| &nbsp;
<td>&nbsp;</td>
+
|-
  </tr>
+
| BlockType
  <tr>
+
| <b>BOOK</b><br/><b>CHAPTER</b><br/><b>VERSE</b><br/>
<td>BlockType</td>
 
<td>
 
<b>BOOK</b><br/>
 
<b>CHAPTER</b><br/>
 
<b>VERSE</b><br/>
 
 
 
 
Used for zText and zCom to indicate how much of the work is compressed into a block. The trade off is size for speed, with BOOK taking the least overall space and the longest time and VERSE taking the greatest overall space and the least time. While BlockType has a default, it is a best practice to specify it. Most Bibles use BOOK and larger Commentaries use CHAPTER. To date, no module uses VERSE.
 
Used for zText and zCom to indicate how much of the work is compressed into a block. The trade off is size for speed, with BOOK taking the least overall space and the longest time and VERSE taking the greatest overall space and the least time. While BlockType has a default, it is a best practice to specify it. Most Bibles use BOOK and larger Commentaries use CHAPTER. To date, no module uses VERSE.
</td>
+
| CHAPTER
<td>CHAPTER</td>
+
| &nbsp;
<td>&nbsp;</td>
+
|-
  </tr>
+
| BlockCount
  <tr>
+
| &lt;integer&gt;<br/>
<td>BlockCount</td>
+
Used for zLD to indicate the number of entries in a compressed block. Higher values will make the module slower, but smaller.
<td>&lt;integer&gt;<br/>
+
| 200
 
+
| &nbsp;
Used for zLD to indicate the number of entries in a compressed block. Higher values will make the module slower, but smaller.</td>
+
|-
<td>200</td>
+
| KeyType
<td>&nbsp;</td>
+
| <b>TreeKey</b><br/><b>VerseKey</b><br/>
  </tr>
+
Used for RawGenBook to indicate whether the module contains a book or a Bible. At this time VerseKey is being developed as the solution for [[Alternate_Versification&#124;alternate versification]].
  <tr>
+
| TreeKey
<td>KeyType</td>
+
| &nbsp;
<td><b>TreeKey</b><br/>
+
|-
<b>VerseKey</b><br/>
+
| CipherKey
 
+
| &lt;string&gt;<br/>
Used for RawGenBook to indicate whether the module contains a book or a Bible. At this time VerseKey is being developed as the solution for [[Alternate_Versification|alternate versification]].</td>
+
Contains the unlock key for enciphered modules. A good key is something that is hard to guess. Typically in a format matching the pattern: /[0-9]{4}[A-Za-z]{4}[0-9]{4}[A-Za-z]{4}/. Internally the key can be any byte sequence from 1 to 255 bytes in length. But this file needs it to be readable, plain text, without leading or trailing spaces. Leave a blank line ("CipherKey=") to indicate that the module is enciphered but has no unlock key. (Omit for unlocked modules.)
<td>TreeKey</td>
+
| &nbsp;
<td>&nbsp;</td>
+
| &nbsp;
  </tr>
+
|-
  <tr>
+
colspan="4" | Elements required for proper rendering
<td>CipherKey</td>
+
|-
<td>&lt;string&gt;<br/>
+
| GlobalOptionFilter
Contains the unlock key for enciphered modules. A good key is something that is hard to guess. Typically in a format matching the pattern: /[0-9]{4}[A-Za-z]{4}[0-9]{4}[A-Za-z]{4}/. Internally the key can be any byte sequence from 1 to 255 bytes in length. But this file needs it to be readable, plain text, without leading or trailing spaces. Leave a blank line ("CipherKey=") to indicate that the module is enciphered but has no unlock key. (Omit for unlocked modules.)</td>
+
| <b>GBFStrongs</b> (For GBF texts having Strong's Numbers)<br/><b>GBFFootnotes</b> (For GBF texts having footnotes)<br/><b>GBFMorph</b> (For GBF texts having morphology information)<br/><b>GBFHeadings</b> (For GBF texts having headings)<br/><b>GBFRedLetterWords</b> (For GBF texts marking the Words of Christ)<br/><b>ThMLStrongs</b> (For THML texts having Strong's Numbers)<br/><b>ThMLFootnotes</b> (For THML texts having footnotes)<br/><b>ThMLScripref</b> (For THML texts having cross references)<br/><b>ThMLMorph</b> (For THML texts having morphology information)<br/><b>ThMLHeadings</b> (For THML texts having headings)<br/><b>ThMLVariants</b> (For THML texts having variant readings)<br/><b>ThMLLemma</b> (For THML texts having lemmas)<br/><b>UTF8Cantillation</b> (For Hebrew texts having cantillation marks)<br/><b>UTF8GreekAccents</b> (For Greek texts having accents)<br/><b>UTF8HebrewPoints</b> (For Hebrew texts having vowel points)<br/><b>OSISStrongs</b> (For OSIS texts having Strong's Numbers)<br/><b>OSISFootnotes</b> (For OSIS texts having informational notes)<br/><b>OSISScripref</b> (For OSIS texts having cross reference type notes)<br/><b>OSISMorph</b> (For OSIS texts having morphology information)<br/><b>OSISHeadings</b> (For OSIS texts having non-canonical headings)<br/><b>OSISRedLetterWords</b> (For OSIS texts marking the Words of Christ)<br/><b>OSISLemma</b> (For OSIS texts having lemmas)<br/><b>OSISRuby</b> (For Japanese OSIS texts with ruby: Kana glosses of Han characters)<br/>
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 
  </tr>
 
  <tr>
 
<th colspan="4">Elements required for proper rendering</th>
 
  </tr>
 
  <tr>
 
<td>GlobalOptionFilter</td>
 
<td>
 
<b>GBFStrongs</b> (For GBF texts having Strong's Numbers)<br/>
 
<b>GBFFootnotes</b> (For GBF texts having footnotes)<br/>
 
<b>GBFMorph</b> (For GBF texts having morphology information)<br/>
 
<b>GBFHeadings</b> (For GBF texts having headings)<br/>
 
<b>GBFRedLetterWords</b> (For GBF texts marking the Words of Christ)<br/>
 
<b>ThMLStrongs</b> (For THML texts having Strong's Numbers)<br/>
 
<b>ThMLFootnotes</b> (For THML texts having footnotes)<br/>
 
<b>ThMLScripref</b> (For THML texts having cross references)<br/>
 
<b>ThMLMorph</b> (For THML texts having morphology information)<br/>
 
<b>ThMLHeadings</b> (For THML texts having headings)<br/>
 
<b>ThMLVariants</b> (For THML texts having variant readings)<br/>
 
<b>ThMLLemma</b> (For THML texts having lemmas)<br/>
 
<b>UTF8Cantillation</b> (For Hebrew texts having cantillation marks)<br/>
 
<b>UTF8GreekAccents</b> (For Greek texts having accents)<br/>
 
<b>UTF8HebrewPoints</b> (For Hebrew texts having vowel points)<br/>
 
<b>OSISStrongs</b> (For OSIS texts having Strong's Numbers)<br/>
 
<b>OSISFootnotes</b> (For OSIS texts having informational notes)<br/>
 
<b>OSISScripref</b> (For OSIS texts having cross reference type notes)<br/>
 
<b>OSISMorph</b> (For OSIS texts having morphology information)<br/>
 
<b>OSISHeadings</b> (For OSIS texts having non-canonical headings)<br/>
 
<b>OSISRedLetterWords</b> (For OSIS texts marking the Words of Christ)<br/>
 
<b>OSISLemma</b> (For OSIS texts having lemmas)<br/>
 
<b>OSISRuby</b> (For Japanese OSIS texts with ruby: Kana glosses of Han characters)<br/>
 
 
 
 
Each of these filters removes/hides the text's feature, when activated by the application.
 
Each of these filters removes/hides the text's feature, when activated by the application.
 
These filters are applied in the order that they are listed in the conf.
 
These filters are applied in the order that they are listed in the conf.
        </td>
+
| &nbsp;
<td>&nbsp;</td>
+
| Repeats
<td>Repeats</td>
+
|-
  </tr>
+
| Direction
  <tr>
+
| <b>LtoR</b> (<u>L</u>eft to <u>R</u>ight)<br/><b>RtoL</b> (<u>R</u>ight to <u>L</u>eft)<br/>
<td>Direction</td>
 
<td>
 
<b>LtoR</b> (<u>L</u>eft to <u>R</u>ight)<br/>
 
<b>RtoL</b> (<u>R</u>ight to <u>L</u>eft)<br/>
 
 
 
 
Indicate whether the language's script is a left to right script or a right to left script. Languages such as Hebrew, Arabic, Urdu, and Farsi have a right to left script (technically [http://en.wikipedia.org/wiki/Bi-directional_text bi-directional]). If the RtoL script is transliterated into a LtoR script, set the value to LtoR.
 
Indicate whether the language's script is a left to right script or a right to left script. Languages such as Hebrew, Arabic, Urdu, and Farsi have a right to left script (technically [http://en.wikipedia.org/wiki/Bi-directional_text bi-directional]). If the RtoL script is transliterated into a LtoR script, set the value to LtoR.
</td>
+
| LtoR
<td>LtoR</td>
+
| &nbsp;
<td>&nbsp;</td>
+
|-
  </tr>
+
| SourceType
  <tr>
+
| <b>Plaintext</b><br/><b>GBF</b> General Bible Format: http://www.ebible.org/bible/gbf.htm<br/><b>ThML</b> Theological Markup Language: http://www.ccel.org/ThML<br/><b>OSIS</b> Open Scriptural Information Standard: http://www.bibletechnologies.net<br/><b>TEI</b> Text Encoding Initiative: http://www.tei-c.org/P4X/DI.html<br/>
<td>SourceType</td>
 
<td>
 
<b>Plaintext</b><br/>
 
<b>GBF</b> General Bible Format: http://www.ebible.org/bible/gbf.htm<br/>
 
<b>ThML</b> Theological Markup Language: http://www.ccel.org/ThML<br/>
 
<b>OSIS</b> Open Scriptural Information Standard: http://www.bibletechnologies.net<br/>
 
<b>TEI</b> Text Encoding Initiative: http://www.tei-c.org/P4X/DI.html<br/>
 
 
 
 
These are various ways that the text can be encoded. The preferred encoding is OSIS. TEI is preferred for dictionaries until OSIS supports dictionaries.<br/>
 
These are various ways that the text can be encoded. The preferred encoding is OSIS. TEI is preferred for dictionaries until OSIS supports dictionaries.<br/>
 
 
In SWORD, for modules encoded with ThML, OSIS or TEI, each verse, dictionary entry, and book division needs to be well-formed XML or it will result in display problems in some frontends.
 
In SWORD, for modules encoded with ThML, OSIS or TEI, each verse, dictionary entry, and book division needs to be well-formed XML or it will result in display problems in some frontends.
</td>
+
| Plaintext
<td>Plaintext</td>
+
| &nbsp;
<td>&nbsp;</td>
+
|-
  </tr>
+
| Encoding
  <tr>
+
| <b>UTF-8</b><br/><b>Latin-1</b> (cp1252; see the warning)<br/>
<td>Encoding</td>
 
<td>
 
<b>UTF-8</b><br/>
 
<b>Latin-1</b> (cp1252; see the warning)<br/>
 
 
 
 
The preferred encoding of texts is UTF-8. UTF-8 modules must be encoded with [http://unicode.org/reports/tr15/ Normalization Form C (NFC)]. Latin-1 is defined by [http://en.wikipedia.org/wiki/Windows-1252 Windows Codepage 1252 (cp1252)] which is a superset of ISO 8859-1.
 
The preferred encoding of texts is UTF-8. UTF-8 modules must be encoded with [http://unicode.org/reports/tr15/ Normalization Form C (NFC)]. Latin-1 is defined by [http://en.wikipedia.org/wiki/Windows-1252 Windows Codepage 1252 (cp1252)] which is a superset of ISO 8859-1.
 
 
This encoding indicates how the conf and the module are encoded.
 
This encoding indicates how the conf and the module are encoded.
 
 
<i><b>Warning</b>: "Latin-1" is an ambiguously used term. See [http://en.wikipedia.org/wiki/ISO_8859-1 ISO 8859-1 at Wikipedia] for technical details; in reality Latin-1 is regularly used as a synonym for ISO-8859-1. Frontend implementors should use "cp1252" or "windows1252" explicitly, not "Latin-1" provided by some programming language libraries.</i>
 
<i><b>Warning</b>: "Latin-1" is an ambiguously used term. See [http://en.wikipedia.org/wiki/ISO_8859-1 ISO 8859-1 at Wikipedia] for technical details; in reality Latin-1 is regularly used as a synonym for ISO-8859-1. Frontend implementors should use "cp1252" or "windows1252" explicitly, not "Latin-1" provided by some programming language libraries.</i>
</td>
+
| Latin-1
<td>Latin-1</td>
+
| &nbsp;
<td>&nbsp;</td>
+
|-
  </tr>
+
| DisplayLevel
  <tr>
+
| &lt;integer&gt;
<td>DisplayLevel</td>
+
| 1
<td>&lt;integer&gt;</td>
+
| &nbsp;
<td>1</td>
+
|-
<td>&nbsp;</td>
+
| Font
  </tr>
+
| &lt;string&gt;<br/>
  <tr>
 
<td>Font</td>
 
<td>&lt;string&gt;<br/>
 
 
Specify the font to be used for display of the module if it is available. Omit this line to use the default font. Do not make use of font-specific encodings in your documents, but use Unicode instead and the Private Use Area if necessary for codepoints that are not handled by Unicode.
 
Specify the font to be used for display of the module if it is available. Omit this line to use the default font. Do not make use of font-specific encodings in your documents, but use Unicode instead and the Private Use Area if necessary for codepoints that are not handled by Unicode.
</td>
+
| &nbsp;
<td>&nbsp;</td>
+
| &nbsp;
<td>&nbsp;</td>
+
|-
  </tr>
+
| OSISqToTick
  <tr>
+
| true/false<br/>
<td>OSISqToTick</td>
+
When set to false indicates that OSIS quote elements without a marker attribute are not to produce a quotation mark. This is useful for languages (e.g. Thai) and texts (e.g. KJV) that do not have quotation marks. It is also useful for modules that mark the "Words of Christ" on a verse by verse basis, when the quote spans more than one verse.
<td>true/false<br/>
+
| true
When set to false indicates that OSIS quote elements without a marker attribute are not to produce a quotation mark. This is useful for languages (e.g. Thai) and texts (e.g. KJV) that do not have quotation marks. It is also useful for modules that mark the "Words of Christ" on a verse by verse basis, when the quote spans more than one verse.</td>
+
| &nbsp;
<td>true</td>
+
|-
<td>&nbsp;</td>
+
colspan="4" | Elements to indicate features
  </tr>
+
|-
  <tr>
+
| Feature
<th colspan="4">Elements to indicate features</th>
+
| <b>StrongsNumbers</b> (for modules that include Strong's numbers)<br/><b>GreekDef</b> (for modules with Strong's number encoded Greek definitions)<br/><b>HebrewDef</b> (for modules with Strong's number encoded Hebrew definitions)<br/><b>GreekParse</b> (for modules with Greek morphology expansions)<br/><b>HebrewParse</b> (for modules with Hebrew morphology expansions)<br/><b>DailyDevotion</b> (for daily devotionals using one of the LD drivers and keyed with MM.DD)<br/><b>Glossary</b> (for collections of glosses using one of the LD drivers)<br/><b>Images</b> (for modules that contain images of any type)
  </tr>
+
| &nbsp;
  <tr>
+
| Repeats
<td>Feature</td>
+
|-
<td>
+
| GlossaryFrom
<b>StrongsNumbers</b> (for modules that include Strong's numbers)<br/>
+
| &lt;xml:lang identifier&gt;<br/>
<b>GreekDef</b> (for modules with Strong's number encoded Greek definitions)<br/>
 
<b>HebrewDef</b> (for modules with Strong's number encoded Hebrew definitions)<br/>
 
<b>GreekParse</b> (for modules with Greek morphology expansions)<br/>
 
<b>HebrewParse</b> (for modules with Hebrew morphology expansions)<br/>
 
<b>DailyDevotion</b> (for daily devotionals using one of the LD drivers and keyed with MM.DD)<br/>
 
<b>Glossary</b> (for collections of glosses using one of the LD drivers)<br/>
 
<b>Images</b> (for modules that contain images of any type)
 
</td>
 
<td>&nbsp;</td>
 
<td>Repeats</td>
 
  </tr>
 
  <tr>
 
<td>GlossaryFrom</td>
 
<td>&lt;xml:lang identifier&gt;<br/>
 
 
Glossaries map one language to another. This value indicates the language being translated from.
 
Glossaries map one language to another. This value indicates the language being translated from.
See Lang below for a discussion of valid values.</td>
+
See Lang below for a discussion of valid values.
<td>&nbsp;</td>
+
| &nbsp;
<td>&nbsp;</td>
+
| &nbsp;
  </tr>
+
|-
  <tr>
+
| GlossaryTo
<td>GlossaryTo</td>
+
| &lt;xml:lang identifier&gt;<br/>
<td>&lt;xml:lang identifier&gt;<br/>
 
 
Glossaries map one language to another. This value indicates the language being translated to.
 
Glossaries map one language to another. This value indicates the language being translated to.
See Lang below for a discussion of valid values.</td>
+
See Lang below for a discussion of valid values.
<td>&nbsp;</td>
+
| &nbsp;
<td>&nbsp;</td>
+
| &nbsp;
  </tr>
+
|-
  <tr>
+
colspan="4" | General informatic and installer elements
<th colspan="4">General informatic and installer elements</th>
+
|-
  </tr>
+
| About
  <tr>
+
| &lt;string&gt;<br/>
<td>About</td>
+
A lengthier description and may include copyright, source, etc. information, possibly duplicating information in other elements.
<td>&lt;string&gt;<br/>
+
| &nbsp;
A lengthier description and may include copyright, source, etc. information, possibly duplicating information in other elements.</td>
+
| Continuation<br/>RTF
<td>&nbsp;</td>
+
|-
<td>Continuation<br/>RTF</td>
+
| Version
  </tr>
+
| &lt;version string&gt;<br/>
  <tr>
+
Gives the module's revision number. Incrementing it when changes are made alerts users of the SWORD Installers to the presence of updated modules. Please start with version 1.0 and increment by 0.1 for minor updates and by larger values for more major updates such as a new text source. Changes to this conf file should also increment the version number. Do not use non-numbers, such as 1.4a or 1.1.3.
<td>Version</td>
+
| 1.0
<td>&lt;version string&gt;<br/>
+
| &nbsp;
Gives the module's revision number. Incrementing it when changes are made alerts users of the SWORD Installers to the presence of updated modules. Please start with version 1.0 and increment by 0.1 for minor updates and by larger values for more major updates such as a new text source. Changes to this conf file should also increment the version number. Do not use non-numbers, such as 1.4a or 1.1.3.</td>
+
|-
<td>1.0</td>
+
| History_x.x
<td>&nbsp;</td>
+
| &lt;string&gt;<br/>
  </tr>
+
Used to alert users to what has changed between different versions. Each time a version is incremented a history line with that version number should explain the change.
  <tr>
+
| &nbsp;
<td>History_x.x</td>
+
| Repeats
<td>&lt;string&gt;<br/>
+
|-
Used to alert users to what has changed between different versions. Each time a version is incremented a history line with that version number should explain the change.</td>
+
| MinimumVersion
<td>&nbsp;</td>
+
| &lt;version string&gt;<br/>
<td>Repeats</td>
+
Identifies the minimum version of the Sword library required for this module.
  </tr>
+
| 1.5.1a
  <tr>
+
| &nbsp;
<td>MinimumVersion</td>
+
|-
<td>&lt;version string&gt;<br/>
+
| Category
Identifies the minimum version of the Sword library required for this module.</td>
+
| <b>Daily Devotional</b> (for modules with Feature=DailyDevotion)<br/><b>Glossaries</b> (for modules with Feature=Glossary)<br/><b>Cults / Unorthodox / Questionable Material</b><br/><b>Essays</b> (for essays)<br/><b>Maps</b> (for modules that primarily consist of maps)<br/><b>Images</b> (for modules that primarily consist of images)<br/><b>Biblical Texts</b> (for Bibles)<br/><b>Commentaries</b><br/><b>Lexicons / Dictionaries</b><br/><b>Generic Books</b> (for anything else....)<br/>
<td>1.5.1a</td>
 
<td>&nbsp;</td>
 
  </tr>
 
  <tr>
 
<td>Category</td>
 
<td>
 
<b>Daily Devotional</b> (for modules with Feature=DailyDevotion)<br/>
 
<b>Glossaries</b> (for modules with Feature=Glossary)<br/>
 
<b>Cults / Unorthodox / Questionable Material</b><br/>
 
<b>Essays</b> (for essays)<br/>
 
<b>Maps</b> (for modules that primarily consist of maps)<br/>
 
<b>Images</b> (for modules that primarily consist of images)<br/>
 
<b>Biblical Texts</b> (for Bibles)<br/>
 
<b>Commentaries</b><br/>
 
<b>Lexicons / Dictionaries</b><br/>
 
<b>Generic Books</b> (for anything else....)<br/>
 
 
This is used by installers to further categorize the modules beyond what can be figured out by the ModDrv and Feature.
 
This is used by installers to further categorize the modules beyond what can be figured out by the ModDrv and Feature.
</td>
+
| Biblical Texts (for /(Raw&#124;z)Text4?/)<br/>
<td>Biblical Texts (for /(Raw|z)Text4?/)<br/>
+
Commentaries (for /(Raw&#124;z&#124;HREF)Com4?/)<br/>
Commentaries (for /(Raw|z|HREF)Com4?/)<br/>
+
Lexicons / Dictionaries (for /(Raw&#124;z)LD4?/<br/>
Lexicons / Dictionaries (for /(Raw|z)LD4?/<br/>
+
Generic Books (for RawGenBook)
Generic Books (for RawGenBook)</td>
+
| &nbsp;
<td>&nbsp;</td>
+
|-
  </tr>
+
| LCSH
  <tr>
+
| &lt;tree/string&gt;<br/>
<td>LCSH</td>
+
Library of Congress Subject Heading. You may search the [http://catalog.loc.gov Library of Congress catalog] or use it as a guide for determining an appropriate LCSH for books that are not in the Library of Congress.
<td>&lt;tree/string&gt;<br/>
+
| &nbsp;
Library of Congress Subject Heading. You may search the [http://catalog.loc.gov Library of Congress catalog] or use it as a guide for determining an appropriate LCSH for books that are not in the Library of Congress.</td>
+
| &nbsp;
<td>&nbsp;</td>
+
|-
<td>&nbsp;</td>
+
| Lang
  </tr>
+
| &lt;xml:lang identifier&gt;<br/>
  <tr>
 
<td>Lang</td>
 
<td>&lt;xml:lang identifier&gt;<br/>
 
 
This is the primary language code of the module and should include a value according to RFC 4646 using ISO639 codes when possible. ISO 639-1 codes are the preferred code (e.g. en for English). If there is none for the given language, use an ISO 639-2/T code (e.g. ceb for Cebuano). Failing that, use ISO 639-3, which covers over 7000 languages. See: http://www.sil.org/iso639-3/codes.asp for ISO 639-1, 639-2/T and 639-3 codes.<br/>
 
This is the primary language code of the module and should include a value according to RFC 4646 using ISO639 codes when possible. ISO 639-1 codes are the preferred code (e.g. en for English). If there is none for the given language, use an ISO 639-2/T code (e.g. ceb for Cebuano). Failing that, use ISO 639-3, which covers over 7000 languages. See: http://www.sil.org/iso639-3/codes.asp for ISO 639-1, 639-2/T and 639-3 codes.<br/>
 
+
If a text is country specific, such as the Anglicized NIV, include the [http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html ISO 3166-1 country code] after the language code and an underscore (e.g. en_GB for UK English).
If a text is country specific, such as the Anglicized NIV, include the [http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html ISO 3166-1 country code] after the language code and an underscore (e.g. en_GB for UK English).</td>
+
| en
<td>en</td>
+
| &nbsp;
<td>&nbsp;</td>
+
|-
  </tr>
+
| InstallSize
  <tr>
+
| &lt;integer (indicating bytes)&gt;
<td>InstallSize</td>
+
| &nbsp;
<td>&lt;integer (indicating bytes)&gt;</td>
+
| &nbsp;
<td>&nbsp;</td>
+
|-
<td>&nbsp;</td>
+
| SwordVersionDate
  </tr>
+
| &lt;ISO date string (yyyy-mm-dd)&gt;
  <tr>
+
Indicates the date that the module was changed.
<td>SwordVersionDate</td>
+
| &nbsp;
<td>&lt;ISO date string (yyyy-mm-dd)&gt;
+
| &nbsp;
Indicates the date that the module was changed.</td>
+
|-
<td>&nbsp;</td>
+
| Obsoletes
<td>&nbsp;</td>
+
| &lt;name of module&gt;<br/>
  </tr>
+
Each instance of this element names a module that is made obsolete by this module, usually indicated by the former name of the module.
  <tr>
+
| &nbsp;
<td>Obsoletes</td>
+
| Repeats
<td>&lt;name of module&gt;<br/>
+
|-
Each instance of this element names a module that is made obsolete by this module, usually indicated by the former name of the module.</td>
+
colspan="4" | Copyright &amp; Licensing related elements
<td>&nbsp;</td>
+
|-
<td>Repeats</td>
+
| Copyright
  </tr>
+
| &lt;string&gt;<br/>
  <tr>
+
Contains the copyright notice for the work, including the year of copyright and the owner of the copyright.
<th colspan="4">Copyright &amp; Licensing related elements</th>
+
| &nbsp;
  </tr>
+
| Continuation
  <tr>
+
|-
<td>Copyright</td>
+
| CopyrightHolder
<td>&lt;string&gt;<br/>
+
| &lt;string&gt;<br/>
Contains the copyright notice for the work, including the year of copyright and the owner of the copyright.</td>
+
Contains the name of the copyright holder.
<td>&nbsp;</td>
+
| &nbsp;
<td>Continuation</td>
+
| &nbsp;
  </tr>
+
|-
  <tr>
+
| CopyrightDate
<td>CopyrightHolder</td>
+
| &lt;integer (indicating year)&gt;
<td>&lt;string&gt;<br/>
+
| &nbsp;
Contains the name of the copyright holder.</td>
+
| &nbsp;
<td>&nbsp;</td>
+
|-
<td>&nbsp;</td>
+
| CopyrightNotes
  </tr>
+
| &lt;string&gt;
  <tr>
+
| &nbsp;
<td>CopyrightDate</td>
+
| Continuation
<td>&lt;integer (indicating year)&gt;</td>
+
|-
<td>&nbsp;</td>
+
| CopyrightContactName
<td>&nbsp;</td>
+
| &lt;string&gt;<br/>
  </tr>
+
Contains the name of the copyright holder.
  <tr>
+
| &nbsp;
<td>CopyrightNotes</td>
+
| Continuation
<td>&lt;string&gt;</td>
+
|-
<td>&nbsp;</td>
+
| CopyrightContactNotes
<td>Continuation</td>
+
| &lt;string&gt;
  </tr>
+
| &nbsp;
  <tr>
+
| Continuation
<td>CopyrightContactName</td>
+
|-
<td>&lt;string&gt;<br/>
+
| CopyrightContactAddress
Contains the name of the copyright holder.</td>
+
| &lt;string&gt;<br/>
<td>&nbsp;</td>
+
Contains the mailing address of the copyright holder.
<td>Continuation</td>
+
| &nbsp;
  </tr>
+
| Continuation
  <tr>
+
|-
<td>CopyrightContactNotes</td>
+
| CopyrightContactEmail
<td>&lt;string&gt;</td>
+
| &lt;string&gt;<br/>
<td>&nbsp;</td>
+
Contains the email address of the copyright holder, preferably in the form:<br/> name at xyz dot com.
<td>Continuation</td>
+
| &nbsp;
  </tr>
+
| &nbsp;
  <tr>
+
|-
<td>CopyrightContactAddress</td>
+
| ShortPromo
<td>&lt;string&gt;<br/>
+
| &lt;string&gt;<br/>
Contains the mailing address of the copyright holder.</td>
+
A link to the home page for the module, perhaps with an encouragement to visit the site.
<td>&nbsp;</td>
+
| &nbsp;
<td>Continuation</td>
+
| HTML Link
  </tr>
+
|-
  <tr>
+
| ShortCopyright
<td>CopyrightContactEmail</td>
+
| &lt;string&gt;
<td>&lt;string&gt;<br/>
+
| &nbsp;
Contains the email address of the copyright holder, preferably in the form:<br/> name at xyz dot com.</td>
+
| &nbsp;
<td>&nbsp;</td>
+
|-
<td>&nbsp;</td>
+
| DistributionLicense
  </tr>
+
| <b>Public Domain</b><br/><b>Copyrighted</b><br/><b>Copyrighted; Permission to distribute granted to CrossWire</b><br/><b>Copyrighted; Free non-commercial distribution</b><br/><b>Copyrighted; Freely distributable</b><br/><b>Copyrighted; Permission granted to distribute non-commercially in Sword format</b><br/><b>[http://www.gnu.org/copyleft/fdl.html GFDL]</b><br/><b>[http://www.gnu.org/copyleft/gpl.html GPL]</b><br/><b>Creative Commons: [http://creativecommons.org/licenses/by-nc-nd by-nc-nd]</b><br/><b>Creative Commons: [http://creativecommons.org/licenses/by-nc-sa by-nc-sa]</b><br/><b>Creative Commons: [http://creativecommons.org/licenses/by-nc by-nc]</b><br/><b>Creative Commons: [http://creativecommons.org/licenses/by-nd by-nd]</b><br/><b>Creative Commons: [http://creativecommons.org/licenses/by-sa by-sa]</b><br/><b>Creative Commons: [http://creativecommons.org/licenses/by by]</b><br/><br/>
  <tr>
+
Use one of these strings verbatim. The actual copyright and/or license information is held in other elements. The last six licenses are [http://creativecommons.org/ Creative Commons] licenses.
<td>ShortPromo</td>
+
| &nbsp;
<td>&lt;string&gt;<br/>
+
| &nbsp;
A link to the home page for the module, perhaps with an encouragement to visit the site.</td>
+
|-
<td>&nbsp;</td>
+
| DistributionNotes
<td>HTML Link</td>
+
| &lt;string&gt;<br/>
  </tr>
+
Indicates any additional notes about distribution of the module.
  <tr>
+
| &nbsp;
<td>ShortCopyright</td>
+
| Continuation
<td>&lt;string&gt;</td>
+
|-
<td>&nbsp;</td>
+
| TextSource
<td>&nbsp;</td>
+
| &lt;string, probably a URL&gt;<br/>
  </tr>
+
Indicates, either in prose (such as "CCEL") or as a URL of the source of the text
  <tr>
+
| &nbsp;
<td>DistributionLicense</td>
+
| Continuation
<td>
+
|}
<b>Public Domain</b><br/>
 
<b>Copyrighted</b><br/>
 
<b>Copyrighted; Permission to distribute granted to CrossWire</b><br/>
 
<b>Copyrighted; Free non-commercial distribution</b><br/>
 
<b>Copyrighted; Freely distributable</b><br/>
 
<b>Copyrighted; Permission granted to distribute non-commercially in Sword format</b><br/>
 
<b>[http://www.gnu.org/copyleft/fdl.html GFDL]</b><br/>
 
<b>[http://www.gnu.org/copyleft/gpl.html GPL]</b><br/>
 
<b>Creative Commons: [http://creativecommons.org/licenses/by-nc-nd by-nc-nd]</b><br/>
 
<b>Creative Commons: [http://creativecommons.org/licenses/by-nc-sa by-nc-sa]</b><br/>
 
<b>Creative Commons: [http://creativecommons.org/licenses/by-nc by-nc]</b><br/>
 
<b>Creative Commons: [http://creativecommons.org/licenses/by-nd by-nd]</b><br/>
 
<b>Creative Commons: [http://creativecommons.org/licenses/by-sa by-sa]</b><br/>
 
<b>Creative Commons: [http://creativecommons.org/licenses/by by]</b><br/>
 
<br/>
 
Use one of these strings verbatim. The actual copyright and/or license information is held in other elements. The last six licenses are [http://creativecommons.org/ Creative Commons] licenses.</td>
 
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 
  </tr>
 
  <tr>
 
<td>DistributionNotes</td>
 
<td>&lt;string&gt;<br/>
 
Indicates any additional notes about distribution of the module.</td>
 
<td>&nbsp;</td>
 
<td>Continuation</td>
 
  </tr>
 
  <tr>
 
<td>TextSource</td>
 
<td>&lt;string, probably a URL&gt;<br/>
 
Indicates, either in prose (such as "CCEL") or as a URL of the source of the text</td>
 
<td>&nbsp;</td>
 
<td>Continuation</td>
 
  </tr>
 
</table>
 

Revision as of 07:47, 13 November 2008

Creating a .conf File

.conf File Layout

The conf file tells the Sword engine how to treat installed module files, etc. which kind of markup they contain, and so forth.

Below is a listing of the possible directives in that file. Each of these directives of the form key=value. Some keys can be repeated. Some can have values that span more than 1 line with '\' at the end of a line indicating that the text on the next line continues the value. Some values allow RTF and some allow HTML <a href="xxx">label</a>hypertext links. HTML is not allowed otherwise.

Note on RTF, only the following are allowed:

  • \qc - for centering
  • \par - for paragraph breaks
  • \pard - for resetting paragraph attributes, i.e. turning off centering.
  • \u{num}? - for unicode characters, where {num} is a signed, 16-bit representation of the code point and where ? is the ASCII character used in case unicode is not supported. If the {num} is less than 0 then add 65536 to it. This should only be used in modules that have an Encoding=UTF-8, but using the actual UTF-8 character is preferred.

Enumerated values are shown in bold. These should be used exactly as given and no other values should be used.

Element Values (type or enumerated) Default Value Allows
Required Elements
[name] Each conf file begins with [name], replacing "name" with be a short well known abbreviation. This must be on the first line, and start the first line. It can only contain A-Z, a-z, 0-9 and _.

The name of the file should be the lowercase of this name followed by .conf. For example, [MyModule] would be mymodule.conf.

   
DataPath <relative system path>

DataPath is the path to the module relative to the SWORD module root directory. This path should start with "./modules". If the DataPath indicates a directory it should end with a '/'. Otherwise the module name is both the directory and the prefix for each file in that directory. Typical paths are for a module named [mymodule] are: ./modules/texts/rawtext/mymodule/ ./modules/texts/ztext/mymodule/ ./modules/comments/zcom/mymodule/ ./modules/comments/hrefcom/mymodule/ ./modules/comments/rawcom/mymodule/ ./modules/comments/rawcom4/mymodule/ ./modules/comments/rawfiles/mymodule/ ./modules/lexdict/zld/mymodule/mymodule ./modules/lexdict/rawld/mymodule/mymodule ./modules/lexdict/rawld/devotionals/mymodule/mymodule ./modules/lexdict/rawld/glossaries/mymodule/mymodule ./modules/lexdict/rawld4/mymodule/mymodule ./modules/genbook/rawgenbook/mymodule/mymodule But when it really comes down to it, a valid path could be:
./xxx/ or ./xxx/mymodule

   
Description <string>

This is a short (1 line) title of the module.

   
ModDrv RawText (for uncompressed Bibles)
zText (for compressed Bibles)
RawCom (for uncompressed Commentaries)
RawCom4 (for uncompressed Commentaries having entries greater than 32K bytes)
zCom (for compressed Commentaries)
HREFCom (currently no module uses this type)
RawFiles (for Personal Commentary)
RawLD (for uncompressed Dictionaries)
RawLD4 (for uncompressed Dictionaries having entries greater than 32K bytes)
zLD (for compressed Dictionaries)
RawGenBook (for uncompressed tree keyed modules)
   
Elements required for proper module access
CompressType ZIP
LZSS

Used to indicate how a compressed modules (zText, zCom, & zLD) is compressed. ZIP is the preferred format. And as of today, no compressed modules use LZSS.

LZSS  
BlockType BOOK
CHAPTER
VERSE

Used for zText and zCom to indicate how much of the work is compressed into a block. The trade off is size for speed, with BOOK taking the least overall space and the longest time and VERSE taking the greatest overall space and the least time. While BlockType has a default, it is a best practice to specify it. Most Bibles use BOOK and larger Commentaries use CHAPTER. To date, no module uses VERSE.

CHAPTER  
BlockCount <integer>

Used for zLD to indicate the number of entries in a compressed block. Higher values will make the module slower, but smaller.

200  
KeyType TreeKey
VerseKey

Used for RawGenBook to indicate whether the module contains a book or a Bible. At this time VerseKey is being developed as the solution for [[Alternate_Versification|alternate versification]].

TreeKey  
CipherKey <string>

Contains the unlock key for enciphered modules. A good key is something that is hard to guess. Typically in a format matching the pattern: /[0-9]{4}[A-Za-z]{4}[0-9]{4}[A-Za-z]{4}/. Internally the key can be any byte sequence from 1 to 255 bytes in length. But this file needs it to be readable, plain text, without leading or trailing spaces. Leave a blank line ("CipherKey=") to indicate that the module is enciphered but has no unlock key. (Omit for unlocked modules.)

   
Elements required for proper rendering
GlobalOptionFilter GBFStrongs (For GBF texts having Strong's Numbers)
GBFFootnotes (For GBF texts having footnotes)
GBFMorph (For GBF texts having morphology information)
GBFHeadings (For GBF texts having headings)
GBFRedLetterWords (For GBF texts marking the Words of Christ)
ThMLStrongs (For THML texts having Strong's Numbers)
ThMLFootnotes (For THML texts having footnotes)
ThMLScripref (For THML texts having cross references)
ThMLMorph (For THML texts having morphology information)
ThMLHeadings (For THML texts having headings)
ThMLVariants (For THML texts having variant readings)
ThMLLemma (For THML texts having lemmas)
UTF8Cantillation (For Hebrew texts having cantillation marks)
UTF8GreekAccents (For Greek texts having accents)
UTF8HebrewPoints (For Hebrew texts having vowel points)
OSISStrongs (For OSIS texts having Strong's Numbers)
OSISFootnotes (For OSIS texts having informational notes)
OSISScripref (For OSIS texts having cross reference type notes)
OSISMorph (For OSIS texts having morphology information)
OSISHeadings (For OSIS texts having non-canonical headings)
OSISRedLetterWords (For OSIS texts marking the Words of Christ)
OSISLemma (For OSIS texts having lemmas)
OSISRuby (For Japanese OSIS texts with ruby: Kana glosses of Han characters)

Each of these filters removes/hides the text's feature, when activated by the application. These filters are applied in the order that they are listed in the conf.

  Repeats
Direction LtoR (Left to Right)
RtoL (Right to Left)

Indicate whether the language's script is a left to right script or a right to left script. Languages such as Hebrew, Arabic, Urdu, and Farsi have a right to left script (technically bi-directional). If the RtoL script is transliterated into a LtoR script, set the value to LtoR.

LtoR  
SourceType Plaintext
GBF General Bible Format: http://www.ebible.org/bible/gbf.htm
ThML Theological Markup Language: http://www.ccel.org/ThML
OSIS Open Scriptural Information Standard: http://www.bibletechnologies.net
TEI Text Encoding Initiative: http://www.tei-c.org/P4X/DI.html

These are various ways that the text can be encoded. The preferred encoding is OSIS. TEI is preferred for dictionaries until OSIS supports dictionaries.
In SWORD, for modules encoded with ThML, OSIS or TEI, each verse, dictionary entry, and book division needs to be well-formed XML or it will result in display problems in some frontends.

Plaintext  
Encoding UTF-8
Latin-1 (cp1252; see the warning)

The preferred encoding of texts is UTF-8. UTF-8 modules must be encoded with Normalization Form C (NFC). Latin-1 is defined by Windows Codepage 1252 (cp1252) which is a superset of ISO 8859-1. This encoding indicates how the conf and the module are encoded. Warning: "Latin-1" is an ambiguously used term. See ISO 8859-1 at Wikipedia for technical details; in reality Latin-1 is regularly used as a synonym for ISO-8859-1. Frontend implementors should use "cp1252" or "windows1252" explicitly, not "Latin-1" provided by some programming language libraries.

Latin-1  
DisplayLevel <integer> 1  
Font <string>

Specify the font to be used for display of the module if it is available. Omit this line to use the default font. Do not make use of font-specific encodings in your documents, but use Unicode instead and the Private Use Area if necessary for codepoints that are not handled by Unicode.

   
OSISqToTick true/false

When set to false indicates that OSIS quote elements without a marker attribute are not to produce a quotation mark. This is useful for languages (e.g. Thai) and texts (e.g. KJV) that do not have quotation marks. It is also useful for modules that mark the "Words of Christ" on a verse by verse basis, when the quote spans more than one verse.

true  
Elements to indicate features
Feature StrongsNumbers (for modules that include Strong's numbers)
GreekDef (for modules with Strong's number encoded Greek definitions)
HebrewDef (for modules with Strong's number encoded Hebrew definitions)
GreekParse (for modules with Greek morphology expansions)
HebrewParse (for modules with Hebrew morphology expansions)
DailyDevotion (for daily devotionals using one of the LD drivers and keyed with MM.DD)
Glossary (for collections of glosses using one of the LD drivers)
Images (for modules that contain images of any type)
  Repeats
GlossaryFrom <xml:lang identifier>

Glossaries map one language to another. This value indicates the language being translated from. See Lang below for a discussion of valid values.

   
GlossaryTo <xml:lang identifier>

Glossaries map one language to another. This value indicates the language being translated to. See Lang below for a discussion of valid values.

   
General informatic and installer elements
About <string>

A lengthier description and may include copyright, source, etc. information, possibly duplicating information in other elements.

  Continuation
RTF
Version <version string>

Gives the module's revision number. Incrementing it when changes are made alerts users of the SWORD Installers to the presence of updated modules. Please start with version 1.0 and increment by 0.1 for minor updates and by larger values for more major updates such as a new text source. Changes to this conf file should also increment the version number. Do not use non-numbers, such as 1.4a or 1.1.3.

1.0  
History_x.x <string>

Used to alert users to what has changed between different versions. Each time a version is incremented a history line with that version number should explain the change.

  Repeats
MinimumVersion <version string>

Identifies the minimum version of the Sword library required for this module.

1.5.1a  
Category Daily Devotional (for modules with Feature=DailyDevotion)
Glossaries (for modules with Feature=Glossary)
Cults / Unorthodox / Questionable Material
Essays (for essays)
Maps (for modules that primarily consist of maps)
Images (for modules that primarily consist of images)
Biblical Texts (for Bibles)
Commentaries
Lexicons / Dictionaries
Generic Books (for anything else....)

This is used by installers to further categorize the modules beyond what can be figured out by the ModDrv and Feature.

Biblical Texts (for /(Raw|z)Text4?/)

Commentaries (for /(Raw|z|HREF)Com4?/)
Lexicons / Dictionaries (for /(Raw|z)LD4?/
Generic Books (for RawGenBook)

 
LCSH <tree/string>

Library of Congress Subject Heading. You may search the Library of Congress catalog or use it as a guide for determining an appropriate LCSH for books that are not in the Library of Congress.

   
Lang <xml:lang identifier>

This is the primary language code of the module and should include a value according to RFC 4646 using ISO639 codes when possible. ISO 639-1 codes are the preferred code (e.g. en for English). If there is none for the given language, use an ISO 639-2/T code (e.g. ceb for Cebuano). Failing that, use ISO 639-3, which covers over 7000 languages. See: http://www.sil.org/iso639-3/codes.asp for ISO 639-1, 639-2/T and 639-3 codes.
If a text is country specific, such as the Anglicized NIV, include the ISO 3166-1 country code after the language code and an underscore (e.g. en_GB for UK English).

en  
InstallSize <integer (indicating bytes)>    
SwordVersionDate <ISO date string (yyyy-mm-dd)>

Indicates the date that the module was changed.

   
Obsoletes <name of module>

Each instance of this element names a module that is made obsolete by this module, usually indicated by the former name of the module.

  Repeats
Copyright & Licensing related elements
Copyright <string>

Contains the copyright notice for the work, including the year of copyright and the owner of the copyright.

  Continuation
CopyrightHolder <string>

Contains the name of the copyright holder.

   
CopyrightDate <integer (indicating year)>    
CopyrightNotes <string>   Continuation
CopyrightContactName <string>

Contains the name of the copyright holder.

  Continuation
CopyrightContactNotes <string>   Continuation
CopyrightContactAddress <string>

Contains the mailing address of the copyright holder.

  Continuation
CopyrightContactEmail <string>

Contains the email address of the copyright holder, preferably in the form:
name at xyz dot com.

   
ShortPromo <string>

A link to the home page for the module, perhaps with an encouragement to visit the site.

  HTML Link
ShortCopyright <string>    
DistributionLicense Public Domain
Copyrighted
Copyrighted; Permission to distribute granted to CrossWire
Copyrighted; Free non-commercial distribution
Copyrighted; Freely distributable
Copyrighted; Permission granted to distribute non-commercially in Sword format
GFDL
GPL
Creative Commons: by-nc-nd
Creative Commons: by-nc-sa
Creative Commons: by-nc
Creative Commons: by-nd
Creative Commons: by-sa
Creative Commons: by

Use one of these strings verbatim. The actual copyright and/or license information is held in other elements. The last six licenses are Creative Commons licenses.

   
DistributionNotes <string>

Indicates any additional notes about distribution of the module.

  Continuation
TextSource <string, probably a URL>

Indicates, either in prose (such as "CCEL") or as a URL of the source of the text

  Continuation