Difference between revisions of "File Formats"
(→Module Creation Tools: * tei2mod - imports lexicons, dictionaries in TEI format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 †])
m (→Diagnostic Tools: –)
|Line 24:||Line 24:|
* mod2imp creates an IMP file<ref>The IMP file may contain a residue of XML markup</ref> from an installed module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 †]
* emptyvss exports a list of verses missing from the module (useful for testing modules during development) [http://crosswire.org/ftpmirror/pub/sword/utils/win32 †]
===Legacy format conversion Tools===
===Legacy format conversion Tools===
Revision as of 14:43, 17 July 2020
This page lists some of the more common file formats relevant to The SWORD Project, associated utilities, and other CrossWire projects.
CrossWire Bible Society respects copyright. As such, conversion of material that is under copyright without permission from the copyright holders is not supported by The SWORD Project.
- 1 SWORD modules
- 2 The SWORD Project Utilities
- 3 Formats for which CrossWire maintains converters
- 4 Other Utilities
- 5 See also
Other than the source code for the SWORD API, there is no documentation for the file format of a SWORD module. The intention is that the SWORD API (or the JSword implementation) is used directly or via other language bindings.
Our module file format is proprietary in the sense that we see no need to document it and certainly no need to stick to it. We change it when we need to. We therefore do not encourage direct interaction with it, but firmly recommend use of the API (either C++ or Java). This is the place where we seek stability and consistency.
The SWORD Project supports currently and actively the following markup for module creation: OSIS, TEI, ThML and plain text.
The SWORD Project Utilities
Module Creation Tools
- imp2gbs – imports free-form General books in IMP format to SWORD format †
- imp2ld – imports lexicons, dictionaries, and daily devotionals in IMP format to SWORD format †
- imp2vs – imports Bibles and commentaries in IMP format to SWORD format †
- vpl2mod – imports Bibles and commentaries in Verse-Per-Line format to SWORD format †
- osis2mod – imports Bibles and commentaries in OSIS format to SWORD format †
- tei2mod – imports lexicons, dictionaries in TEI format to SWORD format †
- xml2gbs – imports free-form General books in OSIS or ThML format to SWORD format †
- mod2imp – creates an IMP file from an installed module †
- emptyvss – exports a list of verses missing from the module (useful for testing modules during development) †
Legacy format conversion Tools
- gbf2osis.pl - a PERL utility for converting GBF to OSIS †
- step2vpl - export a STEP book in Verse-Per-Line (VPL) format †
- thml2osis - converts ThML to OSIS format.
- vs2osisref - returns the osisRef of a given (text form) verse reference †
- xml2gbs - imports free-form General books in OSIS or ThML format to SWORD format †
- cipherraw - used to encipher SWORD modules †
- diatheke - a basic CLI SWORD front-end †
- mkfastmod - creates a search index for a module †
- mod2zmod - creates a compressed module from an installed module †
Notes on SWORD Tools
- If you have Xiphos installed in Windows, the Sword utilities are available in the Xiphos\bin folder.
- The latest binaries may be found here, though currently without cipherraw.exe (Link broken!)
- EOLs should be either Unix style (LF) or Windows style (CRLF). Text files with Mac style EOLs (CR) may give rise to errors or other unexpected behaviour.
- The IMP file may contain a residue of XML markup
- Aside: To create a list of installed modules with descriptions, enter the following command, optionally redirecting stderr to a log file.
mkfastmod /? 2>mkfastmod.log
Recommended Non-SWORD Utilities
- uconv - a utility from ICU for converting between various character encodings, perform normalization, transliterate texts, etc. (It's similar to iconv, but much, much more powerful.) uconv.exe is part of the sword utilities
- xmllint - a utility (part of the libxml2 distribution) for validating XML documents *
Formats for which CrossWire maintains converters
The SWORD Project uses primary source e-texts. These texts come in numerous formats. CrossWire maintains converters for a number of formats, described below. The converters may target other markup formats, e.g. TEI or OSIS, or may simply export binary data to text, as is the case with our STEP exporter. Specific discussion of each of the available converters is found elsewhere on this page.
This plain-text format is a common internal-use format within Bible translation agencies and Bible societies. It is the native format of ParaTExt. Paratext is used by more than 60% of all Bible translators world-wide. The current release is ParaTExt 8.0.
USFM uses a separate file for each Bible book. USFM is also supported by the open-source program called Bibledit. There are examples of Bibles in USFM format available for download at . These include the KJV, ASV, and WEB Bibles.
USFM is one of the formats that can be used by Go Bible Creator.
- This replaces our earlier Perl script usfm2osis.pl.
These are not part of The SWORD Project, but may be useful. A link is given for each.
Go Bible utilities
- Go Bible Creator - a Java SE program for converting either ThML or OSIS or USFM to Go Bible. It is being enhanced by SIL to be capable of converting source text in XHTML-TE format.
- Go Bible Creator USFM Preprocessor – This is a tool to parse through and identify, correct and publish USFM file formats into a file format that can easily be put into the Go Bible mobile phone program.
- CCEL Desktop - a program for viewing and developing CCEL books