<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.crosswire.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Osk</id>
		<title>CrossWire Bible Society - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.crosswire.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Osk"/>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/Special:Contributions/Osk"/>
		<updated>2026-04-05T22:24:46Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.27.7</generator>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=Converting_SFM_Bibles_to_OSIS&amp;diff=15161</id>
		<title>Converting SFM Bibles to OSIS</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=Converting_SFM_Bibles_to_OSIS&amp;diff=15161"/>
				<updated>2016-10-25T03:23:50Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* Converting USFM files to OSIS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Module Development==&lt;br /&gt;
Please first visit this page [[Module Development Collaboration]] &amp;amp;ndash; it may save you a lot of time.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
'''Standard Format Markers''' (SFM) and its more standardized derivative USFM have been used for decades to store Bibles for printing and display in programs like [http://paratext.org/ UBS Paratext]. The format is popular among Bible translation agencies and Bible societies. The basic format of SFM is simply plaintext with backslash(\) codes. For example, a new Bible verse is signaled by '''\v''' followed by the number of the verse. &lt;br /&gt;
&lt;br /&gt;
Older texts in various dialects of SFM can still be found. It was common for various agencies, Bible societies, and even regional offices of such groups to have their own SFM standards. Unified Standard Format Markers (USFM) was developed to standardize SFM and encourage interoperability so that Bibles from one agency could be reasonably expected to operate with the software and style sheets employed by another. [http://paratext.org/usfm USFM] version 2.4 is the latest one documented.&lt;br /&gt;
&lt;br /&gt;
==Preparing (U)SFM files for conversion==&lt;br /&gt;
&lt;br /&gt;
The simplicity of writing SFM also makes it easy to write poor SFM that fails to correspond to any kind of standard. The first task in preparing to convert SFM files to OSIS is to clean the text. The more regular your source files are, the more likely the conversion process will operate correctly.&lt;br /&gt;
&lt;br /&gt;
One method of cleaning up your files is to import them into an SFM editor such as [http://bibledit.org/ Bibledit] (which now runs on Android, iOS, Linux, Mac OS X, Windows and Cloud) or [http://www.sil.org/computing/fieldworks/BTE-FW_downloads.htm SIL FieldWorks Translation Editor] (which runs on Windows). The editors will frequently perform some basic corrections to the SFM syntax, but Bibledit in particular can perform a number of checks to correct specific errors common to SFM.&lt;br /&gt;
&lt;br /&gt;
As of March 2013, after a formal agreement was signed with UBS, anyone who is a member of CrossWire's publishing staff is allowed to register and download [http://paratext.org/ Paratext] software - subject to individual approval by CrossWire's director. This agreement covers the software only, without giving access to the copyrighted resources associated with Paratext that are of greater use for Bible translators.&lt;br /&gt;
&lt;br /&gt;
===Checking USFM files for versification issues===&lt;br /&gt;
Rather than waiting until you have the end result, a SWORD module, and then running the general utility '''emptyvss''', it is possible to use another Windows based utility called [http://gbcpreprocessor.codeplex.com/ GoBibleCreator USFM Preprocessor]. Despite its name, its use is not limited to conversion of documents for use towards making Go Bible applications. Although this was originally developed for supporting the Go Bible project, it does have some useful more general features. This is one of them, and is found under the &amp;quot;Check for Consistency&amp;quot; tab. Another is the ability to export the USFM Bible into BQ/DigiStudy format. The Search for Versification Issues is particularly helpful for Bibles structured primarily as &amp;quot;verse per line&amp;quot;, rather than as paragraphs containing a verse range. Another useful feature is the identification of non-standard markers.&lt;br /&gt;
&lt;br /&gt;
=== USFM tag statistics ===&lt;br /&gt;
Before embarking on any USFM conversion to another format, it's often very useful to list all the different USFM markers (tags) that are used in the project SFM files. [[User:osk|Osk]] has developed a Python script called usfmtags.py to perform this task. It can be downloaded from his GitHub repository [https://github.com/chrislit/usfm2osis].&lt;br /&gt;
&lt;br /&gt;
[[User:David Haslam|David Haslam]] has developed a bespoke [http://www.datamystic.com/textpipe TextPipe] filter that performs a similar task. The tabbed output text file has columns for Count, Tag &amp;amp; Description. TextPipe is for Windows only. Details available on request.&lt;br /&gt;
&lt;br /&gt;
==Converting USFM files to OSIS==&lt;br /&gt;
&lt;br /&gt;
This section gives details of software utilities capable of converting USFM files to OSIS.&lt;br /&gt;
&lt;br /&gt;
All such conversions require the use of [[List of eXtensions to OSIS used in SWORD|eXtensions to OSIS]] of one form or another. Whether these are supported by the SWORD engine should be researched before users conclude that there are faults with the particular conversion method.&lt;br /&gt;
&lt;br /&gt;
=== usfm2osis ===&lt;br /&gt;
Some time ago CrossWire volunteer [[User:Osk|Osk]] developed a Python script to convert USFM to OSIS. Since 2014 it has been developed as a more modular Python module rather than a single script. It is maintained at [https://github.com/chrislit/usfm2osis GitHub], but most users should install it directly from [https://pypi.python.org/pypi/usfm2osis PyPI] via the pip command:&lt;br /&gt;
 pip install usfm2osis&lt;br /&gt;
&lt;br /&gt;
==== Usage ====&lt;br /&gt;
Once the usfm2osis module in installed, the usfm2osis.py conversion script itself may be invoked by calling:&lt;br /&gt;
 usfm2osis.py&lt;br /&gt;
&lt;br /&gt;
=== usfm2osis.py ===&lt;br /&gt;
Another CrossWire volunteer [[User:refdoc|RefDoc]] has adapted the script so that CrossWire can continue to use it for module development and release. Download this latest version from [https://github.com/refdoc/Module-tools]. &lt;br /&gt;
&lt;br /&gt;
The '''xulsword''' developer '''John Austin''' also has commit privileges to this github repo, such that this script is normally synchronised with his own version of the same Python script. ''See below''.&lt;br /&gt;
&lt;br /&gt;
One of the original stated aims was to achieve '''full coverage''' of USFM according to the [http://paratext.org/usfm ParaTExt spec].&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
# usfm2osis.py version 0.6 is the current release. Refer to the roadmap within the script.&lt;br /&gt;
# usfm2osis.py will always only generate best practice OSIS, to the best of its ability, so it won't generate stuff that SWORD requires due to its own shortcomings.&lt;br /&gt;
# usfm2osis.py generates OSIS with the '''milestone''' form of both chapter and verse elements.&lt;br /&gt;
# usfm2osis.py doesn't yet use SWORD bindings, so it's very limited in its knowledge of versification systems. This may mean that for the time being, expanding cross-references would typically have to be done by other means. ''See below''.&lt;br /&gt;
# In general, anyone interested in converting USFM to OSIS for use with SWORD ought now to employ usfm2osis.py as it's now the only supported pathway for USFM-&amp;gt;OSIS-&amp;gt;SWORD, inasmuch as its author has a fairly close connection with SWORD and regularly commits stuff to SWORD filters and whatnot. He will definitely not make the least effort to accommodate any non-standard output from converters other than usfm2osis.py.&lt;br /&gt;
# It is advised to use Python 2.7.x rather than Python 3.x as there are still some issues in getting the script to work with Python 3.&lt;br /&gt;
# Windows users are advised that should they encounter problems trying to run the script with ordinary CPython from python.org, to use the Python interpreter that can be installed with Cygwin. This would also help for specifying the input files using wildcards.&lt;br /&gt;
# Useful tip: Cygwin's bash shell recognizes [http://en.wikipedia.org/wiki/NTFS_symbolic_link NTFS symbolic links]. This means that the USFM input files and the Python script don't need to be copied to the cygwin/home/''user'' directory. Just make suitable links by means of the Windows mklink command.&lt;br /&gt;
# Bug reports and feature requests are welcomed at either [https://github.com/chrislit/usfm2osis/issues], [http://www.crosswire.org/tracker/browse/MODTOOLS] or [mailto:sword-support@crosswire.org sword-support].&lt;br /&gt;
&lt;br /&gt;
==== Usage ====&lt;br /&gt;
usfm2osis.py requires a Python interpreter in the system path.&lt;br /&gt;
&lt;br /&gt;
Optional: If you wish the script to validate the OSIS output, then you'll need to install [http://lxml.de/ lxml].&lt;br /&gt;
&lt;br /&gt;
The usage of usfm2osis.py is output when the script is run without parameters, i.e. with the shell command line&lt;br /&gt;
 python usfm2osis.py&lt;br /&gt;
The syntax is very close to that for usfm2osis.pl &amp;amp;ndash; ''see below''.&lt;br /&gt;
&lt;br /&gt;
==== XML Syntax Checking ====&lt;br /&gt;
&lt;br /&gt;
Until the Python script is fully debugged, it's possible that it may generate an OSIS file that fails the XML syntax check. As and when this occurs, it is always useful to isolate the location[s] of the XML file where the syntax is incorrect. This can be done by making separate OSIS XML files for each USFM file, or at least to exclude suspect files from the build by temporarily renaming the file extensions such that it does not match the wildcard pattern used in the command line.&lt;br /&gt;
&lt;br /&gt;
==== OSIS Validation ====&lt;br /&gt;
Until the Python script is fully debugged, it's quite possible that even though you have an OSIS file that passes the XML syntax check, it may still fail to validate to the OSIS schema. Similar techniques are useful here too. Make an individual OSIS file from each USFM file, so that the valid files can be distinguished from the invalid files. This facilitates further investigation to more easily locate the invalid elements.&lt;br /&gt;
&lt;br /&gt;
===== OSIS schema =====&lt;br /&gt;
CrossWire now validates OSIS files using our own custom adaptation of the OSIS schema. See [[OSIS 211 CR]] for details.&lt;br /&gt;
&lt;br /&gt;
==== Compatibility with osis2mod ====&lt;br /&gt;
Until the Python script is fully debugged, it's quite possible that even though you have an OSIS file that validates to the OSIS schema, it may still lead to problems when used as the input file for osis2mod. Much will depend on the complexities of the original USFM files, in terms of which markers were used and in what sequences. Some post-processing of the OSIS XML may be necessary to fix such potential problems.&lt;br /&gt;
&lt;br /&gt;
==== Unsupported Markers ====&lt;br /&gt;
Please refer to the roadmap within the script itself if you encounter any unsupported USFM tags.&amp;lt;ref&amp;gt;e.g. We recently encountered the as then undocumented use of 'nested' tags with the syntax '''\+tag_...\+tag*''' &amp;lt;BR&amp;gt;These are now documented in USFM Reference 2.4&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Other osis-converters ===&lt;br /&gt;
==== John Austin ====&lt;br /&gt;
[https://github.com/johnaustindev/osis-converters osis-converters] is the location for the open source (U)SFM-to-OSIS and OSIS-to-SWORD module converters originally developed independently by the main programmer of [https://github.com/JohnAustinDev/xulsword xulsword]. He now uses his own maintained version of usfm2osis.py and has commit privilege to the one maintained for CrossWire by [[User:refdoc|RefDoc]]. ''See above''.&lt;br /&gt;
&lt;br /&gt;
==== Aydeth ====&lt;br /&gt;
Aydeth has developed a Python script that is ostensibly faster than CrossWire's usfm2osis.py&amp;lt;BR&amp;gt;&lt;br /&gt;
Visit https://github.com/adyeths/u2o&lt;br /&gt;
&lt;br /&gt;
==== Haiola ====&lt;br /&gt;
Michael Johnson's [http://haiola.org/ Haiola] Windows software includes the conversion from USFM to OSIS as one of its features.&lt;br /&gt;
&lt;br /&gt;
=== usfm2osis.pl ===&lt;br /&gt;
[http://crosswire.org/svn/sword-tools/trunk/modules/perlconverters/usfm2osis.pl usfm2osis.pl] is a simple Perl script intended only for converting USFM files to OSIS. It does not provide comprehensive cover for all the tags in the USFM Reference.&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
# usfm2osis.pl is now '''deprecated'''. Please use the Python script instead. ''See above''.&lt;br /&gt;
# Its output was geared towards the use of OSIS documents in preparing to make SWORD modules.&lt;br /&gt;
# usfm2osis.pl generates OSIS with the '''milestone''' form of both chapter and verse elements. &lt;br /&gt;
# usfm2osis.pl is no longer being actively maintained by CrossWire.&lt;br /&gt;
&lt;br /&gt;
==== Usage ====&lt;br /&gt;
usfm2osis.pl requires a Perl interpreter in the system path. Then you can run: &lt;br /&gt;
 perl usfm2osis.pl &amp;lt;osisWork&amp;gt; [-o OSIS-file] [-e USFM encoding] &amp;lt;USFM filenames|wildcard&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If usfm2osis.pl is not in the current directory, use its full path.&lt;br /&gt;
&lt;br /&gt;
osisWork should be a value such as Bible.en.WEB.2007.&lt;br /&gt;
&lt;br /&gt;
If you include an OSIS-file value, the output will be written there. Otherwise, it will be written to a file name based on your osisWork.&lt;br /&gt;
&lt;br /&gt;
The USFM encoding argument should indicate the character encoding found in the source files. If none is given, UTF-8 is the default. The list of available encodings depends on your system. Executing the script with no arguments will print the list (as will executing it with an invalid encoding value).&lt;br /&gt;
&lt;br /&gt;
The final argument is a list of filenames or a wildcard value such as '''*.sfm''' containing the SFM data.&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
# In Windows, a wildcard as one of the &amp;lt;tt&amp;gt;usfm2osis.pl&amp;lt;/tt&amp;gt; parameters does not work. This is due to the way the Windows command shell (cmd.exe) does not expand the wildcard parameter. If you have [http://cygwin.com/ CygWin] installed, the bash shell solves this problem, because it expands the wildcard filename specifier.&lt;br /&gt;
# In Windows, the following command line syntax will create an OSIS file for each SFM file. This assumes the current directory is the folder where the SFM files are stored, and that there is a same-level directory called osis. It also illustrates the use of (subsititute) drive p: for the full path to usfm2osis.pl, and omits the USFM encoding parameter merely for clarity. The additional use of %f within the output filenames is to give each OSIS XML file a unique name.&lt;br /&gt;
&lt;br /&gt;
 for %f in (*.SFM) do perl p:\usfm2osis.pl &amp;lt;osisWork&amp;gt; -o ..\osis\&amp;lt;osisWork&amp;gt;.%f.osis.xml %f&lt;br /&gt;
&lt;br /&gt;
Similarly in CygWin or another bash environment you can use&lt;br /&gt;
&lt;br /&gt;
 for f in $(ls *.SFM); do perl usfm2osis.pl &amp;lt;osisWork&amp;gt; -o ../osis/&amp;lt;osisWork&amp;gt;.$f.osis.xml $f; done&lt;br /&gt;
&lt;br /&gt;
==== Unsupported Markers ====&lt;br /&gt;
&lt;br /&gt;
Not all USFM tags are currently supported, just those so far seen &amp;quot;in the wild&amp;quot; by the maintainers of the script. The comments of the script  document the current set of tags coverage. In view of the many omissions, it is advised to use the new Python script instead.&lt;br /&gt;
&lt;br /&gt;
=== Fixing the OSIS XML files ===&lt;br /&gt;
This section attempts to address some of the current deficiencies in SWORD, and lists tools to workaround these issues. Eventually (it is hoped) these will not be necessary, as the fixes will be implemented within usfm2osis.py during its further development, or as fixes are made to the SWORD engine and/or front-ends, as appropriate.&lt;br /&gt;
&lt;br /&gt;
==== OSIS hacks ====&lt;br /&gt;
OSIS 2.1.1 still lacks some desirable features or improvements. While these are not yet forthcoming, sometimes it may be necessary to implement some hacks to the OSIS generated by scripted OSIS converters to workaround these &amp;quot;deficiencies&amp;quot; in the OSIS schema. You can read about OSIS change requests (or judiciously add to the page) [[OSIS 211 CR|here]].&lt;br /&gt;
&lt;br /&gt;
==== Cross-references ====&lt;br /&gt;
&amp;lt;tt&amp;gt;usfm2osis.py&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;usfm2osis.pl&amp;lt;/tt&amp;gt; do not produce [[OSIS Bibles#Marking_cross-references_notes|cross-references]] (or [[OSIS Bibles#Marking_parallel_passage_headings|parallel passage headings]]) that work properly as links with SWORD.&amp;lt;ref&amp;gt;A solution for this is envisaged in the roadmap for &amp;lt;tt&amp;gt;usfm2osis.py&amp;lt;/tt&amp;gt;&amp;lt;/ref&amp;gt; If your text contains such, you need &amp;lt;tt&amp;gt;xreffix.pl&amp;lt;/tt&amp;gt; which sits in directory [https://crosswire.org/svn/sword-tools/trunk/modules/crossreferences/]. Using it requires the SWORD Perl bindings be installed and a [[DevTools:Locale Files|sword-locale]]&amp;lt;ref&amp;gt;If the locale file has any errors or omissions, some references may end up with an incorrect osisRef. Thorough checking of the converted file is paramount.&amp;lt;/ref&amp;gt; for the language of the module to be created.&amp;lt;ref&amp;gt;Special care is required when the cross-reference (or heading) includes additional text which is not a scripture reference. Until all these issues are fixed, it becomes almost impossible to parse the reference elements correctly such that the OSIS references can be added automatically.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous ====&lt;br /&gt;
Many texts in non-Latin scripts (and even for some Latin scripts) require batch conversion of characters and numbers. There are several scripts to assist with this, without harming the USFM or OSIS markup.&amp;lt;ref&amp;gt;These supplementary Perl scripts are located in various sub-directories under [https://crosswire.org/svn/sword-tools/trunk/modules/ sword-tools].&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;This has little to do with converting USFM to OSIS&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ParaTExt (export to OSIS) ===&lt;br /&gt;
&lt;br /&gt;
:''This section may require updating''.&lt;br /&gt;
&lt;br /&gt;
Since version 6, [http://paratext.org/ ParaTExt] has a menu option to export to OSIS. &lt;br /&gt;
&lt;br /&gt;
 Checking | Paratext 6 Checks | Publishing | Convert USFM to OSIS (Best Practice)&lt;br /&gt;
&lt;br /&gt;
:See [[Paratext to OSIS]] for illustration of this menu option.&lt;br /&gt;
&lt;br /&gt;
This option generates XML files with the following schema definition file referenced.&lt;br /&gt;
&lt;br /&gt;
 osisCore.2.0_UBS_SIL_BestPractice.xsd&lt;br /&gt;
&lt;br /&gt;
UBS SIL Best Practice OSIS makes use of several XML attributes that are not used within CrossWire, and some of these are custom (i.e. x-prefix named attributes). An accessible online copy does not seem to be available. Furthermore, the only undated copy of this .xsd file (40KB) that has been obtained includes the following lines:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;!--    WARNING   WARNING   WARNING&lt;br /&gt;
  THIS SCHEMA IS DEVELOPMENTAL AND SHOULD BE USED WITH THAT UNDERSTANDING --&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Contrast the above with the standard definition file (92KB) used by CrossWire.&lt;br /&gt;
&lt;br /&gt;
 http://www.bibletechnologies.net/osisCore.2.1.1.xsd&lt;br /&gt;
&lt;br /&gt;
Notwithstanding the above concerns, based on one sample exported from a Paratext project, it has been verified that replacing line 2 by the similar line output from usfm2osis.pl, such a converted XML file can be validated against the standard definition file.&lt;br /&gt;
&lt;br /&gt;
Nevertheless, further testing (using &amp;lt;tt&amp;gt;osis2mod&amp;lt;/tt&amp;gt;) of some OSIS files exported from Paratext revealed that they generated WARNING(NESTING) errors. Some of these were due to the eID milestone for a verse occurring BEFORE the sID milestone for the same verse! Others were due to &amp;lt;tt&amp;gt;&amp;lt;/note&amp;gt;&amp;lt;/tt&amp;gt; being placed AFTER the eID milestone for the verse where the note occurs.&lt;br /&gt;
&lt;br /&gt;
Hence I conclude that what Paratext outputs as OSIS is not really &amp;quot;best practice&amp;quot;, and would require some improvements to fix issues such as these. However, we know that work on OSIS export from Paratext has virtually stopped - so this may now prove to be of mere historical interest.&lt;br /&gt;
&lt;br /&gt;
The bottom line is that the OSIS export from Paratext is not ready for publishing a SWORD module.&lt;br /&gt;
&lt;br /&gt;
==Creation of publication ready modules from USFM and submission to CrossWire==&lt;br /&gt;
&lt;br /&gt;
=== Checking and validating OSIS files ===&lt;br /&gt;
When checking OSIS XML files there are 3 steps:&lt;br /&gt;
# Is the OSIS well formed XML ?&lt;br /&gt;
# Is the file valid to the defined OSIS schema?&amp;lt;ref&amp;gt;e.g. Using [http://lxml.de/ lxml] or any other suitable means (e.g. the XML Tools plugin for Notepad++ on Windows).&amp;lt;/ref&amp;gt;&lt;br /&gt;
# Is the file &amp;quot;fit for purpose&amp;quot; (i.e. suitable for immediate use by the SWORD conversion tool called &amp;lt;tt&amp;gt;osis2mod&amp;lt;/tt&amp;gt;)&lt;br /&gt;
Step #1 does not guarantee step #2 and step #2 does not guarantee step #3. See above and below and [[OSIS Bibles#Limitations_of_XML_validators|limitations of XML validators]].&lt;br /&gt;
&lt;br /&gt;
Before you convert your OSIS files to SWORD format, you should always check that it is valid OSIS.&amp;lt;BR&amp;gt;Before you submit any files to modules@crosswire.org, you '''must''' ensure that your files are valid OSIS. Invalid OSIS files will not be accepted.&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Module creation process ===&lt;br /&gt;
:''This section requires updating to reflect the move to using the Python script &amp;lt;tt&amp;gt;usfm2osis.py&amp;lt;/tt&amp;gt; in preference to its Perl predecessor''.&lt;br /&gt;
&lt;br /&gt;
Our process to create publication ready modules from USFM looks like this:&lt;br /&gt;
&lt;br /&gt;
==== Stage 1 ====&lt;br /&gt;
''The command line examples in this section are for Unix. In Windows, it's not as simple to make equivalent command lines for Perl, especially in regard to [http://en.wikipedia.org/wiki/Glob_%28programming%29 globbing] wildcards for filenames''.&lt;br /&gt;
*Iterate &amp;lt;tt&amp;gt;usfm2osis.pl&amp;lt;/tt&amp;gt; over each single USFM file to produce a  OSIS file per USFM file&lt;br /&gt;
 for biblebook in 'ls *usfm'; do usfm2osis.pl $biblebook $biblebook; done&lt;br /&gt;
*Check each OSIS file for XML validity - this will throw up a lot of not obvious USFM encoding problems&lt;br /&gt;
 for biblebook in 'ls *osis.xml'; do checkbible $biblebook; done&lt;br /&gt;
*Correct USFM files as per mistakes found&lt;br /&gt;
&lt;br /&gt;
Rerun this stage until you have clean and validating OSIS files.&lt;br /&gt;
&lt;br /&gt;
==== Stage 2 ====&lt;br /&gt;
&lt;br /&gt;
# Check the OSIS files for not transformed USFM markers.&amp;lt;ref&amp;gt;Not many common ones are left unsupported, but you may encounter usually one or two new ones if you get files from a different new source.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Some supported USFM markers may remain unconverted due to anomalies in how the USFM files were edited.&amp;lt;br&amp;gt;Paratext does not check all potential mismatches against the USFM reference manual, and moreover, the manual itself leaves room for some ambiguities.&amp;lt;/ref&amp;gt;&lt;br /&gt;
# Fix &amp;lt;tt&amp;gt;usfm2osis.pl&amp;lt;/tt&amp;gt; and add the missing tags for correct OSIS transformation.&lt;br /&gt;
# Rerun above until you have a clean validating collection of OSIS files with no left over USFM tags.&amp;lt;ref&amp;gt;A lot of the repetitive aspects can be done with the help of some shell scripts, so do not worry that you have to run each time multiples of &amp;lt;tt&amp;gt;usfm2osis.pl&amp;lt;/tt&amp;gt; by hand.&amp;lt;/ref&amp;gt;&lt;br /&gt;
# Send the updates to usfm2osis.pl to CrossWire's SVN repository.&lt;br /&gt;
# Run &amp;lt;tt&amp;gt;usfm2osis.pl&amp;lt;/tt&amp;gt; over all the USFM files and create a single large OSIS file.&lt;br /&gt;
# Check again for XML validity.&amp;lt;ref&amp;gt;See [[OSIS_Bibles#Valid_OSIS_test|OSIS Bible validation]] for further instructions on OSIS validation.&amp;lt;/ref&amp;gt;&lt;br /&gt;
# Run the OSIS  file through &amp;lt;tt&amp;gt;osis2mod&amp;lt;/tt&amp;gt;&amp;lt;ref&amp;gt;Instructions for running &amp;lt;tt&amp;gt;osis2mod&amp;lt;/tt&amp;gt; are available at [[osis2mod#Usage|osis2mod usage]].&amp;lt;/ref&amp;gt;, create a [[DevTools:conf Files|conf file]], and check the resultant module for problems in a variety of front-ends.&amp;lt;ref&amp;gt;Fixes should be made in the USFM files at the very start and then cascaded down into the module following the overall process again.&amp;lt;/ref&amp;gt;&lt;br /&gt;
# Create a [[DevTools:SWORD#Locale_file_layout|sword locale file]] and store in your &amp;lt;tt&amp;gt;/usr/share/sword/locales.d/&amp;lt;/tt&amp;gt; directory&amp;lt;ref&amp;gt;or the equivalent directory on your system&amp;lt;/ref&amp;gt; &lt;br /&gt;
# If cross references are part of the USFM files fix these with the help of &amp;lt;tt&amp;gt;xreffix.pl&amp;lt;/tt&amp;gt; (also in sword-tools).&amp;lt;ref&amp;gt;This requires a sword locale in the local installation at least.&amp;lt;/ref&amp;gt;&lt;br /&gt;
# Run again through &amp;lt;tt&amp;gt;osis2mod&amp;lt;/tt&amp;gt; and check again.&lt;br /&gt;
# Submit the final OSIS file and the conf file to CrossWire together with the locale file.&amp;lt;ref&amp;gt;Include advice regarding which [[Module Repositories|repository]] the module is intended for.&amp;lt;/ref&amp;gt;&lt;br /&gt;
# Send any corrections on the USFM files back to the translation team. Chances are these are all valid and necessary corrections which help to improve the USFM.&amp;lt;ref&amp;gt;Both Paratext and Bibledit are a bit more forgiving than our tools, but some problems you encounter could have affected the final paper print.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Guides|Converting SFM Bibles to OSIS]]&lt;br /&gt;
[[Category:OSIS]]&lt;br /&gt;
[[Category:USFM]]&lt;br /&gt;
[[Category:Bibledit]]&lt;br /&gt;
[[Category:Paratext]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=User:Osk&amp;diff=13298</id>
		<title>User:Osk</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=User:Osk&amp;diff=13298"/>
				<updated>2014-04-23T10:43:05Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Users with a user page|O]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=User:Osk/Todo&amp;diff=13297</id>
		<title>User:Osk/Todo</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=User:Osk/Todo&amp;diff=13297"/>
				<updated>2014-04-23T10:39:56Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Module Tasks ==&lt;br /&gt;
&lt;br /&gt;
=== Todo List ===&lt;br /&gt;
# MorphLXX&lt;br /&gt;
# Clear the rest of this list of completed items :D&lt;br /&gt;
# Clear module [http://www.crosswire.org/bugs/browse/MOD bugs]&lt;br /&gt;
# Clear beta [[Modules_in_the_beta_repository| list]]&lt;br /&gt;
# Remake JFB [[http://www.crosswire.org/bugs/browse/MOD-54 MOD-54]]&lt;br /&gt;
# Look into ZhEnglish [[http://www.crosswire.org/bugs/browse/MOD-61 MOD-61]] -- maybe unfixable&lt;br /&gt;
# Remake ASV, Codex Marianus, OrthJBC, &lt;br /&gt;
# KLV... needs work... inline notes&lt;br /&gt;
# Reimport: Alb, Aleppo, ArmZorhab, DRA, Diaglott, Geneva1599, Geo, GerElb1871, HebModern, ISV, ItaDio, ItaRive, LXX, Murdock, Peshitta, RomCor, Rotherham, RusMakarij, UMGreek&lt;br /&gt;
# Fix headings: DutSVV&lt;br /&gt;
# Morphology &amp;amp; associated modules&lt;br /&gt;
# Turkish glossary (others?) &amp;lt; Ergane,FD&lt;br /&gt;
# Lewis?&lt;br /&gt;
# Schaff content -pp&lt;br /&gt;
# transition TEI P4 modules to TEI P5 (Perseus, GermLex content)&lt;br /&gt;
# zLD linking support(?)&lt;br /&gt;
# Other English-language TEI dictionaries (Wi)&lt;br /&gt;
# TEI glossaries&lt;br /&gt;
# Gothic lexicon&lt;br /&gt;
# Wiki Bibles (x3?)&lt;br /&gt;
# Luther 22/30/46&lt;br /&gt;
# Look for new source of BurJudson with linked verses (or forward-link through empty vv); BurJudson Unicode 5.1 update?&lt;br /&gt;
# Remake Bible21 from http://online.bible21.cz/ (include paragraphs, poetic markup, titles, (etc.?))&lt;br /&gt;
# Think about further development of usfm2osis.py&lt;br /&gt;
&lt;br /&gt;
=== Holding, pending resubmission or such ===&lt;br /&gt;
# pending new osis2mod (have linked verses): Tamajaq, GerLut1545lh, K&amp;amp;D, Clarke, Amharic, MHC ([[http://www.crosswire.org/bugs/browse/MOD-65 MOD-65]] [[http://www.crosswire.org/bugs/browse/MOD-52 MOD-52]] [[http://www.crosswire.org/bugs/browse/MOD-48 MOD-48]] [[http://www.crosswire.org/bugs/browse/MOD-34 MOD-34]])&lt;br /&gt;
# pending new osis2mod (have word of Christ): ABU, KJC, Worsley (rename)&lt;br /&gt;
# pending new osis2mod (pre-verse content problems): GerLut1912&lt;br /&gt;
&lt;br /&gt;
=== Modules needing occasional updates ===&lt;br /&gt;
* [http://sourceforge.net/projects/structio/ SpaTDP]&lt;br /&gt;
* [http://www.ebible.org/web/ WEB]&lt;br /&gt;
* [http://www.ebible.org/hnv/ HNV]&lt;br /&gt;
* [http://www.freie-bibel.de/official/bibel/elberfelder/ GerElb1871r]&lt;br /&gt;
* [http://kimkat.org/amryw/1_testunau/sion_prys_003_beibl_mynegai_1281k.htm WelMorgan]&lt;br /&gt;
* [http://www.biblebc.com/Irish/IrishBible/status.htm IriODomhnuill] : [http://www.biblebc.com/Projects/irish_new_testament_project.htm main page]&lt;br /&gt;
* [http://vulsearch.sourceforge.net/plain.html Vulgate_Clem]&lt;br /&gt;
* [http://www.offene-bibel.de/ Offene Bibel]&lt;br /&gt;
* [http://cherokeenewtestament.com/ Cherokee New Testament] / Last checked 2013-10-10 (site down)&lt;br /&gt;
* [http://www.sacredbible.org/errata.htm CPDV]&lt;br /&gt;
* [https://github.com/openscriptures/morphhb/tree/master/wlc OSHB] / Last updated 2013-10-11&lt;br /&gt;
* [http://tanach.us/Books/ WLC] / Last updated 2013-10-11&lt;br /&gt;
&lt;br /&gt;
=== Modules needing v11n rebuilds (post JSword av11n-compatibility) ===&lt;br /&gt;
* FinPR92, FinPR(?), FinBiblia(?) (&amp;gt;German?)&lt;br /&gt;
* HinERV (&amp;gt;NRSV)&lt;br /&gt;
* UrduGeo (&amp;gt;NRSV)&lt;br /&gt;
* UrduGeoDeva (&amp;gt;NRSV)&lt;br /&gt;
&lt;br /&gt;
==Programming Tasks==&lt;br /&gt;
&lt;br /&gt;
===Sword===&lt;br /&gt;
# UTF8HebrewVowels --&amp;gt; UTF8AbjadVocalization (merge with UTF8ArabicVowels? or is this task no longer necessary?)&lt;br /&gt;
# Make *LD linked entries work&lt;br /&gt;
&lt;br /&gt;
===Utils===&lt;br /&gt;
# Make imp2gbs not crash&lt;br /&gt;
# Make tei2mod better (debug/commit memory leak fix &amp;amp; linked entry handling)&lt;br /&gt;
&lt;br /&gt;
===ICU tasks===&lt;br /&gt;
# switch regex to ICU regex&lt;br /&gt;
# submit transliterators to CLDR&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=File_Formats&amp;diff=13282</id>
		<title>File Formats</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=File_Formats&amp;diff=13282"/>
				<updated>2014-03-20T07:00:06Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: old linkspam&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bible study programs use a plethora of markup formats. Even more have been suggested for use in creating Bibles and other religious material.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
This page lists some of the more common file formats ''relevant'' to The SWORD Project, associated utilities, and other CrossWire projects.&lt;br /&gt;
&lt;br /&gt;
== SWORD modules ==&lt;br /&gt;
Other than the source code for the SWORD API, there is no documentation for the file format of a '''SWORD module'''. There is no other documentation. The intention is that the [[DevTools:SWORD|SWORD API]] (or the [[DevTools:JSword|JSword]] implementation) is used directly or via other [http://en.wikipedia.org/wiki/Language_binding language bindings].&lt;br /&gt;
&lt;br /&gt;
Whilst our software is [http://en.wikipedia.org/wiki/Open_source ''open source''], our module file format is [http://en.wikipedia.org/wiki/Proprietary_format ''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.&lt;br /&gt;
&lt;br /&gt;
==SWORD Input formats==&lt;br /&gt;
The SWORD Project supports the following markup: OSIS, TEI, ThML, GBF and plain text.&lt;br /&gt;
&lt;br /&gt;
===OSIS===&lt;br /&gt;
''Open Scripture Information Standard''&lt;br /&gt;
&lt;br /&gt;
The Open Scripture Information Standard (OSIS) is &amp;quot;a common format for many visions.&amp;quot; It is an XML format for marking up scripture and related text, part of an initiative composed of translators, publishers, scholars, software manufacturers, and technical experts, coordinated by the [http://www.bibletechnologies.net/ Bible Technologies Group]. It is co-sponsored by the [http://www.americanbible.org/ American Bible Society] and the [http://www.sbl-site.org/ Society of Biblical Literature]. &lt;br /&gt;
&lt;br /&gt;
The most recent XML schema is [http://www.bibletechnologies.net/osisCore.2.1.1.xsd OSIS 2.1.1], and a [http://www.bibletechnologies.net/20Manual.dsp manual]  is also available.&lt;br /&gt;
&lt;br /&gt;
This markup format is recommended by the CrossWire Bible Society and can be used for creating all types of resources for The SWORD Project. Support for OSIS is actively maintained and support for any unsupported elements or features needed for a module you may be working on may be requested.&lt;br /&gt;
&lt;br /&gt;
[http://www.princexml.com/ Prince XML] is a proprietary software program that converts XML and HTML documents into PDF files by applying Cascading Style Sheets (CSS). It is developed by YesLogic, a small company based in Melbourne, Australia. It can be used to create high quality PDF Bibles from OSIS files[http://www.princexml.com/samples/]. A paper by [http://www.bibletechconference.com/speakers/ Jim Albright] of Wycliffe Bible Translators was presented at [http://www.bibletechconference.com/ BibleTech 2010] on using the open-source GUI companion for Prince XML, called [http://code.google.com/p/princess-2010/ Princess].&lt;br /&gt;
&lt;br /&gt;
===TEI P5===&lt;br /&gt;
''Text Encoding Initiative''&lt;br /&gt;
&lt;br /&gt;
TEI is an text encoding standard used broadly in the humanities. It is developed by the [http://www.tei-c.org/ TEI Consortium].&lt;br /&gt;
&lt;br /&gt;
A manual for the latest edition of TEI P5 can be found at [http://www.tei-c.org/release/doc/tei-p5-doc/en/html/ P5: Guidelines for Electronic Text Encoding and Interchange].&lt;br /&gt;
&lt;br /&gt;
CrossWire supports use of TEI for the encoding of dictionaries, encyclopedias, and similar works, as well as for free form books (GenBooks). We have developed our own version of the TEI P5 schema, available at http://www.crosswire.org/osis/teiP5osis.latest.xsd (http://www.crosswire.org/osis/teiP5osis.2.5.0.xsd is the latest at the time of writing). CrossWire's additions to the standard schema include the ability to create osisRefs and osisIDs to facilitate interoperability with OSIS documents and Bible reference tagging.&lt;br /&gt;
&lt;br /&gt;
Further information can be found at the [[TEI Dictionaries]] page.&lt;br /&gt;
&lt;br /&gt;
===VPL===&lt;br /&gt;
''Verse-Per-Line''&lt;br /&gt;
&lt;br /&gt;
This plain-text format is used for by SWORD for import of Bibles. It consists of one verse per line, with an optional verse reference at the beginning. The [[#VPL_Tools|vpl2mod]] utility may be used for import. VPL is deprecated in favor of the IMP format, which is more widely useful. The [[#VPL_Tools|mod2vpl]] utility may be used for export to VPL. There is a command line switch to prepend the verse reference to each line.&lt;br /&gt;
&lt;br /&gt;
===IMP===&lt;br /&gt;
''Import Format''&lt;br /&gt;
&lt;br /&gt;
This proprietary file format is used by SWORD for import of all types of modules. The three utilities '''imp2vs''' (for Bibles and verse-indexed commentaries), '''imp2ld''' (for lexicons, dictionaries, and daily-devotionals), and '''imp2gbs''' (for all other types of books) can be used to import IMP files to SWORD's native formats.&lt;br /&gt;
&lt;br /&gt;
An IMP file consists of any number of entries. Each entry consists of a key line and any number of content lines. The key line consists of a line beginning with &amp;quot;$$$&amp;quot;. For example, &amp;quot;$$$Gen 1:1&amp;quot; would be the key line for the Genesis 1:1 entry of a Bible or commentary module.&lt;br /&gt;
&lt;br /&gt;
The content lines of an entry may consist of any text (provided that the first three characters of the line are not &amp;quot;$$$&amp;quot;). The internal markup of the content may be in any format supported by SWORD, namely OSIS for any module type or ThML for freeform books from CCEL.&lt;br /&gt;
&lt;br /&gt;
See also [[DevTools:Modules#IMP_Format]].&lt;br /&gt;
&lt;br /&gt;
==== imp2osis ====&lt;br /&gt;
CrossWire has a Perl script called [http://crosswire.org/ftpmirror/pub/sword/utils/perl/imp2osis.pl imp2osis.pl], which will convert IMP to OSIS fairly well (except a few 'corner cases'). Whenever CrossWire receives an IMP submission, this is the first thing that is run, allowing CrossWire to do validation and other OSIS sanity checks. Some editing is usually necessary after converting an IMP file to an OSIS XML file. For example, the attribute '''canonical''' is omitted from the osisText and all &amp;amp;lt;div&amp;gt; elements, and the language attribute '''xml:lang''' defaults to &amp;quot;en&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===ThML===&lt;br /&gt;
''Theological Markup Language'' '''(deprecated)'''&lt;br /&gt;
&lt;br /&gt;
This format is a variant of XML based on TEI and ThML, developed by and for the [http://www.ccel.org/ Christian Classics Ethereal Library]. The specifications for this markup format are available at http://www.ccel.org/ThML/. &lt;br /&gt;
&lt;br /&gt;
This markup format is used in some SWORD resources, but only the creation of free-form &amp;quot;General book&amp;quot; modules based on existing CCEL resources is currently supported. Other works and new works should be created using the OSIS or TEI format.&lt;br /&gt;
&lt;br /&gt;
===GBF===&lt;br /&gt;
''General Bible Format'' '''(deprecated)'''&lt;br /&gt;
&lt;br /&gt;
This markup format is intended as an aid to preparing Bible texts (specifically the WEB and WEB:ME) for use with various Bible search programs. The complete specification is at http://www.ebible.org/bible/gbf.htm. &lt;br /&gt;
&lt;br /&gt;
This markup format was previously used for some SWORD modules but is now [http://en.wikipedia.org/wiki/Deprecation deprecated] in favor of OSIS. The rudimentary [http://crosswire.org/ftpmirror/pub/sword/utils/perl/gbf2osis.pl gbf2osis.pl] Perl utility may be used to convert GBF to OSIS for import to SWORD's native format. Adyeth hosts a [http://sites.google.com/site/adyeths/theswordproject/gbf2osis.py?attredirects=0 gbf2osis] Python utility that he wrote to convert the GBF texts from [http://ebible.org/ ebible.org] to OSIS. See [http://sites.google.com/site/adyeths/theswordproject].&lt;br /&gt;
&lt;br /&gt;
==The SWORD Project Utilities==&lt;br /&gt;
Precompiled versions of many of these programs are available in most Linux distributions, using the distribution's package installer. For Windows, they can be found [http://crosswire.org/ftpmirror/pub/sword/utils/win32 here].&amp;lt;ref&amp;gt;If you have Xiphos installed in Windows, the Sword utilities are available in the Xiphos\bin folder.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;The latest binaries may be found [http://dl.thehellings.com/sword-utils/ here], though currently without emptyvss.exe&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Module Creation Tools===&lt;br /&gt;
It is recommended that Unicode text files used for module creation be [[Encoding|encoded]] as UTF-8.&amp;lt;ref&amp;gt;[http://en.wikipedia.org/wiki/Newline 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.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* imp2gbs - imports free-form General books in IMP format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* imp2ld - imports lexicons, dictionaries, and daily devotionals in IMP format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* imp2vs - imports Bibles and commentaries in IMP format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* vpl2mod - imports Bibles and commentaries in Verse-Per-Line format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* [[osis2mod]] - imports Bibles and commentaries in OSIS format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* xml2gbs - imports free-form General books in OSIS or ThML format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===Diagnostic Tools===&lt;br /&gt;
* mod2imp - creates an IMP file&amp;lt;ref&amp;gt;The IMP file may contain a residue of XML markup&amp;lt;/ref&amp;gt; from an installed module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* stepdump - dumps the contents of a STEP book [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* emptyvss - exports a list of verses missing from the module (useful for testing modules during development) [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===Conversion Tools===&lt;br /&gt;
* gbf2osis.pl - a PERL utility for converting GBF to OSIS [http://crosswire.org/ftpmirror/pub/sword/utils/perl/gbf2osis.pl &amp;amp;dagger;]&lt;br /&gt;
* step2vpl - export a STEP book in Verse-Per-Line (VPL) format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* [[DevTools:Misc#thml2osis|thml2osis]] - converts ThML to OSIS format.&lt;br /&gt;
* zef2osis.pl - a PERL utility for converting Zefania XML to OSIS [http://crosswire.org/ftpmirror/pub/sword/utils/perl/zef2osis.pl &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===OSIS Utilities===&lt;br /&gt;
* [[mod2osis]] - creates an OSIS file from an installed module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* vs2osisref - returns the osisRef of a given (text form) verse reference [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* xml2gbs - imports free-form General books in OSIS or ThML format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===Miscellaneous===&lt;br /&gt;
* cipherraw - used to encipher SWORD modules [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* diatheke - a basic CLI SWORD front-end [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* mkfastmod - creates a search index for a module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* [[mod2zmod]] - creates a compressed module from an installed module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* mod2vpl - exports the module to VPL format&amp;lt;ref&amp;gt;The VPL file may contain a residue of XML markup&amp;lt;/ref&amp;gt; [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* modwrite - outputs the module contents in VPL format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* treeidxutil - ''needs a description'' [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* genbookutil - ''needs a description'' [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
==== Notes on SWORD Tools ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Recommended Non-SWORD Utilities===&lt;br /&gt;
* uconv - a utility from [http://icu-project.org/ 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 [http://crosswire.org/ftpmirror/pub/sword/utils/win32 sword utilities]&lt;br /&gt;
* xmllint - a utility (part of the [http://xmlsoft.org/ libxml2] distribution) for validating XML documents [http://crosswire.org/ftpmirror/pub/sword/utils/win32 *]&lt;br /&gt;
&lt;br /&gt;
==Formats for which CrossWire maintains converters==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Unbound Bible Format===&lt;br /&gt;
''Unbound Bible Format''&lt;br /&gt;
&lt;br /&gt;
The [http://unbound.biola.edu/ BIOLA's Unbound Bible] offers many of their resources for download in a proprietary, but relatively simple [http://en.wikipedia.org/wiki/Tab_delimited tab-delimited] plain-text format (TDT). There are usually two variants, one with versification mapping to the [http://en.wikipedia.org/wiki/American_Standard_Version ASV], and the other without verse mapping. All available downloads may be found on Unbound Bible's [http://unbound.biola.edu/index.cfm?method=downloads.showDownloadMain download page].&lt;br /&gt;
&lt;br /&gt;
There is no widespread use of this format, but the rudimentary [http://crosswire.org/ftpmirror/pub/sword/utils/perl/unb2osis.pl unb2osis.pl] utility may be used to convert Unbound Bible format to OSIS for import to SWORD's native format.&lt;br /&gt;
&lt;br /&gt;
===USFM===&lt;br /&gt;
[http://paratext.org/usfm ''Unified Standard Format Markers'']&lt;br /&gt;
&lt;br /&gt;
This plain-text format is a common internal-use format within Bible translation agencies and Bible societies. It is the native format of [http://paratext.org/ ParaTExt]. Paratext is used by more than 60% of all Bible translators world-wide. The current release is Paratext 7.4.&lt;br /&gt;
&lt;br /&gt;
CrossWire now has a Python script called usf2m2osis.py&amp;lt;ref&amp;gt;This replaces our earlier Perl script [http://crosswire.org/ftpmirror/pub/sword/utils/perl/usfm2osis.pl usfm2osis.pl].&amp;lt;/ref&amp;gt; which converts USFM to OSIS for subsequent import to SWORD's native format. See [[Converting SFM Bibles to OSIS]].&lt;br /&gt;
&lt;br /&gt;
USFM uses a separate file for each Bible book. USFM is also supported by the open-source program called [http://sites.google.com/site/bibledit/ Bibledit]. There are examples of Bibles in USFM format available for download at [http://ebible.org/]. These include the [http://ebible.org/bible/kjv/kjvsf.zip KJV], [http://ebible.org/bible/asv/asvsf.zip ASV], and [http://ebible.org/bible/web/websf.zip WEB] Bibles.&lt;br /&gt;
&lt;br /&gt;
USFM is one of the formats that can be used by [[Projects:Go Bible/Go Bible Creator|Go Bible Creator]].&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Go Bible===&lt;br /&gt;
Following an agreement made in July 2008 with the program's author Jolon Faichney, [[Projects:Go Bible|Go Bible]] was adopted by CrossWire as its Java ME software project.&lt;br /&gt;
&lt;br /&gt;
To achieve the navigation speed and general ease of use on even the simplest of Java mobile phones, Go Bible data is fully indexed, as well as being compressed (as are all JAR files).  The format is described in [http://code.google.com/p/gobible/wiki/GoBibleDataFormat Go Bible data format]. Go Bible data is structured as Book | Chapter | Verse text and does not support notes, headings and cross-references, etc. The developer kit [http://gobible.jolon.org/developer/welcome.html Go Bible Creator] can take either USFM, ThML or OSIS as the source text format, but they usually have to be made specially suitable. For example, OSIS files produced by Snowfall Software's SFMToOSIS script are not structured the same. Work has begun to make an [http://en.wikipedia.org/wiki/XSL_Transformations XSLT] script to convert such OSIS XML files to the format suitable for Go Bible. [[Projects:Go Bible/Go Bible Creator|Go Bible Creator]] version 2.3.2 and onwards can take a folder of USFM files as the source text format.&lt;br /&gt;
&lt;br /&gt;
Go Bible source code is now available [https://crosswire.org/svn/gobible/ here] on the CrossWire Repository. ''To access this you will need to have an account''.&lt;br /&gt;
&lt;br /&gt;
GoBibleDataFormat is being extended in the [[Projects:Go Bible/SymScroll|SymScroll]] branch.&lt;br /&gt;
&lt;br /&gt;
==Formats for which CrossWire has no intention of creating a converter==&lt;br /&gt;
===STEP===&lt;br /&gt;
''[http://en.wikipedia.org/wiki/STEP_Library Standard Template for Electronic Publishing]''&lt;br /&gt;
&lt;br /&gt;
This file format was formerly used by QuickVerse and WORDsearch, and is currently used for some e-Sword books.&lt;br /&gt;
&lt;br /&gt;
While not an open standard, the publicly released documentation and specifications for this format can be found partially mirrored at &lt;br /&gt;
http://www.crosswire.org/bsisg/. Some utilities for working with this format are listed below. The SWORD Project will not support this dead format.&lt;br /&gt;
&lt;br /&gt;
''Not to be confused with STEP (Scripture Tools for Every Pastor) &amp;amp;ndash; and the new front-end application ([[Frontends:TyndaleStep|Tyndale STEP]]) being developed by Tyndale House, Cambridge in collaboration with CrossWire''.&lt;br /&gt;
&lt;br /&gt;
===USX===&lt;br /&gt;
'''USX''' is an XML schema that is the underlying data structure in the latest release of [http://paratext.org/ UBS Paratext]. SIL's Language Software Development team is working with UBS on this. This version of Paratext can take in USFM projects and export USX files.&lt;br /&gt;
&lt;br /&gt;
USX was defined to support the [http://everytribeeverynation.org/ Every Tribe Every Nation] alliance '''Digital Bible Library''' (DBL). The alliance brings together the United Bible Society, SIL/WBT, American Bible Society, Biblica and other Bible Agencies. Under the ETEN framework, Bible translations made publication ready in the DBL for access by approved End User Ministry Partners (EUMP) will be stored in USX format.&lt;br /&gt;
&lt;br /&gt;
The [https://bitbucket.org/paratext/dblvalidation/src/tip/source/text USX schema] is available in the compact [http://relaxng.org/ Relax NG] Schema language. [https://bitbucket.org/paratext/dblvalidation dblvalidation] for the Digital Bible Library is hosted on the same site.&lt;br /&gt;
&lt;br /&gt;
==Other Utilities==&lt;br /&gt;
These are not part of The SWORD Project, but may be useful. A link is given for each.&lt;br /&gt;
&lt;br /&gt;
===Go Bible utilities===&lt;br /&gt;
* [[Projects:Go Bible/Go Bible Creator|Go Bible Creator]] - a Java SE program for converting either ThML or OSIS or USFM to [[Projects:Go Bible|Go Bible]]. It is being enhanced by SIL to be capable of converting source text in [[File Formats#XHTML|XHTML-TE]] format.&lt;br /&gt;
&lt;br /&gt;
* [http://gbcpreprocessor.codeplex.com/ Go Bible Creator USFM Preprocessor] &amp;amp;ndash; 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.&lt;br /&gt;
&lt;br /&gt;
===STEP Utilities===&lt;br /&gt;
* step2rtf - extracts the internal RTF text from STEP books  [http://www.customconsulting.us/step2rtf.zip]&lt;br /&gt;
* stepr - a rudimentary STEP reader [http://www.customconsulting.us/stepr-0.3.1.tgz]&lt;br /&gt;
&lt;br /&gt;
===ThML Utilities===&lt;br /&gt;
* CCEL Desktop - a program for viewing and developing CCEL books [http://ccel-desktop.sourceforge.net/]&lt;br /&gt;
&lt;br /&gt;
== Optical Character Recognition ==&lt;br /&gt;
[[Non-CrossWire Text-Development Projects|Text development]] activities may be greatly assisted by using [http://en.wikipedia.org/wiki/Optical_character_recognition OCR] software. This section will list OCR programs that CrossWire volunteers have found useful. Proprietary programs should not be listed here, the preference at CrossWire being to use free and/or open-source software.&lt;br /&gt;
&lt;br /&gt;
=== Tessaract ===&lt;br /&gt;
&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Tesseract_(software) Tesseract] is a free optical character recognition engine. It was originally developed at Hewlett-Packard from 1985 until 1995. After ten years with no development, Hewlett Packard and UNLV released it in 2005. Tesseract is currently developed by Google and released under the Apache License, Version 2.0. Tesseract is considered one of the the most accurate free software OCR engines currently available.&lt;br /&gt;
&lt;br /&gt;
* [http://vietocr.sourceforge.net/ VietOCR] &amp;amp;ndash; A Java/.NET GUI frontend for Tesseract OCR engine. Supports optical character recognition for Vietnamese language. Tip: Visit [http://www.moheb.de/ocr.html] to read how Moheb Mekhaiel adapted VietOCR to scan Coptic documents. &lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Frontends:Bookmarks Standard]]&lt;br /&gt;
* [[File Formats Cruft]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development tools]]&lt;br /&gt;
[[Category:File formats]]&lt;br /&gt;
[[Category:OSIS]]&lt;br /&gt;
[[Category:ThML]]&lt;br /&gt;
[[Category:Utilities]]&lt;br /&gt;
[[Category:USFM]]&lt;br /&gt;
[[Category:Unicode]]&lt;br /&gt;
[[Category:Bibledit]]&lt;br /&gt;
[[Category:Paratext]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13281</id>
		<title>Tutorial:Compiling &amp; Installing SWORD on Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13281"/>
				<updated>2014-03-19T10:22:38Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* Compiling utilities */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''For compiling on Linux, see [[Tutorial:Compiling &amp;amp; Installing SWORD]]''.&lt;br /&gt;
&lt;br /&gt;
== Compiling The SWORD Project using [http://en.wikipedia.org/wiki/Microsoft_Visual_Studio MS Visual Studio] 2013 ==&lt;br /&gt;
&lt;br /&gt;
# Create a build directory, hereafter referred to as $dir$. Much of the Sword build process expects that various downloads be unpacked to the same directory.&lt;br /&gt;
&lt;br /&gt;
=== Compiling cURL ===&lt;br /&gt;
# Download the latest release of [http://curl.haxx.se/latest.cgi?curl=zip cURL]&lt;br /&gt;
# Extract the ZIP to $dir$&lt;br /&gt;
# Rename the cURL directory to &amp;quot;curl&amp;quot; (with no version number)&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Visual Studio 2013 | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/curl/winbuild&lt;br /&gt;
# Execute: nmake /f Makefile.vc mode=static DEBUG=no&lt;br /&gt;
&lt;br /&gt;
=== Compiling ICU ===&lt;br /&gt;
# Download the latest release of [http://site.icu-project.org/download ICU]. At writing, the latest version is 52.1: [http://download.icu-project.org/files/icu4c/52.1/icu4c-52_1-src.zip]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
# Open $dir$\icu\source\allinone\allinone.sln&lt;br /&gt;
# Ensure that the Win32 Release configuration is selected and build the solution&lt;br /&gt;
&lt;br /&gt;
=== Compiling zlib ===&lt;br /&gt;
# Download the latest release of [http://www.zlib.net/ zlib] source code. At writing, the latest version is 1.2.8: [http://prdownloads.sourceforge.net/libpng/zlib128.zip?download]&lt;br /&gt;
# Extract the archive to $dir$ and rename the directory &amp;quot;zlib&amp;quot; (with no version number)&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Visual Studio 2013 | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/zlib&lt;br /&gt;
# Execute: nmake /f win32/Makefile.msc&lt;br /&gt;
&lt;br /&gt;
=== Compiling bzip2 ===&lt;br /&gt;
# Download the latest release of [http://www.bzip.org/downloads.html bzip2]. At writing, the latest version is 1.0.6: [http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz]&lt;br /&gt;
# Extract the archive to $dir$ and rename the directory &amp;quot;bzip2&amp;quot;&lt;br /&gt;
# Open $dir$\bzip2\libbz2.dsp and allow Visual Studio to update the project&lt;br /&gt;
# Ensure that the Release configuration is selected and build the solution&lt;br /&gt;
&lt;br /&gt;
=== Downloading liblzma ===&lt;br /&gt;
# Download the latest release of xz prebuilt for Windows from [http://tukaani.org/xz/ tukaani.org]. At writing, the latest version is 5.0.5: [http://tukaani.org/xz/xz-5.0.5-windows.zip]&lt;br /&gt;
# Extract the archive to $dir$/xz&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Visual Studio 2013 | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/xz/bin_i486&lt;br /&gt;
# Execute: lib /def:../doc/liblzma.def /out:liblzma.lib /machine:x86&lt;br /&gt;
&lt;br /&gt;
=== Compiling CLucene ===&lt;br /&gt;
# Install [http://www.cmake.org/ cmake]&lt;br /&gt;
# Download the latest version of [http://www.boost.org/users/download/ boost]. At writing, the latest version is 1.5.5: [http://sourceforge.net/projects/boost/files/boost/1.55.0/]&lt;br /&gt;
# Extract the archive to $dir$&lt;br /&gt;
# Rename the boost directory to &amp;quot;boost&amp;quot;&lt;br /&gt;
# Download a snapshot of the [http://sourceforge.net/p/clucene/code/ci/master/tree/ CLucene 2_3_2 branch]&lt;br /&gt;
# Extract the archive to $dir$&lt;br /&gt;
# Rename the CLucene directory to &amp;quot;clucene&amp;quot;&lt;br /&gt;
# Start a regular Command Prompt (cmd.exe)&lt;br /&gt;
# cd to $dir$/clucene&lt;br /&gt;
# Set Boost environment variables by executing the following (with replacements for $dir$):&lt;br /&gt;
:: set BOOST_BUILD_PATH=$dir$\boost\tools\build\v2&lt;br /&gt;
:: set BOOST_PATH=$dir$&lt;br /&gt;
:: set BOOST_ROOT=$dir$\boost&lt;br /&gt;
# Execute: mkdir cmakebuild&lt;br /&gt;
# Execute: cd cmakebuild&lt;br /&gt;
# Execute: cmake -G &amp;quot;Visual Studio 12&amp;quot; ..&lt;br /&gt;
# Open $dir$\clucene\cmakebuild\clucene.sln&lt;br /&gt;
# Ensure that the Release configuration is selected and build the BUILD_ALL project&lt;br /&gt;
&lt;br /&gt;
=== Compiling libsword ===&lt;br /&gt;
# Download the latest release of [http://www.crosswire.org/ftpmirror/pub/sword/source/sword.tar.gz The SWORD Project] or download a copy from SVN: https://www.crosswire.org/svn/sword/trunk/&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
::If you are building utilities or diatheke, the following steps are not necessary:&lt;br /&gt;
# Open $dir$\sword-$version$\lib\vcppmake\libsword.sln&lt;br /&gt;
# Build the solution (Release, Debug, or both)&lt;br /&gt;
&lt;br /&gt;
=== Compiling utilities ===&lt;br /&gt;
# Open $dir$\sword-$version$\utilities\vcppmake\utilities.sln&lt;br /&gt;
# Build the solution (Release, Debug, or both)&lt;br /&gt;
&lt;br /&gt;
== Cross Compiling Sword for MS Windows on Suse Linux with MingW == &lt;br /&gt;
&lt;br /&gt;
===Suse with MingW===&lt;br /&gt;
&lt;br /&gt;
Installation of all necessary dependencies of Sword, but for CLucene - libcurl, ICU, libgnurx etc - &lt;br /&gt;
&lt;br /&gt;
===Compilation of Clucene===&lt;br /&gt;
&lt;br /&gt;
clucene 0.9.21b source&lt;br /&gt;
&lt;br /&gt;
The scripts for compiling sword and clucene in xiphos/win32/suse are meant to be used from  ~/source/ with the clucene and sword directories directly under that. I would suggest reading the scripts. They aren't complicated, and I'm sure that I made assumptions about my environment (which is basically the *sole* reason for the warning that they aren't ready, I never meant they couldn't be used). You can go ahead and try to use them to cross-compile clucene. It will probably fail. If at that point, you send me config.log, that will help me remember what to do to fix it.&lt;br /&gt;
&lt;br /&gt;
--------------------------------&lt;br /&gt;
&lt;br /&gt;
edit m4/dps_static_const_type.m4, the last AC_DEFINE line. Change from:&lt;br /&gt;
&lt;br /&gt;
 AC_MSG_ERROR([Cannot figure out how to write static consts in classes. Check the m4 script or upgrade your compiler])&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 AC_DEFINE([LUCENE_STATIC_CONSTANT_SYNTAX], 1, [How to define a static const in a class])&lt;br /&gt;
&lt;br /&gt;
eg, the same as the first AC_DEFINE. I have no idea if it's correct, actually, but it seems to work ;)&lt;br /&gt;
&lt;br /&gt;
Next, edit src/Makefile.am, line 6. Add &amp;lt;tt&amp;gt;-no-undefined&amp;lt;/tt&amp;gt; at the end, like so:&lt;br /&gt;
&lt;br /&gt;
 libclucene_la_LDFLAGS  = --version-info $(CLLIB_VERSION) --release&lt;br /&gt;
 $(PACKAGE_VERSION) -no-undefined&lt;br /&gt;
&lt;br /&gt;
------------------------&lt;br /&gt;
src/CLucene/store/FSDirectory.cpp&lt;br /&gt;
&lt;br /&gt;
At the top of that file, after the #include directives, I just added this:&lt;br /&gt;
&lt;br /&gt;
 #define _mkdir mkdir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After changing these, you'll have to run autogen.sh and then re-configure using my script. It *should* build after this, at which point run sudo make install. Check to be sure it created a dll rather than just a static library (which will end in .la). It should be located in /usr/i686-w64-mingw32/sys-root/mingw/bin&lt;br /&gt;
&lt;br /&gt;
After this Clucene compiles without errors and creates a working dll.&lt;br /&gt;
&lt;br /&gt;
===Compilation of Sword===&lt;br /&gt;
&lt;br /&gt;
Application of 2 patches:&lt;br /&gt;
&lt;br /&gt;
patch1 patch2&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13280</id>
		<title>Tutorial:Compiling &amp; Installing SWORD on Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13280"/>
				<updated>2014-03-19T10:00:21Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* Compiling libsword */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''For compiling on Linux, see [[Tutorial:Compiling &amp;amp; Installing SWORD]]''.&lt;br /&gt;
&lt;br /&gt;
== Compiling The SWORD Project using [http://en.wikipedia.org/wiki/Microsoft_Visual_Studio MS Visual Studio] 2013 ==&lt;br /&gt;
&lt;br /&gt;
# Create a build directory, hereafter referred to as $dir$. Much of the Sword build process expects that various downloads be unpacked to the same directory.&lt;br /&gt;
&lt;br /&gt;
=== Compiling cURL ===&lt;br /&gt;
# Download the latest release of [http://curl.haxx.se/latest.cgi?curl=zip cURL]&lt;br /&gt;
# Extract the ZIP to $dir$&lt;br /&gt;
# Rename the cURL directory to &amp;quot;curl&amp;quot; (with no version number)&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Visual Studio 2013 | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/curl/winbuild&lt;br /&gt;
# Execute: nmake /f Makefile.vc mode=static DEBUG=no&lt;br /&gt;
&lt;br /&gt;
=== Compiling ICU ===&lt;br /&gt;
# Download the latest release of [http://site.icu-project.org/download ICU]. At writing, the latest version is 52.1: [http://download.icu-project.org/files/icu4c/52.1/icu4c-52_1-src.zip]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
# Open $dir$\icu\source\allinone\allinone.sln&lt;br /&gt;
# Ensure that the Win32 Release configuration is selected and build the solution&lt;br /&gt;
&lt;br /&gt;
=== Compiling zlib ===&lt;br /&gt;
# Download the latest release of [http://www.zlib.net/ zlib] source code. At writing, the latest version is 1.2.8: [http://prdownloads.sourceforge.net/libpng/zlib128.zip?download]&lt;br /&gt;
# Extract the archive to $dir$ and rename the directory &amp;quot;zlib&amp;quot; (with no version number)&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Visual Studio 2013 | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/zlib&lt;br /&gt;
# Execute: nmake /f win32/Makefile.msc&lt;br /&gt;
&lt;br /&gt;
=== Compiling bzip2 ===&lt;br /&gt;
# Download the latest release of [http://www.bzip.org/downloads.html bzip2]. At writing, the latest version is 1.0.6: [http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz]&lt;br /&gt;
# Extract the archive to $dir$ and rename the directory &amp;quot;bzip2&amp;quot;&lt;br /&gt;
# Open $dir$\bzip2\libbz2.dsp and allow Visual Studio to update the project&lt;br /&gt;
# Ensure that the Release configuration is selected and build the solution&lt;br /&gt;
&lt;br /&gt;
=== Downloading liblzma ===&lt;br /&gt;
# Download the latest release of xz prebuilt for Windows from [http://tukaani.org/xz/ tukaani.org]. At writing, the latest version is 5.0.5: [http://tukaani.org/xz/xz-5.0.5-windows.zip]&lt;br /&gt;
# Extract the archive to $dir$/xz&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Visual Studio 2013 | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/xz/bin_i486&lt;br /&gt;
# Execute: lib /def:../doc/liblzma.def /out:liblzma.lib /machine:x86&lt;br /&gt;
&lt;br /&gt;
=== Compiling CLucene ===&lt;br /&gt;
# Install [http://www.cmake.org/ cmake]&lt;br /&gt;
# Download the latest version of [http://www.boost.org/users/download/ boost]. At writing, the latest version is 1.5.5: [http://sourceforge.net/projects/boost/files/boost/1.55.0/]&lt;br /&gt;
# Extract the archive to $dir$&lt;br /&gt;
# Rename the boost directory to &amp;quot;boost&amp;quot;&lt;br /&gt;
# Download a snapshot of the [http://sourceforge.net/p/clucene/code/ci/master/tree/ CLucene 2_3_2 branch]&lt;br /&gt;
# Extract the archive to $dir$&lt;br /&gt;
# Rename the CLucene directory to &amp;quot;clucene&amp;quot;&lt;br /&gt;
# Start a regular Command Prompt (cmd.exe)&lt;br /&gt;
# cd to $dir$/clucene&lt;br /&gt;
# Set Boost environment variables by executing the following (with replacements for $dir$):&lt;br /&gt;
:: set BOOST_BUILD_PATH=$dir$\boost\tools\build\v2&lt;br /&gt;
:: set BOOST_PATH=$dir$&lt;br /&gt;
:: set BOOST_ROOT=$dir$\boost&lt;br /&gt;
# Execute: mkdir cmakebuild&lt;br /&gt;
# Execute: cd cmakebuild&lt;br /&gt;
# Execute: cmake -G &amp;quot;Visual Studio 12&amp;quot; ..&lt;br /&gt;
# Open $dir$\clucene\cmakebuild\clucene.sln&lt;br /&gt;
# Ensure that the Release configuration is selected and build the BUILD_ALL project&lt;br /&gt;
&lt;br /&gt;
=== Compiling libsword ===&lt;br /&gt;
# Download the latest release of [http://www.crosswire.org/ftpmirror/pub/sword/source/sword.tar.gz The SWORD Project] or download a copy from SVN: https://www.crosswire.org/svn/sword/trunk/&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
::If you are building utilities or diatheke, the following steps are not necessary:&lt;br /&gt;
# Open $dir$\sword-$version$\lib\vcppmake\libsword.sln&lt;br /&gt;
# Build the solution (Release, Debug, or both)&lt;br /&gt;
&lt;br /&gt;
=== Compiling utilities ===&lt;br /&gt;
# Open $dir$\sword-$version$\utilities\vcppmake\utilities.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
== Cross Compiling Sword for MS Windows on Suse Linux with MingW == &lt;br /&gt;
&lt;br /&gt;
===Suse with MingW===&lt;br /&gt;
&lt;br /&gt;
Installation of all necessary dependencies of Sword, but for CLucene - libcurl, ICU, libgnurx etc - &lt;br /&gt;
&lt;br /&gt;
===Compilation of Clucene===&lt;br /&gt;
&lt;br /&gt;
clucene 0.9.21b source&lt;br /&gt;
&lt;br /&gt;
The scripts for compiling sword and clucene in xiphos/win32/suse are meant to be used from  ~/source/ with the clucene and sword directories directly under that. I would suggest reading the scripts. They aren't complicated, and I'm sure that I made assumptions about my environment (which is basically the *sole* reason for the warning that they aren't ready, I never meant they couldn't be used). You can go ahead and try to use them to cross-compile clucene. It will probably fail. If at that point, you send me config.log, that will help me remember what to do to fix it.&lt;br /&gt;
&lt;br /&gt;
--------------------------------&lt;br /&gt;
&lt;br /&gt;
edit m4/dps_static_const_type.m4, the last AC_DEFINE line. Change from:&lt;br /&gt;
&lt;br /&gt;
 AC_MSG_ERROR([Cannot figure out how to write static consts in classes. Check the m4 script or upgrade your compiler])&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 AC_DEFINE([LUCENE_STATIC_CONSTANT_SYNTAX], 1, [How to define a static const in a class])&lt;br /&gt;
&lt;br /&gt;
eg, the same as the first AC_DEFINE. I have no idea if it's correct, actually, but it seems to work ;)&lt;br /&gt;
&lt;br /&gt;
Next, edit src/Makefile.am, line 6. Add &amp;lt;tt&amp;gt;-no-undefined&amp;lt;/tt&amp;gt; at the end, like so:&lt;br /&gt;
&lt;br /&gt;
 libclucene_la_LDFLAGS  = --version-info $(CLLIB_VERSION) --release&lt;br /&gt;
 $(PACKAGE_VERSION) -no-undefined&lt;br /&gt;
&lt;br /&gt;
------------------------&lt;br /&gt;
src/CLucene/store/FSDirectory.cpp&lt;br /&gt;
&lt;br /&gt;
At the top of that file, after the #include directives, I just added this:&lt;br /&gt;
&lt;br /&gt;
 #define _mkdir mkdir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After changing these, you'll have to run autogen.sh and then re-configure using my script. It *should* build after this, at which point run sudo make install. Check to be sure it created a dll rather than just a static library (which will end in .la). It should be located in /usr/i686-w64-mingw32/sys-root/mingw/bin&lt;br /&gt;
&lt;br /&gt;
After this Clucene compiles without errors and creates a working dll.&lt;br /&gt;
&lt;br /&gt;
===Compilation of Sword===&lt;br /&gt;
&lt;br /&gt;
Application of 2 patches:&lt;br /&gt;
&lt;br /&gt;
patch1 patch2&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13279</id>
		<title>Tutorial:Compiling &amp; Installing SWORD on Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13279"/>
				<updated>2014-03-19T09:55:34Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: added zlib build instructions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''For compiling on Linux, see [[Tutorial:Compiling &amp;amp; Installing SWORD]]''.&lt;br /&gt;
&lt;br /&gt;
== Compiling The SWORD Project using [http://en.wikipedia.org/wiki/Microsoft_Visual_Studio MS Visual Studio] 2013 ==&lt;br /&gt;
&lt;br /&gt;
# Create a build directory, hereafter referred to as $dir$. Much of the Sword build process expects that various downloads be unpacked to the same directory.&lt;br /&gt;
&lt;br /&gt;
=== Compiling cURL ===&lt;br /&gt;
# Download the latest release of [http://curl.haxx.se/latest.cgi?curl=zip cURL]&lt;br /&gt;
# Extract the ZIP to $dir$&lt;br /&gt;
# Rename the cURL directory to &amp;quot;curl&amp;quot; (with no version number)&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Visual Studio 2013 | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/curl/winbuild&lt;br /&gt;
# Execute: nmake /f Makefile.vc mode=static DEBUG=no&lt;br /&gt;
&lt;br /&gt;
=== Compiling ICU ===&lt;br /&gt;
# Download the latest release of [http://site.icu-project.org/download ICU]. At writing, the latest version is 52.1: [http://download.icu-project.org/files/icu4c/52.1/icu4c-52_1-src.zip]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
# Open $dir$\icu\source\allinone\allinone.sln&lt;br /&gt;
# Ensure that the Win32 Release configuration is selected and build the solution&lt;br /&gt;
&lt;br /&gt;
=== Compiling zlib ===&lt;br /&gt;
# Download the latest release of [http://www.zlib.net/ zlib] source code. At writing, the latest version is 1.2.8: [http://prdownloads.sourceforge.net/libpng/zlib128.zip?download]&lt;br /&gt;
# Extract the archive to $dir$ and rename the directory &amp;quot;zlib&amp;quot; (with no version number)&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Visual Studio 2013 | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/zlib&lt;br /&gt;
# Execute: nmake /f win32/Makefile.msc&lt;br /&gt;
&lt;br /&gt;
=== Compiling bzip2 ===&lt;br /&gt;
# Download the latest release of [http://www.bzip.org/downloads.html bzip2]. At writing, the latest version is 1.0.6: [http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz]&lt;br /&gt;
# Extract the archive to $dir$ and rename the directory &amp;quot;bzip2&amp;quot;&lt;br /&gt;
# Open $dir$\bzip2\libbz2.dsp and allow Visual Studio to update the project&lt;br /&gt;
# Ensure that the Release configuration is selected and build the solution&lt;br /&gt;
&lt;br /&gt;
=== Downloading liblzma ===&lt;br /&gt;
# Download the latest release of xz prebuilt for Windows from [http://tukaani.org/xz/ tukaani.org]. At writing, the latest version is 5.0.5: [http://tukaani.org/xz/xz-5.0.5-windows.zip]&lt;br /&gt;
# Extract the archive to $dir$/xz&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Visual Studio 2013 | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/xz/bin_i486&lt;br /&gt;
# Execute: lib /def:../doc/liblzma.def /out:liblzma.lib /machine:x86&lt;br /&gt;
&lt;br /&gt;
=== Compiling CLucene ===&lt;br /&gt;
# Install [http://www.cmake.org/ cmake]&lt;br /&gt;
# Download the latest version of [http://www.boost.org/users/download/ boost]. At writing, the latest version is 1.5.5: [http://sourceforge.net/projects/boost/files/boost/1.55.0/]&lt;br /&gt;
# Extract the archive to $dir$&lt;br /&gt;
# Rename the boost directory to &amp;quot;boost&amp;quot;&lt;br /&gt;
# Download a snapshot of the [http://sourceforge.net/p/clucene/code/ci/master/tree/ CLucene 2_3_2 branch]&lt;br /&gt;
# Extract the archive to $dir$&lt;br /&gt;
# Rename the CLucene directory to &amp;quot;clucene&amp;quot;&lt;br /&gt;
# Start a regular Command Prompt (cmd.exe)&lt;br /&gt;
# cd to $dir$/clucene&lt;br /&gt;
# Set Boost environment variables by executing the following (with replacements for $dir$):&lt;br /&gt;
:: set BOOST_BUILD_PATH=$dir$\boost\tools\build\v2&lt;br /&gt;
:: set BOOST_PATH=$dir$&lt;br /&gt;
:: set BOOST_ROOT=$dir$\boost&lt;br /&gt;
# Execute: mkdir cmakebuild&lt;br /&gt;
# Execute: cd cmakebuild&lt;br /&gt;
# Execute: cmake -G &amp;quot;Visual Studio 12&amp;quot; ..&lt;br /&gt;
# Open $dir$\clucene\cmakebuild\clucene.sln&lt;br /&gt;
# Ensure that the Release configuration is selected and build the BUILD_ALL project&lt;br /&gt;
&lt;br /&gt;
=== Compiling libsword ===&lt;br /&gt;
# Download the latest release of [http://www.crosswire.org/ftpmirror/pub/sword/source/sword.tar.gz The SWORD Project]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
::If you are building utilities or diatheke, the following steps are not necessary:&lt;br /&gt;
# Open $dir$\sword-$version$\lib\vcppmake\vc8\libsword.vcproj&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Compiling utilities ===&lt;br /&gt;
# Open $dir$\sword-$version$\utilities\vcppmake\utilities.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
== Cross Compiling Sword for MS Windows on Suse Linux with MingW == &lt;br /&gt;
&lt;br /&gt;
===Suse with MingW===&lt;br /&gt;
&lt;br /&gt;
Installation of all necessary dependencies of Sword, but for CLucene - libcurl, ICU, libgnurx etc - &lt;br /&gt;
&lt;br /&gt;
===Compilation of Clucene===&lt;br /&gt;
&lt;br /&gt;
clucene 0.9.21b source&lt;br /&gt;
&lt;br /&gt;
The scripts for compiling sword and clucene in xiphos/win32/suse are meant to be used from  ~/source/ with the clucene and sword directories directly under that. I would suggest reading the scripts. They aren't complicated, and I'm sure that I made assumptions about my environment (which is basically the *sole* reason for the warning that they aren't ready, I never meant they couldn't be used). You can go ahead and try to use them to cross-compile clucene. It will probably fail. If at that point, you send me config.log, that will help me remember what to do to fix it.&lt;br /&gt;
&lt;br /&gt;
--------------------------------&lt;br /&gt;
&lt;br /&gt;
edit m4/dps_static_const_type.m4, the last AC_DEFINE line. Change from:&lt;br /&gt;
&lt;br /&gt;
 AC_MSG_ERROR([Cannot figure out how to write static consts in classes. Check the m4 script or upgrade your compiler])&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 AC_DEFINE([LUCENE_STATIC_CONSTANT_SYNTAX], 1, [How to define a static const in a class])&lt;br /&gt;
&lt;br /&gt;
eg, the same as the first AC_DEFINE. I have no idea if it's correct, actually, but it seems to work ;)&lt;br /&gt;
&lt;br /&gt;
Next, edit src/Makefile.am, line 6. Add &amp;lt;tt&amp;gt;-no-undefined&amp;lt;/tt&amp;gt; at the end, like so:&lt;br /&gt;
&lt;br /&gt;
 libclucene_la_LDFLAGS  = --version-info $(CLLIB_VERSION) --release&lt;br /&gt;
 $(PACKAGE_VERSION) -no-undefined&lt;br /&gt;
&lt;br /&gt;
------------------------&lt;br /&gt;
src/CLucene/store/FSDirectory.cpp&lt;br /&gt;
&lt;br /&gt;
At the top of that file, after the #include directives, I just added this:&lt;br /&gt;
&lt;br /&gt;
 #define _mkdir mkdir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After changing these, you'll have to run autogen.sh and then re-configure using my script. It *should* build after this, at which point run sudo make install. Check to be sure it created a dll rather than just a static library (which will end in .la). It should be located in /usr/i686-w64-mingw32/sys-root/mingw/bin&lt;br /&gt;
&lt;br /&gt;
After this Clucene compiles without errors and creates a working dll.&lt;br /&gt;
&lt;br /&gt;
===Compilation of Sword===&lt;br /&gt;
&lt;br /&gt;
Application of 2 patches:&lt;br /&gt;
&lt;br /&gt;
patch1 patch2&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13278</id>
		<title>Tutorial:Compiling &amp; Installing SWORD on Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13278"/>
				<updated>2014-03-19T09:45:15Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* Compiling ICU */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''For compiling on Linux, see [[Tutorial:Compiling &amp;amp; Installing SWORD]]''.&lt;br /&gt;
&lt;br /&gt;
== Compiling The SWORD Project using [http://en.wikipedia.org/wiki/Microsoft_Visual_Studio MS Visual Studio] 2013 ==&lt;br /&gt;
&lt;br /&gt;
# Create a build directory, hereafter referred to as $dir$. Much of the Sword build process expects that various downloads be unpacked to the same directory.&lt;br /&gt;
&lt;br /&gt;
=== Compiling cURL ===&lt;br /&gt;
# Download the latest release of [http://curl.haxx.se/latest.cgi?curl=zip cURL]&lt;br /&gt;
# Extract the ZIP to $dir$&lt;br /&gt;
# Rename the cURL directory to &amp;quot;curl&amp;quot; (with no version number)&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Visual Studio 2013 | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/curl/winbuild&lt;br /&gt;
# Execute: nmake /f Makefile.vc mode=static DEBUG=no&lt;br /&gt;
&lt;br /&gt;
=== Compiling ICU ===&lt;br /&gt;
# Download the latest release of [http://site.icu-project.org/download ICU]. At writing, the latest version is 52.1: [http://download.icu-project.org/files/icu4c/52.1/icu4c-52_1-src.zip]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
# Open $dir$\icu\source\allinone\allinone.sln&lt;br /&gt;
# Ensure that the Win32 Release configuration is selected and build the solution&lt;br /&gt;
&lt;br /&gt;
=== Compiling bzip2 ===&lt;br /&gt;
# Download the latest release of [http://www.bzip.org/downloads.html bzip2]. At writing, the latest version is 1.0.6: [http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz]&lt;br /&gt;
# Extract the archive to $dir$ and rename the directory bzip2&lt;br /&gt;
# Open $dir$\bzip2\libbz2.dsp and allow Visual Studio to update the project&lt;br /&gt;
# Ensure that the Release configuration is selected and build the solution&lt;br /&gt;
&lt;br /&gt;
=== Downloading liblzma ===&lt;br /&gt;
# Download the latest release of xz prebuilt for Windows from [http://tukaani.org/xz/ tukaani.org]. At writing, the latest version is 5.0.5: [http://tukaani.org/xz/xz-5.0.5-windows.zip]&lt;br /&gt;
# Extract the archive to $dir$/xz&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Visual Studio 2013 | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/xz/bin_i486&lt;br /&gt;
# Execute: lib /def:../doc/liblzma.def /out:liblzma.lib /machine:x86&lt;br /&gt;
&lt;br /&gt;
=== Compiling CLucene ===&lt;br /&gt;
# Install [http://www.cmake.org/ cmake]&lt;br /&gt;
# Download the latest version of [http://www.boost.org/users/download/ boost]. At writing, the latest version is 1.5.5: [http://sourceforge.net/projects/boost/files/boost/1.55.0/]&lt;br /&gt;
# Extract the archive to $dir$&lt;br /&gt;
# Rename the boost directory to &amp;quot;boost&amp;quot;&lt;br /&gt;
# Download a snapshot of the [http://sourceforge.net/p/clucene/code/ci/master/tree/ CLucene 2_3_2 branch]&lt;br /&gt;
# Extract the archive to $dir$&lt;br /&gt;
# Rename the CLucene directory to &amp;quot;clucene&amp;quot;&lt;br /&gt;
# Start a regular Command Prompt (cmd.exe)&lt;br /&gt;
# cd to $dir$/clucene&lt;br /&gt;
# Set Boost environment variables by executing the following (with replacements for $dir$):&lt;br /&gt;
:: set BOOST_BUILD_PATH=$dir$\boost\tools\build\v2&lt;br /&gt;
:: set BOOST_PATH=$dir$&lt;br /&gt;
:: set BOOST_ROOT=$dir$\boost&lt;br /&gt;
# Execute: mkdir cmakebuild&lt;br /&gt;
# Execute: cd cmakebuild&lt;br /&gt;
# Execute: cmake -G &amp;quot;Visual Studio 12&amp;quot; ..&lt;br /&gt;
# Open $dir$\clucene\cmakebuild\clucene.sln&lt;br /&gt;
# Ensure that the Release configuration is selected and build the BUILD_ALL project&lt;br /&gt;
&lt;br /&gt;
=== Compiling libsword ===&lt;br /&gt;
# Download the latest release of [http://www.crosswire.org/ftpmirror/pub/sword/source/sword.tar.gz The SWORD Project]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
::If you are building utilities or diatheke, the following steps are not necessary:&lt;br /&gt;
# Open $dir$\sword-$version$\lib\vcppmake\vc8\libsword.vcproj&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Compiling utilities ===&lt;br /&gt;
# Open $dir$\sword-$version$\utilities\vcppmake\utilities.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
== Cross Compiling Sword for MS Windows on Suse Linux with MingW == &lt;br /&gt;
&lt;br /&gt;
===Suse with MingW===&lt;br /&gt;
&lt;br /&gt;
Installation of all necessary dependencies of Sword, but for CLucene - libcurl, ICU, libgnurx etc - &lt;br /&gt;
&lt;br /&gt;
===Compilation of Clucene===&lt;br /&gt;
&lt;br /&gt;
clucene 0.9.21b source&lt;br /&gt;
&lt;br /&gt;
The scripts for compiling sword and clucene in xiphos/win32/suse are meant to be used from  ~/source/ with the clucene and sword directories directly under that. I would suggest reading the scripts. They aren't complicated, and I'm sure that I made assumptions about my environment (which is basically the *sole* reason for the warning that they aren't ready, I never meant they couldn't be used). You can go ahead and try to use them to cross-compile clucene. It will probably fail. If at that point, you send me config.log, that will help me remember what to do to fix it.&lt;br /&gt;
&lt;br /&gt;
--------------------------------&lt;br /&gt;
&lt;br /&gt;
edit m4/dps_static_const_type.m4, the last AC_DEFINE line. Change from:&lt;br /&gt;
&lt;br /&gt;
 AC_MSG_ERROR([Cannot figure out how to write static consts in classes. Check the m4 script or upgrade your compiler])&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 AC_DEFINE([LUCENE_STATIC_CONSTANT_SYNTAX], 1, [How to define a static const in a class])&lt;br /&gt;
&lt;br /&gt;
eg, the same as the first AC_DEFINE. I have no idea if it's correct, actually, but it seems to work ;)&lt;br /&gt;
&lt;br /&gt;
Next, edit src/Makefile.am, line 6. Add &amp;lt;tt&amp;gt;-no-undefined&amp;lt;/tt&amp;gt; at the end, like so:&lt;br /&gt;
&lt;br /&gt;
 libclucene_la_LDFLAGS  = --version-info $(CLLIB_VERSION) --release&lt;br /&gt;
 $(PACKAGE_VERSION) -no-undefined&lt;br /&gt;
&lt;br /&gt;
------------------------&lt;br /&gt;
src/CLucene/store/FSDirectory.cpp&lt;br /&gt;
&lt;br /&gt;
At the top of that file, after the #include directives, I just added this:&lt;br /&gt;
&lt;br /&gt;
 #define _mkdir mkdir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After changing these, you'll have to run autogen.sh and then re-configure using my script. It *should* build after this, at which point run sudo make install. Check to be sure it created a dll rather than just a static library (which will end in .la). It should be located in /usr/i686-w64-mingw32/sys-root/mingw/bin&lt;br /&gt;
&lt;br /&gt;
After this Clucene compiles without errors and creates a working dll.&lt;br /&gt;
&lt;br /&gt;
===Compilation of Sword===&lt;br /&gt;
&lt;br /&gt;
Application of 2 patches:&lt;br /&gt;
&lt;br /&gt;
patch1 patch2&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13277</id>
		<title>Tutorial:Compiling &amp; Installing SWORD on Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13277"/>
				<updated>2014-03-19T09:44:44Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* Compiling ICU */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''For compiling on Linux, see [[Tutorial:Compiling &amp;amp; Installing SWORD]]''.&lt;br /&gt;
&lt;br /&gt;
== Compiling The SWORD Project using [http://en.wikipedia.org/wiki/Microsoft_Visual_Studio MS Visual Studio] 2013 ==&lt;br /&gt;
&lt;br /&gt;
# Create a build directory, hereafter referred to as $dir$. Much of the Sword build process expects that various downloads be unpacked to the same directory.&lt;br /&gt;
&lt;br /&gt;
=== Compiling cURL ===&lt;br /&gt;
# Download the latest release of [http://curl.haxx.se/latest.cgi?curl=zip cURL]&lt;br /&gt;
# Extract the ZIP to $dir$&lt;br /&gt;
# Rename the cURL directory to &amp;quot;curl&amp;quot; (with no version number)&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Visual Studio 2013 | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/curl/winbuild&lt;br /&gt;
# Execute: nmake /f Makefile.vc mode=static DEBUG=no&lt;br /&gt;
&lt;br /&gt;
=== Compiling ICU ===&lt;br /&gt;
# Download the latest release of [http://site.icu-project.org/download ICU]. At writing, the latest version is 52.1: [http://download.icu-project.org/files/icu4c/52.1/icu4c-52_1-src.zip]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
# Open $dir$\icu\source\allinone\allinone.sln&lt;br /&gt;
# Ensure that the Release configuration is selected and build the solution&lt;br /&gt;
&lt;br /&gt;
=== Compiling bzip2 ===&lt;br /&gt;
# Download the latest release of [http://www.bzip.org/downloads.html bzip2]. At writing, the latest version is 1.0.6: [http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz]&lt;br /&gt;
# Extract the archive to $dir$ and rename the directory bzip2&lt;br /&gt;
# Open $dir$\bzip2\libbz2.dsp and allow Visual Studio to update the project&lt;br /&gt;
# Ensure that the Release configuration is selected and build the solution&lt;br /&gt;
&lt;br /&gt;
=== Downloading liblzma ===&lt;br /&gt;
# Download the latest release of xz prebuilt for Windows from [http://tukaani.org/xz/ tukaani.org]. At writing, the latest version is 5.0.5: [http://tukaani.org/xz/xz-5.0.5-windows.zip]&lt;br /&gt;
# Extract the archive to $dir$/xz&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Visual Studio 2013 | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/xz/bin_i486&lt;br /&gt;
# Execute: lib /def:../doc/liblzma.def /out:liblzma.lib /machine:x86&lt;br /&gt;
&lt;br /&gt;
=== Compiling CLucene ===&lt;br /&gt;
# Install [http://www.cmake.org/ cmake]&lt;br /&gt;
# Download the latest version of [http://www.boost.org/users/download/ boost]. At writing, the latest version is 1.5.5: [http://sourceforge.net/projects/boost/files/boost/1.55.0/]&lt;br /&gt;
# Extract the archive to $dir$&lt;br /&gt;
# Rename the boost directory to &amp;quot;boost&amp;quot;&lt;br /&gt;
# Download a snapshot of the [http://sourceforge.net/p/clucene/code/ci/master/tree/ CLucene 2_3_2 branch]&lt;br /&gt;
# Extract the archive to $dir$&lt;br /&gt;
# Rename the CLucene directory to &amp;quot;clucene&amp;quot;&lt;br /&gt;
# Start a regular Command Prompt (cmd.exe)&lt;br /&gt;
# cd to $dir$/clucene&lt;br /&gt;
# Set Boost environment variables by executing the following (with replacements for $dir$):&lt;br /&gt;
:: set BOOST_BUILD_PATH=$dir$\boost\tools\build\v2&lt;br /&gt;
:: set BOOST_PATH=$dir$&lt;br /&gt;
:: set BOOST_ROOT=$dir$\boost&lt;br /&gt;
# Execute: mkdir cmakebuild&lt;br /&gt;
# Execute: cd cmakebuild&lt;br /&gt;
# Execute: cmake -G &amp;quot;Visual Studio 12&amp;quot; ..&lt;br /&gt;
# Open $dir$\clucene\cmakebuild\clucene.sln&lt;br /&gt;
# Ensure that the Release configuration is selected and build the BUILD_ALL project&lt;br /&gt;
&lt;br /&gt;
=== Compiling libsword ===&lt;br /&gt;
# Download the latest release of [http://www.crosswire.org/ftpmirror/pub/sword/source/sword.tar.gz The SWORD Project]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
::If you are building utilities or diatheke, the following steps are not necessary:&lt;br /&gt;
# Open $dir$\sword-$version$\lib\vcppmake\vc8\libsword.vcproj&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Compiling utilities ===&lt;br /&gt;
# Open $dir$\sword-$version$\utilities\vcppmake\utilities.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
== Cross Compiling Sword for MS Windows on Suse Linux with MingW == &lt;br /&gt;
&lt;br /&gt;
===Suse with MingW===&lt;br /&gt;
&lt;br /&gt;
Installation of all necessary dependencies of Sword, but for CLucene - libcurl, ICU, libgnurx etc - &lt;br /&gt;
&lt;br /&gt;
===Compilation of Clucene===&lt;br /&gt;
&lt;br /&gt;
clucene 0.9.21b source&lt;br /&gt;
&lt;br /&gt;
The scripts for compiling sword and clucene in xiphos/win32/suse are meant to be used from  ~/source/ with the clucene and sword directories directly under that. I would suggest reading the scripts. They aren't complicated, and I'm sure that I made assumptions about my environment (which is basically the *sole* reason for the warning that they aren't ready, I never meant they couldn't be used). You can go ahead and try to use them to cross-compile clucene. It will probably fail. If at that point, you send me config.log, that will help me remember what to do to fix it.&lt;br /&gt;
&lt;br /&gt;
--------------------------------&lt;br /&gt;
&lt;br /&gt;
edit m4/dps_static_const_type.m4, the last AC_DEFINE line. Change from:&lt;br /&gt;
&lt;br /&gt;
 AC_MSG_ERROR([Cannot figure out how to write static consts in classes. Check the m4 script or upgrade your compiler])&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 AC_DEFINE([LUCENE_STATIC_CONSTANT_SYNTAX], 1, [How to define a static const in a class])&lt;br /&gt;
&lt;br /&gt;
eg, the same as the first AC_DEFINE. I have no idea if it's correct, actually, but it seems to work ;)&lt;br /&gt;
&lt;br /&gt;
Next, edit src/Makefile.am, line 6. Add &amp;lt;tt&amp;gt;-no-undefined&amp;lt;/tt&amp;gt; at the end, like so:&lt;br /&gt;
&lt;br /&gt;
 libclucene_la_LDFLAGS  = --version-info $(CLLIB_VERSION) --release&lt;br /&gt;
 $(PACKAGE_VERSION) -no-undefined&lt;br /&gt;
&lt;br /&gt;
------------------------&lt;br /&gt;
src/CLucene/store/FSDirectory.cpp&lt;br /&gt;
&lt;br /&gt;
At the top of that file, after the #include directives, I just added this:&lt;br /&gt;
&lt;br /&gt;
 #define _mkdir mkdir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After changing these, you'll have to run autogen.sh and then re-configure using my script. It *should* build after this, at which point run sudo make install. Check to be sure it created a dll rather than just a static library (which will end in .la). It should be located in /usr/i686-w64-mingw32/sys-root/mingw/bin&lt;br /&gt;
&lt;br /&gt;
After this Clucene compiles without errors and creates a working dll.&lt;br /&gt;
&lt;br /&gt;
===Compilation of Sword===&lt;br /&gt;
&lt;br /&gt;
Application of 2 patches:&lt;br /&gt;
&lt;br /&gt;
patch1 patch2&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13276</id>
		<title>Tutorial:Compiling &amp; Installing SWORD on Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13276"/>
				<updated>2014-03-19T09:43:30Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* Compiling CLucene */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''For compiling on Linux, see [[Tutorial:Compiling &amp;amp; Installing SWORD]]''.&lt;br /&gt;
&lt;br /&gt;
== Compiling The SWORD Project using [http://en.wikipedia.org/wiki/Microsoft_Visual_Studio MS Visual Studio] 2013 ==&lt;br /&gt;
&lt;br /&gt;
# Create a build directory, hereafter referred to as $dir$. Much of the Sword build process expects that various downloads be unpacked to the same directory.&lt;br /&gt;
&lt;br /&gt;
=== Compiling cURL ===&lt;br /&gt;
# Download the latest release of [http://curl.haxx.se/latest.cgi?curl=zip cURL]&lt;br /&gt;
# Extract the ZIP to $dir$&lt;br /&gt;
# Rename the cURL directory to &amp;quot;curl&amp;quot; (with no version number)&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Visual Studio 2013 | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/curl/winbuild&lt;br /&gt;
# Execute: nmake /f Makefile.vc mode=static DEBUG=no&lt;br /&gt;
&lt;br /&gt;
=== Compiling ICU ===&lt;br /&gt;
# Download the latest release of [http://site.icu-project.org/download ICU]. At writing, the latest version is 52.1: [http://download.icu-project.org/files/icu4c/52.1/icu4c-52_1-src.zip]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
# Open $dir$\icu\source\allinone\allinone.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Compiling bzip2 ===&lt;br /&gt;
# Download the latest release of [http://www.bzip.org/downloads.html bzip2]. At writing, the latest version is 1.0.6: [http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz]&lt;br /&gt;
# Extract the archive to $dir$ and rename the directory bzip2&lt;br /&gt;
# Open $dir$\bzip2\libbz2.dsp and allow Visual Studio to update the project&lt;br /&gt;
# Ensure that the Release configuration is selected and build the solution&lt;br /&gt;
&lt;br /&gt;
=== Downloading liblzma ===&lt;br /&gt;
# Download the latest release of xz prebuilt for Windows from [http://tukaani.org/xz/ tukaani.org]. At writing, the latest version is 5.0.5: [http://tukaani.org/xz/xz-5.0.5-windows.zip]&lt;br /&gt;
# Extract the archive to $dir$/xz&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Visual Studio 2013 | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/xz/bin_i486&lt;br /&gt;
# Execute: lib /def:../doc/liblzma.def /out:liblzma.lib /machine:x86&lt;br /&gt;
&lt;br /&gt;
=== Compiling CLucene ===&lt;br /&gt;
# Install [http://www.cmake.org/ cmake]&lt;br /&gt;
# Download the latest version of [http://www.boost.org/users/download/ boost]. At writing, the latest version is 1.5.5: [http://sourceforge.net/projects/boost/files/boost/1.55.0/]&lt;br /&gt;
# Extract the archive to $dir$&lt;br /&gt;
# Rename the boost directory to &amp;quot;boost&amp;quot;&lt;br /&gt;
# Download a snapshot of the [http://sourceforge.net/p/clucene/code/ci/master/tree/ CLucene 2_3_2 branch]&lt;br /&gt;
# Extract the archive to $dir$&lt;br /&gt;
# Rename the CLucene directory to &amp;quot;clucene&amp;quot;&lt;br /&gt;
# Start a regular Command Prompt (cmd.exe)&lt;br /&gt;
# cd to $dir$/clucene&lt;br /&gt;
# Set Boost environment variables by executing the following (with replacements for $dir$):&lt;br /&gt;
:: set BOOST_BUILD_PATH=$dir$\boost\tools\build\v2&lt;br /&gt;
:: set BOOST_PATH=$dir$&lt;br /&gt;
:: set BOOST_ROOT=$dir$\boost&lt;br /&gt;
# Execute: mkdir cmakebuild&lt;br /&gt;
# Execute: cd cmakebuild&lt;br /&gt;
# Execute: cmake -G &amp;quot;Visual Studio 12&amp;quot; ..&lt;br /&gt;
# Open $dir$\clucene\cmakebuild\clucene.sln&lt;br /&gt;
# Ensure that the Release configuration is selected and build the BUILD_ALL project&lt;br /&gt;
&lt;br /&gt;
=== Compiling libsword ===&lt;br /&gt;
# Download the latest release of [http://www.crosswire.org/ftpmirror/pub/sword/source/sword.tar.gz The SWORD Project]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
::If you are building utilities or diatheke, the following steps are not necessary:&lt;br /&gt;
# Open $dir$\sword-$version$\lib\vcppmake\vc8\libsword.vcproj&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Compiling utilities ===&lt;br /&gt;
# Open $dir$\sword-$version$\utilities\vcppmake\utilities.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
== Cross Compiling Sword for MS Windows on Suse Linux with MingW == &lt;br /&gt;
&lt;br /&gt;
===Suse with MingW===&lt;br /&gt;
&lt;br /&gt;
Installation of all necessary dependencies of Sword, but for CLucene - libcurl, ICU, libgnurx etc - &lt;br /&gt;
&lt;br /&gt;
===Compilation of Clucene===&lt;br /&gt;
&lt;br /&gt;
clucene 0.9.21b source&lt;br /&gt;
&lt;br /&gt;
The scripts for compiling sword and clucene in xiphos/win32/suse are meant to be used from  ~/source/ with the clucene and sword directories directly under that. I would suggest reading the scripts. They aren't complicated, and I'm sure that I made assumptions about my environment (which is basically the *sole* reason for the warning that they aren't ready, I never meant they couldn't be used). You can go ahead and try to use them to cross-compile clucene. It will probably fail. If at that point, you send me config.log, that will help me remember what to do to fix it.&lt;br /&gt;
&lt;br /&gt;
--------------------------------&lt;br /&gt;
&lt;br /&gt;
edit m4/dps_static_const_type.m4, the last AC_DEFINE line. Change from:&lt;br /&gt;
&lt;br /&gt;
 AC_MSG_ERROR([Cannot figure out how to write static consts in classes. Check the m4 script or upgrade your compiler])&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 AC_DEFINE([LUCENE_STATIC_CONSTANT_SYNTAX], 1, [How to define a static const in a class])&lt;br /&gt;
&lt;br /&gt;
eg, the same as the first AC_DEFINE. I have no idea if it's correct, actually, but it seems to work ;)&lt;br /&gt;
&lt;br /&gt;
Next, edit src/Makefile.am, line 6. Add &amp;lt;tt&amp;gt;-no-undefined&amp;lt;/tt&amp;gt; at the end, like so:&lt;br /&gt;
&lt;br /&gt;
 libclucene_la_LDFLAGS  = --version-info $(CLLIB_VERSION) --release&lt;br /&gt;
 $(PACKAGE_VERSION) -no-undefined&lt;br /&gt;
&lt;br /&gt;
------------------------&lt;br /&gt;
src/CLucene/store/FSDirectory.cpp&lt;br /&gt;
&lt;br /&gt;
At the top of that file, after the #include directives, I just added this:&lt;br /&gt;
&lt;br /&gt;
 #define _mkdir mkdir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After changing these, you'll have to run autogen.sh and then re-configure using my script. It *should* build after this, at which point run sudo make install. Check to be sure it created a dll rather than just a static library (which will end in .la). It should be located in /usr/i686-w64-mingw32/sys-root/mingw/bin&lt;br /&gt;
&lt;br /&gt;
After this Clucene compiles without errors and creates a working dll.&lt;br /&gt;
&lt;br /&gt;
===Compilation of Sword===&lt;br /&gt;
&lt;br /&gt;
Application of 2 patches:&lt;br /&gt;
&lt;br /&gt;
patch1 patch2&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13275</id>
		<title>Tutorial:Compiling &amp; Installing SWORD on Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13275"/>
				<updated>2014-03-19T09:42:28Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* Compiling bzip2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''For compiling on Linux, see [[Tutorial:Compiling &amp;amp; Installing SWORD]]''.&lt;br /&gt;
&lt;br /&gt;
== Compiling The SWORD Project using [http://en.wikipedia.org/wiki/Microsoft_Visual_Studio MS Visual Studio] 2013 ==&lt;br /&gt;
&lt;br /&gt;
# Create a build directory, hereafter referred to as $dir$. Much of the Sword build process expects that various downloads be unpacked to the same directory.&lt;br /&gt;
&lt;br /&gt;
=== Compiling cURL ===&lt;br /&gt;
# Download the latest release of [http://curl.haxx.se/latest.cgi?curl=zip cURL]&lt;br /&gt;
# Extract the ZIP to $dir$&lt;br /&gt;
# Rename the cURL directory to &amp;quot;curl&amp;quot; (with no version number)&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Visual Studio 2013 | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/curl/winbuild&lt;br /&gt;
# Execute: nmake /f Makefile.vc mode=static DEBUG=no&lt;br /&gt;
&lt;br /&gt;
=== Compiling ICU ===&lt;br /&gt;
# Download the latest release of [http://site.icu-project.org/download ICU]. At writing, the latest version is 52.1: [http://download.icu-project.org/files/icu4c/52.1/icu4c-52_1-src.zip]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
# Open $dir$\icu\source\allinone\allinone.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Compiling bzip2 ===&lt;br /&gt;
# Download the latest release of [http://www.bzip.org/downloads.html bzip2]. At writing, the latest version is 1.0.6: [http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz]&lt;br /&gt;
# Extract the archive to $dir$ and rename the directory bzip2&lt;br /&gt;
# Open $dir$\bzip2\libbz2.dsp and allow Visual Studio to update the project&lt;br /&gt;
# Ensure that the Release configuration is selected and build the solution&lt;br /&gt;
&lt;br /&gt;
=== Downloading liblzma ===&lt;br /&gt;
# Download the latest release of xz prebuilt for Windows from [http://tukaani.org/xz/ tukaani.org]. At writing, the latest version is 5.0.5: [http://tukaani.org/xz/xz-5.0.5-windows.zip]&lt;br /&gt;
# Extract the archive to $dir$/xz&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Visual Studio 2013 | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/xz/bin_i486&lt;br /&gt;
# Execute: lib /def:../doc/liblzma.def /out:liblzma.lib /machine:x86&lt;br /&gt;
&lt;br /&gt;
=== Compiling CLucene ===&lt;br /&gt;
# Install [http://www.cmake.org/ cmake]&lt;br /&gt;
# Download the latest version of [http://www.boost.org/users/download/ boost]. At writing, the latest version is 1.5.5: [http://sourceforge.net/projects/boost/files/boost/1.55.0/]&lt;br /&gt;
# Extract the archive to $dir$&lt;br /&gt;
# Rename the boost directory to &amp;quot;boost&amp;quot;&lt;br /&gt;
# Download a snapshot of the [http://sourceforge.net/p/clucene/code/ci/master/tree/ CLucene 2_3_2 branch]&lt;br /&gt;
# Extract the archive to $dir$&lt;br /&gt;
# Rename the CLucene directory to &amp;quot;clucene&amp;quot;&lt;br /&gt;
# Start a regular Command Prompt (cmd.exe)&lt;br /&gt;
# cd to $dir$/clucene&lt;br /&gt;
# Set Boost environment variables by executing the following (with replacements for $dir$):&lt;br /&gt;
:: set BOOST_BUILD_PATH=$dir$\boost\tools\build\v2&lt;br /&gt;
:: set BOOST_PATH=$dir$&lt;br /&gt;
:: set BOOST_ROOT=$dir$\boost&lt;br /&gt;
# Execute: mkdir cmakebuild&lt;br /&gt;
# Execute: cd cmakebuild&lt;br /&gt;
# Execute: cmake -G &amp;quot;Visual Studio 12&amp;quot; ..&lt;br /&gt;
# Open $dir$\clucene\cmakebuild\clucene.sln&lt;br /&gt;
# Ensure that the Release configuration is selected and build the BUILD_ALL solution&lt;br /&gt;
&lt;br /&gt;
=== Compiling libsword ===&lt;br /&gt;
# Download the latest release of [http://www.crosswire.org/ftpmirror/pub/sword/source/sword.tar.gz The SWORD Project]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
::If you are building utilities or diatheke, the following steps are not necessary:&lt;br /&gt;
# Open $dir$\sword-$version$\lib\vcppmake\vc8\libsword.vcproj&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Compiling utilities ===&lt;br /&gt;
# Open $dir$\sword-$version$\utilities\vcppmake\utilities.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
== Cross Compiling Sword for MS Windows on Suse Linux with MingW == &lt;br /&gt;
&lt;br /&gt;
===Suse with MingW===&lt;br /&gt;
&lt;br /&gt;
Installation of all necessary dependencies of Sword, but for CLucene - libcurl, ICU, libgnurx etc - &lt;br /&gt;
&lt;br /&gt;
===Compilation of Clucene===&lt;br /&gt;
&lt;br /&gt;
clucene 0.9.21b source&lt;br /&gt;
&lt;br /&gt;
The scripts for compiling sword and clucene in xiphos/win32/suse are meant to be used from  ~/source/ with the clucene and sword directories directly under that. I would suggest reading the scripts. They aren't complicated, and I'm sure that I made assumptions about my environment (which is basically the *sole* reason for the warning that they aren't ready, I never meant they couldn't be used). You can go ahead and try to use them to cross-compile clucene. It will probably fail. If at that point, you send me config.log, that will help me remember what to do to fix it.&lt;br /&gt;
&lt;br /&gt;
--------------------------------&lt;br /&gt;
&lt;br /&gt;
edit m4/dps_static_const_type.m4, the last AC_DEFINE line. Change from:&lt;br /&gt;
&lt;br /&gt;
 AC_MSG_ERROR([Cannot figure out how to write static consts in classes. Check the m4 script or upgrade your compiler])&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 AC_DEFINE([LUCENE_STATIC_CONSTANT_SYNTAX], 1, [How to define a static const in a class])&lt;br /&gt;
&lt;br /&gt;
eg, the same as the first AC_DEFINE. I have no idea if it's correct, actually, but it seems to work ;)&lt;br /&gt;
&lt;br /&gt;
Next, edit src/Makefile.am, line 6. Add &amp;lt;tt&amp;gt;-no-undefined&amp;lt;/tt&amp;gt; at the end, like so:&lt;br /&gt;
&lt;br /&gt;
 libclucene_la_LDFLAGS  = --version-info $(CLLIB_VERSION) --release&lt;br /&gt;
 $(PACKAGE_VERSION) -no-undefined&lt;br /&gt;
&lt;br /&gt;
------------------------&lt;br /&gt;
src/CLucene/store/FSDirectory.cpp&lt;br /&gt;
&lt;br /&gt;
At the top of that file, after the #include directives, I just added this:&lt;br /&gt;
&lt;br /&gt;
 #define _mkdir mkdir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After changing these, you'll have to run autogen.sh and then re-configure using my script. It *should* build after this, at which point run sudo make install. Check to be sure it created a dll rather than just a static library (which will end in .la). It should be located in /usr/i686-w64-mingw32/sys-root/mingw/bin&lt;br /&gt;
&lt;br /&gt;
After this Clucene compiles without errors and creates a working dll.&lt;br /&gt;
&lt;br /&gt;
===Compilation of Sword===&lt;br /&gt;
&lt;br /&gt;
Application of 2 patches:&lt;br /&gt;
&lt;br /&gt;
patch1 patch2&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13274</id>
		<title>Tutorial:Compiling &amp; Installing SWORD on Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13274"/>
				<updated>2014-03-19T09:41:13Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: added CLucene build instructions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''For compiling on Linux, see [[Tutorial:Compiling &amp;amp; Installing SWORD]]''.&lt;br /&gt;
&lt;br /&gt;
== Compiling The SWORD Project using [http://en.wikipedia.org/wiki/Microsoft_Visual_Studio MS Visual Studio] 2013 ==&lt;br /&gt;
&lt;br /&gt;
# Create a build directory, hereafter referred to as $dir$. Much of the Sword build process expects that various downloads be unpacked to the same directory.&lt;br /&gt;
&lt;br /&gt;
=== Compiling cURL ===&lt;br /&gt;
# Download the latest release of [http://curl.haxx.se/latest.cgi?curl=zip cURL]&lt;br /&gt;
# Extract the ZIP to $dir$&lt;br /&gt;
# Rename the cURL directory to &amp;quot;curl&amp;quot; (with no version number)&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Visual Studio 2013 | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/curl/winbuild&lt;br /&gt;
# Execute: nmake /f Makefile.vc mode=static DEBUG=no&lt;br /&gt;
&lt;br /&gt;
=== Compiling ICU ===&lt;br /&gt;
# Download the latest release of [http://site.icu-project.org/download ICU]. At writing, the latest version is 52.1: [http://download.icu-project.org/files/icu4c/52.1/icu4c-52_1-src.zip]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
# Open $dir$\icu\source\allinone\allinone.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Compiling bzip2 ===&lt;br /&gt;
# Download the latest release of [http://www.bzip.org/downloads.html bzip2]. At writing, the latest version is 1.0.6: [http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz]&lt;br /&gt;
# Extract the archive to $dir$ and rename the directory bzip2&lt;br /&gt;
# Open $dir$\bzip2\libbz2.dsp and allow Visual Studio to update the project&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Downloading liblzma ===&lt;br /&gt;
# Download the latest release of xz prebuilt for Windows from [http://tukaani.org/xz/ tukaani.org]. At writing, the latest version is 5.0.5: [http://tukaani.org/xz/xz-5.0.5-windows.zip]&lt;br /&gt;
# Extract the archive to $dir$/xz&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Visual Studio 2013 | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/xz/bin_i486&lt;br /&gt;
# Execute: lib /def:../doc/liblzma.def /out:liblzma.lib /machine:x86&lt;br /&gt;
&lt;br /&gt;
=== Compiling CLucene ===&lt;br /&gt;
# Install [http://www.cmake.org/ cmake]&lt;br /&gt;
# Download the latest version of [http://www.boost.org/users/download/ boost]. At writing, the latest version is 1.5.5: [http://sourceforge.net/projects/boost/files/boost/1.55.0/]&lt;br /&gt;
# Extract the archive to $dir$&lt;br /&gt;
# Rename the boost directory to &amp;quot;boost&amp;quot;&lt;br /&gt;
# Download a snapshot of the [http://sourceforge.net/p/clucene/code/ci/master/tree/ CLucene 2_3_2 branch]&lt;br /&gt;
# Extract the archive to $dir$&lt;br /&gt;
# Rename the CLucene directory to &amp;quot;clucene&amp;quot;&lt;br /&gt;
# Start a regular Command Prompt (cmd.exe)&lt;br /&gt;
# cd to $dir$/clucene&lt;br /&gt;
# Set Boost environment variables by executing the following (with replacements for $dir$):&lt;br /&gt;
:: set BOOST_BUILD_PATH=$dir$\boost\tools\build\v2&lt;br /&gt;
:: set BOOST_PATH=$dir$&lt;br /&gt;
:: set BOOST_ROOT=$dir$\boost&lt;br /&gt;
# Execute: mkdir cmakebuild&lt;br /&gt;
# Execute: cd cmakebuild&lt;br /&gt;
# Execute: cmake -G &amp;quot;Visual Studio 12&amp;quot; ..&lt;br /&gt;
# Open $dir$\clucene\cmakebuild\clucene.sln&lt;br /&gt;
# Ensure that the Release configuration is selected and build the BUILD_ALL solution&lt;br /&gt;
&lt;br /&gt;
=== Compiling libsword ===&lt;br /&gt;
# Download the latest release of [http://www.crosswire.org/ftpmirror/pub/sword/source/sword.tar.gz The SWORD Project]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
::If you are building utilities or diatheke, the following steps are not necessary:&lt;br /&gt;
# Open $dir$\sword-$version$\lib\vcppmake\vc8\libsword.vcproj&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Compiling utilities ===&lt;br /&gt;
# Open $dir$\sword-$version$\utilities\vcppmake\utilities.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
== Cross Compiling Sword for MS Windows on Suse Linux with MingW == &lt;br /&gt;
&lt;br /&gt;
===Suse with MingW===&lt;br /&gt;
&lt;br /&gt;
Installation of all necessary dependencies of Sword, but for CLucene - libcurl, ICU, libgnurx etc - &lt;br /&gt;
&lt;br /&gt;
===Compilation of Clucene===&lt;br /&gt;
&lt;br /&gt;
clucene 0.9.21b source&lt;br /&gt;
&lt;br /&gt;
The scripts for compiling sword and clucene in xiphos/win32/suse are meant to be used from  ~/source/ with the clucene and sword directories directly under that. I would suggest reading the scripts. They aren't complicated, and I'm sure that I made assumptions about my environment (which is basically the *sole* reason for the warning that they aren't ready, I never meant they couldn't be used). You can go ahead and try to use them to cross-compile clucene. It will probably fail. If at that point, you send me config.log, that will help me remember what to do to fix it.&lt;br /&gt;
&lt;br /&gt;
--------------------------------&lt;br /&gt;
&lt;br /&gt;
edit m4/dps_static_const_type.m4, the last AC_DEFINE line. Change from:&lt;br /&gt;
&lt;br /&gt;
 AC_MSG_ERROR([Cannot figure out how to write static consts in classes. Check the m4 script or upgrade your compiler])&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 AC_DEFINE([LUCENE_STATIC_CONSTANT_SYNTAX], 1, [How to define a static const in a class])&lt;br /&gt;
&lt;br /&gt;
eg, the same as the first AC_DEFINE. I have no idea if it's correct, actually, but it seems to work ;)&lt;br /&gt;
&lt;br /&gt;
Next, edit src/Makefile.am, line 6. Add &amp;lt;tt&amp;gt;-no-undefined&amp;lt;/tt&amp;gt; at the end, like so:&lt;br /&gt;
&lt;br /&gt;
 libclucene_la_LDFLAGS  = --version-info $(CLLIB_VERSION) --release&lt;br /&gt;
 $(PACKAGE_VERSION) -no-undefined&lt;br /&gt;
&lt;br /&gt;
------------------------&lt;br /&gt;
src/CLucene/store/FSDirectory.cpp&lt;br /&gt;
&lt;br /&gt;
At the top of that file, after the #include directives, I just added this:&lt;br /&gt;
&lt;br /&gt;
 #define _mkdir mkdir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After changing these, you'll have to run autogen.sh and then re-configure using my script. It *should* build after this, at which point run sudo make install. Check to be sure it created a dll rather than just a static library (which will end in .la). It should be located in /usr/i686-w64-mingw32/sys-root/mingw/bin&lt;br /&gt;
&lt;br /&gt;
After this Clucene compiles without errors and creates a working dll.&lt;br /&gt;
&lt;br /&gt;
===Compilation of Sword===&lt;br /&gt;
&lt;br /&gt;
Application of 2 patches:&lt;br /&gt;
&lt;br /&gt;
patch1 patch2&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13270</id>
		<title>Tutorial:Compiling &amp; Installing SWORD on Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13270"/>
				<updated>2014-03-19T08:27:14Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* Compiling cURL */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''For compiling on Linux, see [[Tutorial:Compiling &amp;amp; Installing SWORD]]''.&lt;br /&gt;
&lt;br /&gt;
== Compiling The SWORD Project using [http://en.wikipedia.org/wiki/Microsoft_Visual_Studio MS Visual Studio] 2013 ==&lt;br /&gt;
&lt;br /&gt;
# Create a build directory, hereafter referred to as $dir$. Much of the Sword build process expects that various downloads be unpacked to the same directory.&lt;br /&gt;
&lt;br /&gt;
=== Compiling cURL ===&lt;br /&gt;
# Download the latest release of [http://curl.haxx.se/latest.cgi?curl=zip cURL]&lt;br /&gt;
# Extract the ZIP to $dir$&lt;br /&gt;
# Rename the cURL directory to &amp;quot;curl&amp;quot; (with no version number)&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Microsoft Visual Studios | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/curl/winbuild&lt;br /&gt;
# Execute: nmake /f Makefile.vc mode=static DEBUG=no&lt;br /&gt;
&lt;br /&gt;
=== Compiling ICU ===&lt;br /&gt;
# Download the latest release of [http://site.icu-project.org/download ICU]. At writing, the latest version is 52.1: [http://download.icu-project.org/files/icu4c/52.1/icu4c-52_1-src.zip]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
# Open $dir$\icu\source\allinone\allinone.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Compiling bzip2 ===&lt;br /&gt;
# Download the latest release of [http://www.bzip.org/downloads.html bzip2]. At writing, the latest version is 1.0.6: [http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz]&lt;br /&gt;
# Extract the archive to $dir$ and rename the directory bzip2&lt;br /&gt;
# Open $dir$\bzip2\libbz2.dsp and allow Visual Studio to update the project&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Downloading liblzma ===&lt;br /&gt;
# Download the latest release of xz prebuilt for Windows from [http://tukaani.org/xz/ tukaani.org]. At writing, the latest version is 5.0.5: [http://tukaani.org/xz/xz-5.0.5-windows.zip]&lt;br /&gt;
# Extract the archive to $dir$/xz&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Microsoft Visual Studios | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/xz/bin_i486&lt;br /&gt;
# Execute: lib /def:../doc/liblzma.def /out:liblzma.lib /machine:x86&lt;br /&gt;
&lt;br /&gt;
=== Compiling libsword ===&lt;br /&gt;
# Download the latest release of [http://www.crosswire.org/ftpmirror/pub/sword/source/sword.tar.gz The SWORD Project]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
#:If you are building utilities or diatheke, the following steps are not necessary:&lt;br /&gt;
# Open $dir$\sword-$version$\lib\vcppmake\vc8\libsword.vcproj&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Compiling utilities ===&lt;br /&gt;
# Open $dir$\sword-$version$\utilities\vcppmake\utilities.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
== Cross Compiling Sword for MS Windows on Suse Linux with MingW == &lt;br /&gt;
&lt;br /&gt;
===Suse with MingW===&lt;br /&gt;
&lt;br /&gt;
Installation of all necessary dependencies of Sword, but for CLucene - libcurl, ICU, libgnurx etc - &lt;br /&gt;
&lt;br /&gt;
===Compilation of Clucene===&lt;br /&gt;
&lt;br /&gt;
clucene 0.9.21b source&lt;br /&gt;
&lt;br /&gt;
The scripts for compiling sword and clucene in xiphos/win32/suse are meant to be used from  ~/source/ with the clucene and sword directories directly under that. I would suggest reading the scripts. They aren't complicated, and I'm sure that I made assumptions about my environment (which is basically the *sole* reason for the warning that they aren't ready, I never meant they couldn't be used). You can go ahead and try to use them to cross-compile clucene. It will probably fail. If at that point, you send me config.log, that will help me remember what to do to fix it.&lt;br /&gt;
&lt;br /&gt;
--------------------------------&lt;br /&gt;
&lt;br /&gt;
edit m4/dps_static_const_type.m4, the last AC_DEFINE line. Change from:&lt;br /&gt;
&lt;br /&gt;
 AC_MSG_ERROR([Cannot figure out how to write static consts in classes. Check the m4 script or upgrade your compiler])&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 AC_DEFINE([LUCENE_STATIC_CONSTANT_SYNTAX], 1, [How to define a static const in a class])&lt;br /&gt;
&lt;br /&gt;
eg, the same as the first AC_DEFINE. I have no idea if it's correct, actually, but it seems to work ;)&lt;br /&gt;
&lt;br /&gt;
Next, edit src/Makefile.am, line 6. Add &amp;lt;tt&amp;gt;-no-undefined&amp;lt;/tt&amp;gt; at the end, like so:&lt;br /&gt;
&lt;br /&gt;
 libclucene_la_LDFLAGS  = --version-info $(CLLIB_VERSION) --release&lt;br /&gt;
 $(PACKAGE_VERSION) -no-undefined&lt;br /&gt;
&lt;br /&gt;
------------------------&lt;br /&gt;
src/CLucene/store/FSDirectory.cpp&lt;br /&gt;
&lt;br /&gt;
At the top of that file, after the #include directives, I just added this:&lt;br /&gt;
&lt;br /&gt;
 #define _mkdir mkdir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After changing these, you'll have to run autogen.sh and then re-configure using my script. It *should* build after this, at which point run sudo make install. Check to be sure it created a dll rather than just a static library (which will end in .la). It should be located in /usr/i686-w64-mingw32/sys-root/mingw/bin&lt;br /&gt;
&lt;br /&gt;
After this Clucene compiles without errors and creates a working dll.&lt;br /&gt;
&lt;br /&gt;
===Compilation of Sword===&lt;br /&gt;
&lt;br /&gt;
Application of 2 patches:&lt;br /&gt;
&lt;br /&gt;
patch1 patch2&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13269</id>
		<title>Tutorial:Compiling &amp; Installing SWORD on Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13269"/>
				<updated>2014-03-19T08:24:05Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* Compiling ICU */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''For compiling on Linux, see [[Tutorial:Compiling &amp;amp; Installing SWORD]]''.&lt;br /&gt;
&lt;br /&gt;
== Compiling The SWORD Project using [http://en.wikipedia.org/wiki/Microsoft_Visual_Studio MS Visual Studio] 2013 ==&lt;br /&gt;
&lt;br /&gt;
# Create a build directory, hereafter referred to as $dir$. Much of the Sword build process expects that various downloads be unpacked to the same directory.&lt;br /&gt;
&lt;br /&gt;
=== Compiling cURL ===&lt;br /&gt;
# Download the latest release of [http://curl.haxx.se/latest.cgi?curl=zip cURL]&lt;br /&gt;
# Extract the ZIP to $dir$&lt;br /&gt;
# Rename the cURL directory to &amp;quot;curl&amp;quot; (with no version number)&lt;br /&gt;
# Follow the directions in winbuild/BUILD.WINDOWS.txt&lt;br /&gt;
## You need to build a static version of cURL&lt;br /&gt;
## Whether you build a debug or release version of libsword, you will need to make a release version of cURL (DEBUG=no)&lt;br /&gt;
## Sample command &amp;quot;nmake /f Makefile.vc mode=static DEBUG=no&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Compiling ICU ===&lt;br /&gt;
# Download the latest release of [http://site.icu-project.org/download ICU]. At writing, the latest version is 52.1: [http://download.icu-project.org/files/icu4c/52.1/icu4c-52_1-src.zip]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
# Open $dir$\icu\source\allinone\allinone.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Compiling bzip2 ===&lt;br /&gt;
# Download the latest release of [http://www.bzip.org/downloads.html bzip2]. At writing, the latest version is 1.0.6: [http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz]&lt;br /&gt;
# Extract the archive to $dir$ and rename the directory bzip2&lt;br /&gt;
# Open $dir$\bzip2\libbz2.dsp and allow Visual Studio to update the project&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Downloading liblzma ===&lt;br /&gt;
# Download the latest release of xz prebuilt for Windows from [http://tukaani.org/xz/ tukaani.org]. At writing, the latest version is 5.0.5: [http://tukaani.org/xz/xz-5.0.5-windows.zip]&lt;br /&gt;
# Extract the archive to $dir$/xz&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Microsoft Visual Studios | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/xz/bin_i486&lt;br /&gt;
# Execute: lib /def:../doc/liblzma.def /out:liblzma.lib /machine:x86&lt;br /&gt;
&lt;br /&gt;
=== Compiling libsword ===&lt;br /&gt;
# Download the latest release of [http://www.crosswire.org/ftpmirror/pub/sword/source/sword.tar.gz The SWORD Project]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
#:If you are building utilities or diatheke, the following steps are not necessary:&lt;br /&gt;
# Open $dir$\sword-$version$\lib\vcppmake\vc8\libsword.vcproj&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Compiling utilities ===&lt;br /&gt;
# Open $dir$\sword-$version$\utilities\vcppmake\utilities.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
== Cross Compiling Sword for MS Windows on Suse Linux with MingW == &lt;br /&gt;
&lt;br /&gt;
===Suse with MingW===&lt;br /&gt;
&lt;br /&gt;
Installation of all necessary dependencies of Sword, but for CLucene - libcurl, ICU, libgnurx etc - &lt;br /&gt;
&lt;br /&gt;
===Compilation of Clucene===&lt;br /&gt;
&lt;br /&gt;
clucene 0.9.21b source&lt;br /&gt;
&lt;br /&gt;
The scripts for compiling sword and clucene in xiphos/win32/suse are meant to be used from  ~/source/ with the clucene and sword directories directly under that. I would suggest reading the scripts. They aren't complicated, and I'm sure that I made assumptions about my environment (which is basically the *sole* reason for the warning that they aren't ready, I never meant they couldn't be used). You can go ahead and try to use them to cross-compile clucene. It will probably fail. If at that point, you send me config.log, that will help me remember what to do to fix it.&lt;br /&gt;
&lt;br /&gt;
--------------------------------&lt;br /&gt;
&lt;br /&gt;
edit m4/dps_static_const_type.m4, the last AC_DEFINE line. Change from:&lt;br /&gt;
&lt;br /&gt;
 AC_MSG_ERROR([Cannot figure out how to write static consts in classes. Check the m4 script or upgrade your compiler])&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 AC_DEFINE([LUCENE_STATIC_CONSTANT_SYNTAX], 1, [How to define a static const in a class])&lt;br /&gt;
&lt;br /&gt;
eg, the same as the first AC_DEFINE. I have no idea if it's correct, actually, but it seems to work ;)&lt;br /&gt;
&lt;br /&gt;
Next, edit src/Makefile.am, line 6. Add &amp;lt;tt&amp;gt;-no-undefined&amp;lt;/tt&amp;gt; at the end, like so:&lt;br /&gt;
&lt;br /&gt;
 libclucene_la_LDFLAGS  = --version-info $(CLLIB_VERSION) --release&lt;br /&gt;
 $(PACKAGE_VERSION) -no-undefined&lt;br /&gt;
&lt;br /&gt;
------------------------&lt;br /&gt;
src/CLucene/store/FSDirectory.cpp&lt;br /&gt;
&lt;br /&gt;
At the top of that file, after the #include directives, I just added this:&lt;br /&gt;
&lt;br /&gt;
 #define _mkdir mkdir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After changing these, you'll have to run autogen.sh and then re-configure using my script. It *should* build after this, at which point run sudo make install. Check to be sure it created a dll rather than just a static library (which will end in .la). It should be located in /usr/i686-w64-mingw32/sys-root/mingw/bin&lt;br /&gt;
&lt;br /&gt;
After this Clucene compiles without errors and creates a working dll.&lt;br /&gt;
&lt;br /&gt;
===Compilation of Sword===&lt;br /&gt;
&lt;br /&gt;
Application of 2 patches:&lt;br /&gt;
&lt;br /&gt;
patch1 patch2&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13268</id>
		<title>Tutorial:Compiling &amp; Installing SWORD on Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13268"/>
				<updated>2014-03-19T08:22:16Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* Compiling bzip2 */ I just built bzip2 in VS2013 and didn't need to use the console (VS updated the .dsp project)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''For compiling on Linux, see [[Tutorial:Compiling &amp;amp; Installing SWORD]]''.&lt;br /&gt;
&lt;br /&gt;
== Compiling The SWORD Project using [http://en.wikipedia.org/wiki/Microsoft_Visual_Studio MS Visual Studio] 2013 ==&lt;br /&gt;
&lt;br /&gt;
# Create a build directory, hereafter referred to as $dir$. Much of the Sword build process expects that various downloads be unpacked to the same directory.&lt;br /&gt;
&lt;br /&gt;
=== Compiling cURL ===&lt;br /&gt;
# Download the latest release of [http://curl.haxx.se/latest.cgi?curl=zip cURL]&lt;br /&gt;
# Extract the ZIP to $dir$&lt;br /&gt;
# Rename the cURL directory to &amp;quot;curl&amp;quot; (with no version number)&lt;br /&gt;
# Follow the directions in winbuild/BUILD.WINDOWS.txt&lt;br /&gt;
## You need to build a static version of cURL&lt;br /&gt;
## Whether you build a debug or release version of libsword, you will need to make a release version of cURL (DEBUG=no)&lt;br /&gt;
## Sample command &amp;quot;nmake /f Makefile.vc mode=static DEBUG=no&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Compiling ICU ===&lt;br /&gt;
# Download the latest release of [http://site.icu-project.org/download ICU]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
# Open $dir$\icu\source\allinone\allinone.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Compiling bzip2 ===&lt;br /&gt;
# Download the latest release of [http://www.bzip.org/downloads.html bzip2]. At writing, the latest version is 1.0.6: [http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz]&lt;br /&gt;
# Extract the archive to $dir$ and rename the directory bzip2&lt;br /&gt;
# Open $dir$\bzip2\libbz2.dsp and allow Visual Studio to update the project&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Downloading liblzma ===&lt;br /&gt;
# Download the latest release of xz prebuilt for Windows from [http://tukaani.org/xz/ tukaani.org]. At writing, the latest version is 5.0.5: [http://tukaani.org/xz/xz-5.0.5-windows.zip]&lt;br /&gt;
# Extract the archive to $dir$/xz&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Microsoft Visual Studios | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/xz/bin_i486&lt;br /&gt;
# Execute: lib /def:../doc/liblzma.def /out:liblzma.lib /machine:x86&lt;br /&gt;
&lt;br /&gt;
=== Compiling libsword ===&lt;br /&gt;
# Download the latest release of [http://www.crosswire.org/ftpmirror/pub/sword/source/sword.tar.gz The SWORD Project]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
#:If you are building utilities or diatheke, the following steps are not necessary:&lt;br /&gt;
# Open $dir$\sword-$version$\lib\vcppmake\vc8\libsword.vcproj&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Compiling utilities ===&lt;br /&gt;
# Open $dir$\sword-$version$\utilities\vcppmake\utilities.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
== Cross Compiling Sword for MS Windows on Suse Linux with MingW == &lt;br /&gt;
&lt;br /&gt;
===Suse with MingW===&lt;br /&gt;
&lt;br /&gt;
Installation of all necessary dependencies of Sword, but for CLucene - libcurl, ICU, libgnurx etc - &lt;br /&gt;
&lt;br /&gt;
===Compilation of Clucene===&lt;br /&gt;
&lt;br /&gt;
clucene 0.9.21b source&lt;br /&gt;
&lt;br /&gt;
The scripts for compiling sword and clucene in xiphos/win32/suse are meant to be used from  ~/source/ with the clucene and sword directories directly under that. I would suggest reading the scripts. They aren't complicated, and I'm sure that I made assumptions about my environment (which is basically the *sole* reason for the warning that they aren't ready, I never meant they couldn't be used). You can go ahead and try to use them to cross-compile clucene. It will probably fail. If at that point, you send me config.log, that will help me remember what to do to fix it.&lt;br /&gt;
&lt;br /&gt;
--------------------------------&lt;br /&gt;
&lt;br /&gt;
edit m4/dps_static_const_type.m4, the last AC_DEFINE line. Change from:&lt;br /&gt;
&lt;br /&gt;
 AC_MSG_ERROR([Cannot figure out how to write static consts in classes. Check the m4 script or upgrade your compiler])&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 AC_DEFINE([LUCENE_STATIC_CONSTANT_SYNTAX], 1, [How to define a static const in a class])&lt;br /&gt;
&lt;br /&gt;
eg, the same as the first AC_DEFINE. I have no idea if it's correct, actually, but it seems to work ;)&lt;br /&gt;
&lt;br /&gt;
Next, edit src/Makefile.am, line 6. Add &amp;lt;tt&amp;gt;-no-undefined&amp;lt;/tt&amp;gt; at the end, like so:&lt;br /&gt;
&lt;br /&gt;
 libclucene_la_LDFLAGS  = --version-info $(CLLIB_VERSION) --release&lt;br /&gt;
 $(PACKAGE_VERSION) -no-undefined&lt;br /&gt;
&lt;br /&gt;
------------------------&lt;br /&gt;
src/CLucene/store/FSDirectory.cpp&lt;br /&gt;
&lt;br /&gt;
At the top of that file, after the #include directives, I just added this:&lt;br /&gt;
&lt;br /&gt;
 #define _mkdir mkdir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After changing these, you'll have to run autogen.sh and then re-configure using my script. It *should* build after this, at which point run sudo make install. Check to be sure it created a dll rather than just a static library (which will end in .la). It should be located in /usr/i686-w64-mingw32/sys-root/mingw/bin&lt;br /&gt;
&lt;br /&gt;
After this Clucene compiles without errors and creates a working dll.&lt;br /&gt;
&lt;br /&gt;
===Compilation of Sword===&lt;br /&gt;
&lt;br /&gt;
Application of 2 patches:&lt;br /&gt;
&lt;br /&gt;
patch1 patch2&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13267</id>
		<title>Tutorial:Compiling &amp; Installing SWORD on Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13267"/>
				<updated>2014-03-19T08:21:11Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* Compiling bzip2 */ wrong version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''For compiling on Linux, see [[Tutorial:Compiling &amp;amp; Installing SWORD]]''.&lt;br /&gt;
&lt;br /&gt;
== Compiling The SWORD Project using [http://en.wikipedia.org/wiki/Microsoft_Visual_Studio MS Visual Studio] 2013 ==&lt;br /&gt;
&lt;br /&gt;
# Create a build directory, hereafter referred to as $dir$. Much of the Sword build process expects that various downloads be unpacked to the same directory.&lt;br /&gt;
&lt;br /&gt;
=== Compiling cURL ===&lt;br /&gt;
# Download the latest release of [http://curl.haxx.se/latest.cgi?curl=zip cURL]&lt;br /&gt;
# Extract the ZIP to $dir$&lt;br /&gt;
# Rename the cURL directory to &amp;quot;curl&amp;quot; (with no version number)&lt;br /&gt;
# Follow the directions in winbuild/BUILD.WINDOWS.txt&lt;br /&gt;
## You need to build a static version of cURL&lt;br /&gt;
## Whether you build a debug or release version of libsword, you will need to make a release version of cURL (DEBUG=no)&lt;br /&gt;
## Sample command &amp;quot;nmake /f Makefile.vc mode=static DEBUG=no&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Compiling ICU ===&lt;br /&gt;
# Download the latest release of [http://site.icu-project.org/download ICU]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
# Open $dir$\icu\source\allinone\allinone.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Compiling bzip2 ===&lt;br /&gt;
# Download the latest release of [http://www.bzip.org/downloads.html bzip2]. At writing, the latest version is 1.0.6: [http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz]&lt;br /&gt;
# Extract the archive to $dir$ and rename the directory bzip2&lt;br /&gt;
# Open $dir$\bzip2\libbz2.dsp and allow Visual Studo to update the project&lt;br /&gt;
## If you are using Visual Studio 2013 you need to open a VS command line&lt;br /&gt;
## cd $dir$\bzip2&lt;br /&gt;
## nmake /f makefile.msc&lt;br /&gt;
## mkdir Release&lt;br /&gt;
## move libbz2.lib Release&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Downloading liblzma ===&lt;br /&gt;
# Download the latest release of xz prebuilt for Windows from [http://tukaani.org/xz/ tukaani.org]. At writing, the latest version is 5.0.5: [http://tukaani.org/xz/xz-5.0.5-windows.zip]&lt;br /&gt;
# Extract the archive to $dir$/xz&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Microsoft Visual Studios | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/xz/bin_i486&lt;br /&gt;
# Execute: lib /def:../doc/liblzma.def /out:liblzma.lib /machine:x86&lt;br /&gt;
&lt;br /&gt;
=== Compiling libsword ===&lt;br /&gt;
# Download the latest release of [http://www.crosswire.org/ftpmirror/pub/sword/source/sword.tar.gz The SWORD Project]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
#:If you are building utilities or diatheke, the following steps are not necessary:&lt;br /&gt;
# Open $dir$\sword-$version$\lib\vcppmake\vc8\libsword.vcproj&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Compiling utilities ===&lt;br /&gt;
# Open $dir$\sword-$version$\utilities\vcppmake\utilities.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
== Cross Compiling Sword for MS Windows on Suse Linux with MingW == &lt;br /&gt;
&lt;br /&gt;
===Suse with MingW===&lt;br /&gt;
&lt;br /&gt;
Installation of all necessary dependencies of Sword, but for CLucene - libcurl, ICU, libgnurx etc - &lt;br /&gt;
&lt;br /&gt;
===Compilation of Clucene===&lt;br /&gt;
&lt;br /&gt;
clucene 0.9.21b source&lt;br /&gt;
&lt;br /&gt;
The scripts for compiling sword and clucene in xiphos/win32/suse are meant to be used from  ~/source/ with the clucene and sword directories directly under that. I would suggest reading the scripts. They aren't complicated, and I'm sure that I made assumptions about my environment (which is basically the *sole* reason for the warning that they aren't ready, I never meant they couldn't be used). You can go ahead and try to use them to cross-compile clucene. It will probably fail. If at that point, you send me config.log, that will help me remember what to do to fix it.&lt;br /&gt;
&lt;br /&gt;
--------------------------------&lt;br /&gt;
&lt;br /&gt;
edit m4/dps_static_const_type.m4, the last AC_DEFINE line. Change from:&lt;br /&gt;
&lt;br /&gt;
 AC_MSG_ERROR([Cannot figure out how to write static consts in classes. Check the m4 script or upgrade your compiler])&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 AC_DEFINE([LUCENE_STATIC_CONSTANT_SYNTAX], 1, [How to define a static const in a class])&lt;br /&gt;
&lt;br /&gt;
eg, the same as the first AC_DEFINE. I have no idea if it's correct, actually, but it seems to work ;)&lt;br /&gt;
&lt;br /&gt;
Next, edit src/Makefile.am, line 6. Add &amp;lt;tt&amp;gt;-no-undefined&amp;lt;/tt&amp;gt; at the end, like so:&lt;br /&gt;
&lt;br /&gt;
 libclucene_la_LDFLAGS  = --version-info $(CLLIB_VERSION) --release&lt;br /&gt;
 $(PACKAGE_VERSION) -no-undefined&lt;br /&gt;
&lt;br /&gt;
------------------------&lt;br /&gt;
src/CLucene/store/FSDirectory.cpp&lt;br /&gt;
&lt;br /&gt;
At the top of that file, after the #include directives, I just added this:&lt;br /&gt;
&lt;br /&gt;
 #define _mkdir mkdir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After changing these, you'll have to run autogen.sh and then re-configure using my script. It *should* build after this, at which point run sudo make install. Check to be sure it created a dll rather than just a static library (which will end in .la). It should be located in /usr/i686-w64-mingw32/sys-root/mingw/bin&lt;br /&gt;
&lt;br /&gt;
After this Clucene compiles without errors and creates a working dll.&lt;br /&gt;
&lt;br /&gt;
===Compilation of Sword===&lt;br /&gt;
&lt;br /&gt;
Application of 2 patches:&lt;br /&gt;
&lt;br /&gt;
patch1 patch2&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13266</id>
		<title>Tutorial:Compiling &amp; Installing SWORD on Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13266"/>
				<updated>2014-03-19T08:16:54Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* Compiling icu-sword */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''For compiling on Linux, see [[Tutorial:Compiling &amp;amp; Installing SWORD]]''.&lt;br /&gt;
&lt;br /&gt;
== Compiling The SWORD Project using [http://en.wikipedia.org/wiki/Microsoft_Visual_Studio MS Visual Studio] 2013 ==&lt;br /&gt;
&lt;br /&gt;
# Create a build directory, hereafter referred to as $dir$. Much of the Sword build process expects that various downloads be unpacked to the same directory.&lt;br /&gt;
&lt;br /&gt;
=== Compiling cURL ===&lt;br /&gt;
# Download the latest release of [http://curl.haxx.se/latest.cgi?curl=zip cURL]&lt;br /&gt;
# Extract the ZIP to $dir$&lt;br /&gt;
# Rename the cURL directory to &amp;quot;curl&amp;quot; (with no version number)&lt;br /&gt;
# Follow the directions in winbuild/BUILD.WINDOWS.txt&lt;br /&gt;
## You need to build a static version of cURL&lt;br /&gt;
## Whether you build a debug or release version of libsword, you will need to make a release version of cURL (DEBUG=no)&lt;br /&gt;
## Sample command &amp;quot;nmake /f Makefile.vc mode=static DEBUG=no&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Compiling ICU ===&lt;br /&gt;
# Download the latest release of [http://site.icu-project.org/download ICU]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
# Open $dir$\icu\source\allinone\allinone.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Compiling bzip2 ===&lt;br /&gt;
# Download the latest release of [http://www.bzip.org/downloads.html bzip2]. At writing, the latest version is 1.6.0: [http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz]&lt;br /&gt;
# Extract the archive to $dir$ and rename the directory bzip2&lt;br /&gt;
# Open $dir$\bzip2\libbz2.dsp and allow Visual Studo to update the project&lt;br /&gt;
## If you are using Visual Studio 2013 you need to open a VS command line&lt;br /&gt;
## cd $dir$\bzip2&lt;br /&gt;
## nmake /f makefile.msc&lt;br /&gt;
## mkdir Release&lt;br /&gt;
## move libbz2.lib Release&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Downloading liblzma ===&lt;br /&gt;
# Download the latest release of xz prebuilt for Windows from [http://tukaani.org/xz/ tukaani.org]. At writing, the latest version is 5.0.5: [http://tukaani.org/xz/xz-5.0.5-windows.zip]&lt;br /&gt;
# Extract the archive to $dir$/xz&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Microsoft Visual Studios | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/xz/bin_i486&lt;br /&gt;
# Execute: lib /def:../doc/liblzma.def /out:liblzma.lib /machine:x86&lt;br /&gt;
&lt;br /&gt;
=== Compiling libsword ===&lt;br /&gt;
# Download the latest release of [http://www.crosswire.org/ftpmirror/pub/sword/source/sword.tar.gz The SWORD Project]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
#:If you are building utilities or diatheke, the following steps are not necessary:&lt;br /&gt;
# Open $dir$\sword-$version$\lib\vcppmake\vc8\libsword.vcproj&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Compiling utilities ===&lt;br /&gt;
# Open $dir$\sword-$version$\utilities\vcppmake\utilities.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
== Cross Compiling Sword for MS Windows on Suse Linux with MingW == &lt;br /&gt;
&lt;br /&gt;
===Suse with MingW===&lt;br /&gt;
&lt;br /&gt;
Installation of all necessary dependencies of Sword, but for CLucene - libcurl, ICU, libgnurx etc - &lt;br /&gt;
&lt;br /&gt;
===Compilation of Clucene===&lt;br /&gt;
&lt;br /&gt;
clucene 0.9.21b source&lt;br /&gt;
&lt;br /&gt;
The scripts for compiling sword and clucene in xiphos/win32/suse are meant to be used from  ~/source/ with the clucene and sword directories directly under that. I would suggest reading the scripts. They aren't complicated, and I'm sure that I made assumptions about my environment (which is basically the *sole* reason for the warning that they aren't ready, I never meant they couldn't be used). You can go ahead and try to use them to cross-compile clucene. It will probably fail. If at that point, you send me config.log, that will help me remember what to do to fix it.&lt;br /&gt;
&lt;br /&gt;
--------------------------------&lt;br /&gt;
&lt;br /&gt;
edit m4/dps_static_const_type.m4, the last AC_DEFINE line. Change from:&lt;br /&gt;
&lt;br /&gt;
 AC_MSG_ERROR([Cannot figure out how to write static consts in classes. Check the m4 script or upgrade your compiler])&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 AC_DEFINE([LUCENE_STATIC_CONSTANT_SYNTAX], 1, [How to define a static const in a class])&lt;br /&gt;
&lt;br /&gt;
eg, the same as the first AC_DEFINE. I have no idea if it's correct, actually, but it seems to work ;)&lt;br /&gt;
&lt;br /&gt;
Next, edit src/Makefile.am, line 6. Add &amp;lt;tt&amp;gt;-no-undefined&amp;lt;/tt&amp;gt; at the end, like so:&lt;br /&gt;
&lt;br /&gt;
 libclucene_la_LDFLAGS  = --version-info $(CLLIB_VERSION) --release&lt;br /&gt;
 $(PACKAGE_VERSION) -no-undefined&lt;br /&gt;
&lt;br /&gt;
------------------------&lt;br /&gt;
src/CLucene/store/FSDirectory.cpp&lt;br /&gt;
&lt;br /&gt;
At the top of that file, after the #include directives, I just added this:&lt;br /&gt;
&lt;br /&gt;
 #define _mkdir mkdir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After changing these, you'll have to run autogen.sh and then re-configure using my script. It *should* build after this, at which point run sudo make install. Check to be sure it created a dll rather than just a static library (which will end in .la). It should be located in /usr/i686-w64-mingw32/sys-root/mingw/bin&lt;br /&gt;
&lt;br /&gt;
After this Clucene compiles without errors and creates a working dll.&lt;br /&gt;
&lt;br /&gt;
===Compilation of Sword===&lt;br /&gt;
&lt;br /&gt;
Application of 2 patches:&lt;br /&gt;
&lt;br /&gt;
patch1 patch2&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13265</id>
		<title>Tutorial:Compiling &amp; Installing SWORD on Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13265"/>
				<updated>2014-03-19T06:27:46Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: Let's just cease support for pre-VS2013; our own project files are for VS2013&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''For compiling on Linux, see [[Tutorial:Compiling &amp;amp; Installing SWORD]]''.&lt;br /&gt;
&lt;br /&gt;
== Compiling The SWORD Project using [http://en.wikipedia.org/wiki/Microsoft_Visual_Studio MS Visual Studio] 2013 ==&lt;br /&gt;
&lt;br /&gt;
# Create a build directory, hereafter referred to as $dir$. Much of the Sword build process expects that various downloads be unpacked to the same directory.&lt;br /&gt;
&lt;br /&gt;
=== Compiling cURL ===&lt;br /&gt;
# Download the latest release of [http://curl.haxx.se/latest.cgi?curl=zip cURL]&lt;br /&gt;
# Extract the ZIP to $dir$&lt;br /&gt;
# Rename the cURL directory to &amp;quot;curl&amp;quot; (with no version number)&lt;br /&gt;
# Follow the directions in winbuild/BUILD.WINDOWS.txt&lt;br /&gt;
## You need to build a static version of cURL&lt;br /&gt;
## Whether you build a debug or release version of libsword, you will need to make a release version of cURL (DEBUG=no)&lt;br /&gt;
## Sample command &amp;quot;nmake /f Makefile.vc mode=static DEBUG=no&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Compiling icu-sword ===&lt;br /&gt;
# Download the latest release of [http://crosswire.org/ftpmirror/pub/sword/source/icu-sword/ icu-sword]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
# Open $dir$\icu-sword\source\allinone\allinone.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Compiling bzip2 ===&lt;br /&gt;
# Download the latest release of [http://www.bzip.org/downloads.html bzip2]. At writing, the latest version is 1.6.0: [http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz]&lt;br /&gt;
# Extract the archive to $dir$ and rename the directory bzip2&lt;br /&gt;
# Open $dir$\bzip2\libbz2.dsp and allow Visual Studo to update the project&lt;br /&gt;
## If you are using Visual Studio 2013 you need to open a VS command line&lt;br /&gt;
## cd $dir$\bzip2&lt;br /&gt;
## nmake /f makefile.msc&lt;br /&gt;
## mkdir Release&lt;br /&gt;
## move libbz2.lib Release&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Downloading liblzma ===&lt;br /&gt;
# Download the latest release of xz prebuilt for Windows from [http://tukaani.org/xz/ tukaani.org]. At writing, the latest version is 5.0.5: [http://tukaani.org/xz/xz-5.0.5-windows.zip]&lt;br /&gt;
# Extract the archive to $dir$/xz&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Microsoft Visual Studios | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/xz/bin_i486&lt;br /&gt;
# Execute: lib /def:../doc/liblzma.def /out:liblzma.lib /machine:x86&lt;br /&gt;
&lt;br /&gt;
=== Compiling libsword ===&lt;br /&gt;
# Download the latest release of [http://www.crosswire.org/ftpmirror/pub/sword/source/sword.tar.gz The SWORD Project]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
#:If you are building utilities or diatheke, the following steps are not necessary:&lt;br /&gt;
# Open $dir$\sword-$version$\lib\vcppmake\vc8\libsword.vcproj&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Compiling utilities ===&lt;br /&gt;
# Open $dir$\sword-$version$\utilities\vcppmake\utilities.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
== Cross Compiling Sword for MS Windows on Suse Linux with MingW == &lt;br /&gt;
&lt;br /&gt;
===Suse with MingW===&lt;br /&gt;
&lt;br /&gt;
Installation of all necessary dependencies of Sword, but for CLucene - libcurl, ICU, libgnurx etc - &lt;br /&gt;
&lt;br /&gt;
===Compilation of Clucene===&lt;br /&gt;
&lt;br /&gt;
clucene 0.9.21b source&lt;br /&gt;
&lt;br /&gt;
The scripts for compiling sword and clucene in xiphos/win32/suse are meant to be used from  ~/source/ with the clucene and sword directories directly under that. I would suggest reading the scripts. They aren't complicated, and I'm sure that I made assumptions about my environment (which is basically the *sole* reason for the warning that they aren't ready, I never meant they couldn't be used). You can go ahead and try to use them to cross-compile clucene. It will probably fail. If at that point, you send me config.log, that will help me remember what to do to fix it.&lt;br /&gt;
&lt;br /&gt;
--------------------------------&lt;br /&gt;
&lt;br /&gt;
edit m4/dps_static_const_type.m4, the last AC_DEFINE line. Change from:&lt;br /&gt;
&lt;br /&gt;
 AC_MSG_ERROR([Cannot figure out how to write static consts in classes. Check the m4 script or upgrade your compiler])&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 AC_DEFINE([LUCENE_STATIC_CONSTANT_SYNTAX], 1, [How to define a static const in a class])&lt;br /&gt;
&lt;br /&gt;
eg, the same as the first AC_DEFINE. I have no idea if it's correct, actually, but it seems to work ;)&lt;br /&gt;
&lt;br /&gt;
Next, edit src/Makefile.am, line 6. Add &amp;lt;tt&amp;gt;-no-undefined&amp;lt;/tt&amp;gt; at the end, like so:&lt;br /&gt;
&lt;br /&gt;
 libclucene_la_LDFLAGS  = --version-info $(CLLIB_VERSION) --release&lt;br /&gt;
 $(PACKAGE_VERSION) -no-undefined&lt;br /&gt;
&lt;br /&gt;
------------------------&lt;br /&gt;
src/CLucene/store/FSDirectory.cpp&lt;br /&gt;
&lt;br /&gt;
At the top of that file, after the #include directives, I just added this:&lt;br /&gt;
&lt;br /&gt;
 #define _mkdir mkdir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After changing these, you'll have to run autogen.sh and then re-configure using my script. It *should* build after this, at which point run sudo make install. Check to be sure it created a dll rather than just a static library (which will end in .la). It should be located in /usr/i686-w64-mingw32/sys-root/mingw/bin&lt;br /&gt;
&lt;br /&gt;
After this Clucene compiles without errors and creates a working dll.&lt;br /&gt;
&lt;br /&gt;
===Compilation of Sword===&lt;br /&gt;
&lt;br /&gt;
Application of 2 patches:&lt;br /&gt;
&lt;br /&gt;
patch1 patch2&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13261</id>
		<title>Tutorial:Compiling &amp; Installing SWORD on Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13261"/>
				<updated>2014-03-14T07:36:32Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* Compiling The SWORD Project using MS Visual Studio 2008+ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''For compiling on Linux, see [[Tutorial:Compiling &amp;amp; Installing SWORD]]''.&lt;br /&gt;
&lt;br /&gt;
== Compiling The SWORD Project using [http://en.wikipedia.org/wiki/Microsoft_Visual_Studio MS Visual Studio] 2008+ ==&lt;br /&gt;
&lt;br /&gt;
# Create a build directory, hereafter referred to as $dir$. Much of the Sword build process expects that various downloads be unpacked to the same directory.&lt;br /&gt;
&lt;br /&gt;
=== Compiling cURL ===&lt;br /&gt;
# Download the latest release of [http://curl.haxx.se/latest.cgi?curl=zip cURL]&lt;br /&gt;
# Extract the ZIP to $dir$&lt;br /&gt;
# Rename the cURL directory to &amp;quot;curl&amp;quot; (with no version number)&lt;br /&gt;
# Follow the directions in winbuild/BUILD.WINDOWS.txt&lt;br /&gt;
&lt;br /&gt;
=== Compiling icu-sword ===&lt;br /&gt;
# Download the latest release of [http://crosswire.org/ftpmirror/pub/sword/source/icu-sword/ icu-sword]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
# Open $dir$\icu-sword\source\allinone\allinone.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Compiling bzip2 ===&lt;br /&gt;
# Download the latest release of [http://www.bzip.org/downloads.html bzip2]. At writing, the latest version is 1.6.0: [http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz]&lt;br /&gt;
# Extract the archive to $dir$ and rename the directory bzip2&lt;br /&gt;
# Open $dir$\bzip2\libbz2.dsp and allow Visual Studo to update the project&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Downloading liblzma ===&lt;br /&gt;
# Download the latest release of xz prebuilt for Windows from [http://tukaani.org/xz/ tukaani.org]. At writing, the latest version is 5.0.5: [http://tukaani.org/xz/xz-5.0.5-windows.zip]&lt;br /&gt;
# Extract the archive to $dir$/xz&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Microsoft Visual Studios | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/xz/bin_i486&lt;br /&gt;
# Execute: lib /def:../doc/liblzma.def /out:liblzma.lib /machine:x86&lt;br /&gt;
&lt;br /&gt;
=== Compiling libsword ===&lt;br /&gt;
# Download the latest release of [http://www.crosswire.org/ftpmirror/pub/sword/source/sword.tar.gz The SWORD Project]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
#:If you are building utilities or diatheke, the following steps are not necessary:&lt;br /&gt;
# Open $dir$\sword-$version$\lib\vcppmake\vc8\libsword.vcproj&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Compiling utilities ===&lt;br /&gt;
# Open $dir$\sword-$version$\utilities\vcppmake\utilities.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
== Cross Compiling Sword for MS Windows on Suse Linux with MingW == &lt;br /&gt;
&lt;br /&gt;
===Suse with MingW===&lt;br /&gt;
&lt;br /&gt;
Installation of all necessary dependencies of Sword, but for CLucene - libcurl, ICU, libgnurx etc - &lt;br /&gt;
&lt;br /&gt;
===Compilation of Clucene===&lt;br /&gt;
&lt;br /&gt;
clucene 0.9.21b source&lt;br /&gt;
&lt;br /&gt;
The scripts for compiling sword and clucene in xiphos/win32/suse are meant to be used from  ~/source/ with the clucene and sword directories directly under that. I would suggest reading the scripts. They aren't complicated, and I'm sure that I made assumptions about my environment (which is basically the *sole* reason for the warning that they aren't ready, I never meant they couldn't be used). You can go ahead and try to use them to cross-compile clucene. It will probably fail. If at that point, you send me config.log, that will help me remember what to do to fix it.&lt;br /&gt;
&lt;br /&gt;
--------------------------------&lt;br /&gt;
&lt;br /&gt;
edit m4/dps_static_const_type.m4, the last AC_DEFINE line. Change from:&lt;br /&gt;
&lt;br /&gt;
 AC_MSG_ERROR([Cannot figure out how to write static consts in classes. Check the m4 script or upgrade your compiler])&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 AC_DEFINE([LUCENE_STATIC_CONSTANT_SYNTAX], 1, [How to define a static const in a class])&lt;br /&gt;
&lt;br /&gt;
eg, the same as the first AC_DEFINE. I have no idea if it's correct, actually, but it seems to work ;)&lt;br /&gt;
&lt;br /&gt;
Next, edit src/Makefile.am, line 6. Add &amp;lt;tt&amp;gt;-no-undefined&amp;lt;/tt&amp;gt; at the end, like so:&lt;br /&gt;
&lt;br /&gt;
 libclucene_la_LDFLAGS  = --version-info $(CLLIB_VERSION) --release&lt;br /&gt;
 $(PACKAGE_VERSION) -no-undefined&lt;br /&gt;
&lt;br /&gt;
------------------------&lt;br /&gt;
src/CLucene/store/FSDirectory.cpp&lt;br /&gt;
&lt;br /&gt;
At the top of that file, after the #include directives, I just added this:&lt;br /&gt;
&lt;br /&gt;
 #define _mkdir mkdir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After changing these, you'll have to run autogen.sh and then re-configure using my script. It *should* build after this, at which point run sudo make install. Check to be sure it created a dll rather than just a static library (which will end in .la). It should be located in /usr/i686-w64-mingw32/sys-root/mingw/bin&lt;br /&gt;
&lt;br /&gt;
After this Clucene compiles without errors and creates a working dll.&lt;br /&gt;
&lt;br /&gt;
===Compilation of Sword===&lt;br /&gt;
&lt;br /&gt;
Application of 2 patches:&lt;br /&gt;
&lt;br /&gt;
patch1 patch2&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13252</id>
		<title>Tutorial:Compiling &amp; Installing SWORD on Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13252"/>
				<updated>2014-03-04T15:32:54Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* Downloading liblzma */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''For compiling on Linux, see [[Tutorial:Compiling &amp;amp; Installing SWORD]]''.&lt;br /&gt;
&lt;br /&gt;
== Compiling The SWORD Project using [http://en.wikipedia.org/wiki/Microsoft_Visual_Studio MS Visual Studio] 2008+ ==&lt;br /&gt;
&lt;br /&gt;
# Create a build directory, hereafter referred to as $dir$. Much of the Sword build process expects that various downloads be unpacked to the same directory.&lt;br /&gt;
&lt;br /&gt;
=== Compiling cURL ===&lt;br /&gt;
# Download the latest release of [http://curl.haxx.se/latest.cgi?curl=zip cURL]&lt;br /&gt;
# Extract the ZIP to $dir$&lt;br /&gt;
# Rename the cURL directory to &amp;quot;curl&amp;quot; (with no version number)&lt;br /&gt;
# Follow the directions in winbuild/BUILD.WINDOWS.txt&lt;br /&gt;
&lt;br /&gt;
=== Compiling icu-sword ===&lt;br /&gt;
&lt;br /&gt;
# Download the latest release of [http://crosswire.org/ftpmirror/pub/sword/source/icu-sword/ icu-sword]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
# Open $dir$\icu-sword\source\allinone\allinone.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Compiling bzip2 ===&lt;br /&gt;
&lt;br /&gt;
# Download the latest release of [http://www.bzip.org/downloads.html bzip2]. At writing, the latest version is 1.6.0: [http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz]&lt;br /&gt;
# Extract the archive to $dir$ and rename the directory bzip2&lt;br /&gt;
# Open $dir$\bzip2\libbz2.dsp and allow Visual Studo to update the project&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Downloading liblzma ===&lt;br /&gt;
&lt;br /&gt;
# Download the latest release of xz prebuilt for Windows from [http://tukaani.org/xz/ tukaani.org]. At writing, the latest version is 5.0.5: [http://tukaani.org/xz/xz-5.0.5-windows.zip]&lt;br /&gt;
# Extract the archive to $dir$/xz&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Microsoft Visual Studios | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/xz/bin_i486&lt;br /&gt;
# Execute: lib /def:../doc/liblzma.def /out:liblzma.lib /machine:x86&lt;br /&gt;
&lt;br /&gt;
=== Compiling libsword ===&lt;br /&gt;
# Download the latest release of [http://www.crosswire.org/ftpmirror/pub/sword/source/sword.tar.gz The SWORD Project]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
#:If you are building utilities or diatheke, the following steps are not necessary:&lt;br /&gt;
# Open $dir$\sword-$version$\lib\vcppmake\vc8\libsword.vcproj&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Compiling utilities ===&lt;br /&gt;
&lt;br /&gt;
# Open $dir$\sword-$version$\utilities\vcppmake\utilities.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
== Cross Compiling Sword for MS Windows on Suse Linux with MingW == &lt;br /&gt;
&lt;br /&gt;
===Suse with MingW===&lt;br /&gt;
&lt;br /&gt;
Installation of all necessary dependencies of Sword, but for CLucene - libcurl, ICU, libgnurx etc - &lt;br /&gt;
&lt;br /&gt;
===Compilation of Clucene===&lt;br /&gt;
&lt;br /&gt;
clucene 0.9.21b source&lt;br /&gt;
&lt;br /&gt;
The scripts for compiling sword and clucene in xiphos/win32/suse are meant to be used from  ~/source/ with the clucene and sword directories directly under that. I would suggest reading the scripts. They aren't complicated, and I'm sure that I made assumptions about my environment (which is basically the *sole* reason for the warning that they aren't ready, I never meant they couldn't be used). You can go ahead and try to use them to cross-compile clucene. It will probably fail. If at that point, you send me config.log, that will help me remember what to do to fix it.&lt;br /&gt;
&lt;br /&gt;
--------------------------------&lt;br /&gt;
&lt;br /&gt;
edit m4/dps_static_const_type.m4, the last AC_DEFINE line. Change from:&lt;br /&gt;
&lt;br /&gt;
 AC_MSG_ERROR([Cannot figure out how to write static consts in classes. Check the m4 script or upgrade your compiler])&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 AC_DEFINE([LUCENE_STATIC_CONSTANT_SYNTAX], 1, [How to define a static const in a class])&lt;br /&gt;
&lt;br /&gt;
eg, the same as the first AC_DEFINE. I have no idea if it's correct, actually, but it seems to work ;)&lt;br /&gt;
&lt;br /&gt;
Next, edit src/Makefile.am, line 6. Add &amp;lt;tt&amp;gt;-no-undefined&amp;lt;/tt&amp;gt; at the end, like so:&lt;br /&gt;
&lt;br /&gt;
 libclucene_la_LDFLAGS  = --version-info $(CLLIB_VERSION) --release&lt;br /&gt;
 $(PACKAGE_VERSION) -no-undefined&lt;br /&gt;
&lt;br /&gt;
------------------------&lt;br /&gt;
src/CLucene/store/FSDirectory.cpp&lt;br /&gt;
&lt;br /&gt;
At the top of that file, after the #include directives, I just added this:&lt;br /&gt;
&lt;br /&gt;
 #define _mkdir mkdir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After changing these, you'll have to run autogen.sh and then re-configure using my script. It *should* build after this, at which point run sudo make install. Check to be sure it created a dll rather than just a static library (which will end in .la). It should be located in /usr/i686-w64-mingw32/sys-root/mingw/bin&lt;br /&gt;
&lt;br /&gt;
After this Clucene compiles without errors and creates a working dll.&lt;br /&gt;
&lt;br /&gt;
===Compilation of Sword===&lt;br /&gt;
&lt;br /&gt;
Application of 2 patches:&lt;br /&gt;
&lt;br /&gt;
patch1 patch2&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13251</id>
		<title>Tutorial:Compiling &amp; Installing SWORD on Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13251"/>
				<updated>2014-03-04T14:34:01Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* Downloading liblzma */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''For compiling on Linux, see [[Tutorial:Compiling &amp;amp; Installing SWORD]]''.&lt;br /&gt;
&lt;br /&gt;
== Compiling The SWORD Project using [http://en.wikipedia.org/wiki/Microsoft_Visual_Studio MS Visual Studio] 2008+ ==&lt;br /&gt;
&lt;br /&gt;
# Create a build directory, hereafter referred to as $dir$. Much of the Sword build process expects that various downloads be unpacked to the same directory.&lt;br /&gt;
&lt;br /&gt;
=== Compiling cURL ===&lt;br /&gt;
# Download the latest release of [http://curl.haxx.se/latest.cgi?curl=zip cURL]&lt;br /&gt;
# Extract the ZIP to $dir$&lt;br /&gt;
# Rename the cURL directory to &amp;quot;curl&amp;quot; (with no version number)&lt;br /&gt;
# Follow the directions in winbuild/BUILD.WINDOWS.txt&lt;br /&gt;
&lt;br /&gt;
=== Compiling icu-sword ===&lt;br /&gt;
&lt;br /&gt;
# Download the latest release of [http://crosswire.org/ftpmirror/pub/sword/source/icu-sword/ icu-sword]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
# Open $dir$\icu-sword\source\allinone\allinone.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Compiling bzip2 ===&lt;br /&gt;
&lt;br /&gt;
# Download the latest release of [http://www.bzip.org/downloads.html bzip2]. At writing, the latest version is 1.6.0: [http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz]&lt;br /&gt;
# Extract the archive to $dir$ and rename the directory bzip2&lt;br /&gt;
# Open $dir$\bzip2\libbz2.dsp and allow Visual Studo to update the project&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Downloading liblzma ===&lt;br /&gt;
&lt;br /&gt;
# Download the latest release of xz prebuilt for Windows from [http://tukaani.org/xz/ tukaani.org]. At writing, the latest version is 5.0.5: [http://tukaani.org/xz/xz-5.0.5-windows.zip]&lt;br /&gt;
# Extract the archive to $dir$/xz&lt;br /&gt;
&lt;br /&gt;
=== Compiling libsword ===&lt;br /&gt;
# Download the latest release of [http://www.crosswire.org/ftpmirror/pub/sword/source/sword.tar.gz The SWORD Project]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
#:If you are building utilities or diatheke, the following steps are not necessary:&lt;br /&gt;
# Open $dir$\sword-$version$\lib\vcppmake\vc8\libsword.vcproj&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Compiling utilities ===&lt;br /&gt;
&lt;br /&gt;
# Open $dir$\sword-$version$\utilities\vcppmake\utilities.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
== Cross Compiling Sword for MS Windows on Suse Linux with MingW == &lt;br /&gt;
&lt;br /&gt;
===Suse with MingW===&lt;br /&gt;
&lt;br /&gt;
Installation of all necessary dependencies of Sword, but for CLucene - libcurl, ICU, libgnurx etc - &lt;br /&gt;
&lt;br /&gt;
===Compilation of Clucene===&lt;br /&gt;
&lt;br /&gt;
clucene 0.9.21b source&lt;br /&gt;
&lt;br /&gt;
The scripts for compiling sword and clucene in xiphos/win32/suse are meant to be used from  ~/source/ with the clucene and sword directories directly under that. I would suggest reading the scripts. They aren't complicated, and I'm sure that I made assumptions about my environment (which is basically the *sole* reason for the warning that they aren't ready, I never meant they couldn't be used). You can go ahead and try to use them to cross-compile clucene. It will probably fail. If at that point, you send me config.log, that will help me remember what to do to fix it.&lt;br /&gt;
&lt;br /&gt;
--------------------------------&lt;br /&gt;
&lt;br /&gt;
edit m4/dps_static_const_type.m4, the last AC_DEFINE line. Change from:&lt;br /&gt;
&lt;br /&gt;
 AC_MSG_ERROR([Cannot figure out how to write static consts in classes. Check the m4 script or upgrade your compiler])&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 AC_DEFINE([LUCENE_STATIC_CONSTANT_SYNTAX], 1, [How to define a static const in a class])&lt;br /&gt;
&lt;br /&gt;
eg, the same as the first AC_DEFINE. I have no idea if it's correct, actually, but it seems to work ;)&lt;br /&gt;
&lt;br /&gt;
Next, edit src/Makefile.am, line 6. Add &amp;lt;tt&amp;gt;-no-undefined&amp;lt;/tt&amp;gt; at the end, like so:&lt;br /&gt;
&lt;br /&gt;
 libclucene_la_LDFLAGS  = --version-info $(CLLIB_VERSION) --release&lt;br /&gt;
 $(PACKAGE_VERSION) -no-undefined&lt;br /&gt;
&lt;br /&gt;
------------------------&lt;br /&gt;
src/CLucene/store/FSDirectory.cpp&lt;br /&gt;
&lt;br /&gt;
At the top of that file, after the #include directives, I just added this:&lt;br /&gt;
&lt;br /&gt;
 #define _mkdir mkdir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After changing these, you'll have to run autogen.sh and then re-configure using my script. It *should* build after this, at which point run sudo make install. Check to be sure it created a dll rather than just a static library (which will end in .la). It should be located in /usr/i686-w64-mingw32/sys-root/mingw/bin&lt;br /&gt;
&lt;br /&gt;
After this Clucene compiles without errors and creates a working dll.&lt;br /&gt;
&lt;br /&gt;
===Compilation of Sword===&lt;br /&gt;
&lt;br /&gt;
Application of 2 patches:&lt;br /&gt;
&lt;br /&gt;
patch1 patch2&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13250</id>
		<title>Tutorial:Compiling &amp; Installing SWORD on Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13250"/>
				<updated>2014-03-04T14:33:37Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* Compiling The SWORD Project using MS Visual Studio 2008+ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''For compiling on Linux, see [[Tutorial:Compiling &amp;amp; Installing SWORD]]''.&lt;br /&gt;
&lt;br /&gt;
== Compiling The SWORD Project using [http://en.wikipedia.org/wiki/Microsoft_Visual_Studio MS Visual Studio] 2008+ ==&lt;br /&gt;
&lt;br /&gt;
# Create a build directory, hereafter referred to as $dir$. Much of the Sword build process expects that various downloads be unpacked to the same directory.&lt;br /&gt;
&lt;br /&gt;
=== Compiling cURL ===&lt;br /&gt;
# Download the latest release of [http://curl.haxx.se/latest.cgi?curl=zip cURL]&lt;br /&gt;
# Extract the ZIP to $dir$&lt;br /&gt;
# Rename the cURL directory to &amp;quot;curl&amp;quot; (with no version number)&lt;br /&gt;
# Follow the directions in winbuild/BUILD.WINDOWS.txt&lt;br /&gt;
&lt;br /&gt;
=== Compiling icu-sword ===&lt;br /&gt;
&lt;br /&gt;
# Download the latest release of [http://crosswire.org/ftpmirror/pub/sword/source/icu-sword/ icu-sword]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
# Open $dir$\icu-sword\source\allinone\allinone.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Compiling bzip2 ===&lt;br /&gt;
&lt;br /&gt;
# Download the latest release of [http://www.bzip.org/downloads.html bzip2]. At writing, the latest version is 1.6.0: [http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz]&lt;br /&gt;
# Extract the archive to $dir$ and rename the directory bzip2&lt;br /&gt;
# Open $dir$\bzip2\libbz2.dsp and allow Visual Studo to update the project&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Downloading liblzma ===&lt;br /&gt;
&lt;br /&gt;
# Download the latest release of xz prebuilt for Windows from [http://tukaani.org/xz/]. At writing, the latest version is 5.0.5: [http://tukaani.org/xz/xz-5.0.5-windows.zip]&lt;br /&gt;
# Extract the archive to $dir$/xz&lt;br /&gt;
&lt;br /&gt;
=== Compiling libsword ===&lt;br /&gt;
# Download the latest release of [http://www.crosswire.org/ftpmirror/pub/sword/source/sword.tar.gz The SWORD Project]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
#:If you are building utilities or diatheke, the following steps are not necessary:&lt;br /&gt;
# Open $dir$\sword-$version$\lib\vcppmake\vc8\libsword.vcproj&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Compiling utilities ===&lt;br /&gt;
&lt;br /&gt;
# Open $dir$\sword-$version$\utilities\vcppmake\utilities.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
== Cross Compiling Sword for MS Windows on Suse Linux with MingW == &lt;br /&gt;
&lt;br /&gt;
===Suse with MingW===&lt;br /&gt;
&lt;br /&gt;
Installation of all necessary dependencies of Sword, but for CLucene - libcurl, ICU, libgnurx etc - &lt;br /&gt;
&lt;br /&gt;
===Compilation of Clucene===&lt;br /&gt;
&lt;br /&gt;
clucene 0.9.21b source&lt;br /&gt;
&lt;br /&gt;
The scripts for compiling sword and clucene in xiphos/win32/suse are meant to be used from  ~/source/ with the clucene and sword directories directly under that. I would suggest reading the scripts. They aren't complicated, and I'm sure that I made assumptions about my environment (which is basically the *sole* reason for the warning that they aren't ready, I never meant they couldn't be used). You can go ahead and try to use them to cross-compile clucene. It will probably fail. If at that point, you send me config.log, that will help me remember what to do to fix it.&lt;br /&gt;
&lt;br /&gt;
--------------------------------&lt;br /&gt;
&lt;br /&gt;
edit m4/dps_static_const_type.m4, the last AC_DEFINE line. Change from:&lt;br /&gt;
&lt;br /&gt;
 AC_MSG_ERROR([Cannot figure out how to write static consts in classes. Check the m4 script or upgrade your compiler])&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 AC_DEFINE([LUCENE_STATIC_CONSTANT_SYNTAX], 1, [How to define a static const in a class])&lt;br /&gt;
&lt;br /&gt;
eg, the same as the first AC_DEFINE. I have no idea if it's correct, actually, but it seems to work ;)&lt;br /&gt;
&lt;br /&gt;
Next, edit src/Makefile.am, line 6. Add &amp;lt;tt&amp;gt;-no-undefined&amp;lt;/tt&amp;gt; at the end, like so:&lt;br /&gt;
&lt;br /&gt;
 libclucene_la_LDFLAGS  = --version-info $(CLLIB_VERSION) --release&lt;br /&gt;
 $(PACKAGE_VERSION) -no-undefined&lt;br /&gt;
&lt;br /&gt;
------------------------&lt;br /&gt;
src/CLucene/store/FSDirectory.cpp&lt;br /&gt;
&lt;br /&gt;
At the top of that file, after the #include directives, I just added this:&lt;br /&gt;
&lt;br /&gt;
 #define _mkdir mkdir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After changing these, you'll have to run autogen.sh and then re-configure using my script. It *should* build after this, at which point run sudo make install. Check to be sure it created a dll rather than just a static library (which will end in .la). It should be located in /usr/i686-w64-mingw32/sys-root/mingw/bin&lt;br /&gt;
&lt;br /&gt;
After this Clucene compiles without errors and creates a working dll.&lt;br /&gt;
&lt;br /&gt;
===Compilation of Sword===&lt;br /&gt;
&lt;br /&gt;
Application of 2 patches:&lt;br /&gt;
&lt;br /&gt;
patch1 patch2&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13249</id>
		<title>Tutorial:Compiling &amp; Installing SWORD on Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13249"/>
				<updated>2014-03-04T13:34:55Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* Compiling libsword */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''For compiling on Linux, see [[Tutorial:Compiling &amp;amp; Installing SWORD]]''.&lt;br /&gt;
&lt;br /&gt;
== Compiling The SWORD Project using [http://en.wikipedia.org/wiki/Microsoft_Visual_Studio MS Visual Studio] 2008+ ==&lt;br /&gt;
&lt;br /&gt;
# Create a build directory, hereafter referred to as $dir$. Much of the Sword build process expects that various downloads be unpacked to the same directory.&lt;br /&gt;
&lt;br /&gt;
=== Compiling cURL ===&lt;br /&gt;
# Download the latest release of [http://curl.haxx.se/latest.cgi?curl=zip cURL]&lt;br /&gt;
# Extract the ZIP to $dir$&lt;br /&gt;
# Rename the cURL directory to &amp;quot;curl&amp;quot; (with no version number)&lt;br /&gt;
# Follow the directions in winbuild/BUILD.WINDOWS.txt&lt;br /&gt;
&lt;br /&gt;
=== Compiling icu-sword ===&lt;br /&gt;
&lt;br /&gt;
# Download the latest release of [http://crosswire.org/ftpmirror/pub/sword/source/icu-sword/ icu-sword]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
# Open $dir$\icu-sword\source\allinone\allinone.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Compiling bzip2 ===&lt;br /&gt;
&lt;br /&gt;
=== Downloading liblzma ===&lt;br /&gt;
&lt;br /&gt;
# Download the latest release of xz prebuilt for Windows from [http://tukaani.org/xz/]. At writing, the latest version is 5.0.5: [http://tukaani.org/xz/xz-5.0.5-windows.zip]&lt;br /&gt;
# Extract the archive to $dir$/xz&lt;br /&gt;
&lt;br /&gt;
=== Compiling libsword ===&lt;br /&gt;
# Download the latest release of [http://www.crosswire.org/ftpmirror/pub/sword/source/sword.tar.gz The SWORD Project]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
#:If you are building utilities or diatheke, the following steps are not necessary:&lt;br /&gt;
# Open $dir$\sword-$version$\lib\vcppmake\vc8\libsword.vcproj&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Compiling utilities ===&lt;br /&gt;
&lt;br /&gt;
# Open $dir$\sword-$version$\utilities\vcppmake\utilities.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
== Cross Compiling Sword for MS Windows on Suse Linux with MingW == &lt;br /&gt;
&lt;br /&gt;
===Suse with MingW===&lt;br /&gt;
&lt;br /&gt;
Installation of all necessary dependencies of Sword, but for CLucene - libcurl, ICU, libgnurx etc - &lt;br /&gt;
&lt;br /&gt;
===Compilation of Clucene===&lt;br /&gt;
&lt;br /&gt;
clucene 0.9.21b source&lt;br /&gt;
&lt;br /&gt;
The scripts for compiling sword and clucene in xiphos/win32/suse are meant to be used from  ~/source/ with the clucene and sword directories directly under that. I would suggest reading the scripts. They aren't complicated, and I'm sure that I made assumptions about my environment (which is basically the *sole* reason for the warning that they aren't ready, I never meant they couldn't be used). You can go ahead and try to use them to cross-compile clucene. It will probably fail. If at that point, you send me config.log, that will help me remember what to do to fix it.&lt;br /&gt;
&lt;br /&gt;
--------------------------------&lt;br /&gt;
&lt;br /&gt;
edit m4/dps_static_const_type.m4, the last AC_DEFINE line. Change from:&lt;br /&gt;
&lt;br /&gt;
 AC_MSG_ERROR([Cannot figure out how to write static consts in classes. Check the m4 script or upgrade your compiler])&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 AC_DEFINE([LUCENE_STATIC_CONSTANT_SYNTAX], 1, [How to define a static const in a class])&lt;br /&gt;
&lt;br /&gt;
eg, the same as the first AC_DEFINE. I have no idea if it's correct, actually, but it seems to work ;)&lt;br /&gt;
&lt;br /&gt;
Next, edit src/Makefile.am, line 6. Add &amp;lt;tt&amp;gt;-no-undefined&amp;lt;/tt&amp;gt; at the end, like so:&lt;br /&gt;
&lt;br /&gt;
 libclucene_la_LDFLAGS  = --version-info $(CLLIB_VERSION) --release&lt;br /&gt;
 $(PACKAGE_VERSION) -no-undefined&lt;br /&gt;
&lt;br /&gt;
------------------------&lt;br /&gt;
src/CLucene/store/FSDirectory.cpp&lt;br /&gt;
&lt;br /&gt;
At the top of that file, after the #include directives, I just added this:&lt;br /&gt;
&lt;br /&gt;
 #define _mkdir mkdir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After changing these, you'll have to run autogen.sh and then re-configure using my script. It *should* build after this, at which point run sudo make install. Check to be sure it created a dll rather than just a static library (which will end in .la). It should be located in /usr/i686-w64-mingw32/sys-root/mingw/bin&lt;br /&gt;
&lt;br /&gt;
After this Clucene compiles without errors and creates a working dll.&lt;br /&gt;
&lt;br /&gt;
===Compilation of Sword===&lt;br /&gt;
&lt;br /&gt;
Application of 2 patches:&lt;br /&gt;
&lt;br /&gt;
patch1 patch2&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13248</id>
		<title>Tutorial:Compiling &amp; Installing SWORD on Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13248"/>
				<updated>2014-03-04T13:34:10Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* Compiling libsword */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''For compiling on Linux, see [[Tutorial:Compiling &amp;amp; Installing SWORD]]''.&lt;br /&gt;
&lt;br /&gt;
== Compiling The SWORD Project using [http://en.wikipedia.org/wiki/Microsoft_Visual_Studio MS Visual Studio] 2008+ ==&lt;br /&gt;
&lt;br /&gt;
# Create a build directory, hereafter referred to as $dir$. Much of the Sword build process expects that various downloads be unpacked to the same directory.&lt;br /&gt;
&lt;br /&gt;
=== Compiling cURL ===&lt;br /&gt;
# Download the latest release of [http://curl.haxx.se/latest.cgi?curl=zip cURL]&lt;br /&gt;
# Extract the ZIP to $dir$&lt;br /&gt;
# Rename the cURL directory to &amp;quot;curl&amp;quot; (with no version number)&lt;br /&gt;
# Follow the directions in winbuild/BUILD.WINDOWS.txt&lt;br /&gt;
&lt;br /&gt;
=== Compiling icu-sword ===&lt;br /&gt;
&lt;br /&gt;
# Download the latest release of [http://crosswire.org/ftpmirror/pub/sword/source/icu-sword/ icu-sword]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
# Open $dir$\icu-sword\source\allinone\allinone.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Compiling bzip2 ===&lt;br /&gt;
&lt;br /&gt;
=== Downloading liblzma ===&lt;br /&gt;
&lt;br /&gt;
# Download the latest release of xz prebuilt for Windows from [http://tukaani.org/xz/]. At writing, the latest version is 5.0.5: [http://tukaani.org/xz/xz-5.0.5-windows.zip]&lt;br /&gt;
# Extract the archive to $dir$/xz&lt;br /&gt;
&lt;br /&gt;
=== Compiling libsword ===&lt;br /&gt;
# Download the latest release of [http://www.crosswire.org/ftpmirror/pub/sword/source/ The SWORD Project]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
#:If you are building utilities or diatheke, the following steps are not necessary:&lt;br /&gt;
# Open $dir$\sword-$version$\lib\vcppmake\vc8\libsword.vcproj&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Compiling utilities ===&lt;br /&gt;
&lt;br /&gt;
# Open $dir$\sword-$version$\utilities\vcppmake\utilities.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
== Cross Compiling Sword for MS Windows on Suse Linux with MingW == &lt;br /&gt;
&lt;br /&gt;
===Suse with MingW===&lt;br /&gt;
&lt;br /&gt;
Installation of all necessary dependencies of Sword, but for CLucene - libcurl, ICU, libgnurx etc - &lt;br /&gt;
&lt;br /&gt;
===Compilation of Clucene===&lt;br /&gt;
&lt;br /&gt;
clucene 0.9.21b source&lt;br /&gt;
&lt;br /&gt;
The scripts for compiling sword and clucene in xiphos/win32/suse are meant to be used from  ~/source/ with the clucene and sword directories directly under that. I would suggest reading the scripts. They aren't complicated, and I'm sure that I made assumptions about my environment (which is basically the *sole* reason for the warning that they aren't ready, I never meant they couldn't be used). You can go ahead and try to use them to cross-compile clucene. It will probably fail. If at that point, you send me config.log, that will help me remember what to do to fix it.&lt;br /&gt;
&lt;br /&gt;
--------------------------------&lt;br /&gt;
&lt;br /&gt;
edit m4/dps_static_const_type.m4, the last AC_DEFINE line. Change from:&lt;br /&gt;
&lt;br /&gt;
 AC_MSG_ERROR([Cannot figure out how to write static consts in classes. Check the m4 script or upgrade your compiler])&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 AC_DEFINE([LUCENE_STATIC_CONSTANT_SYNTAX], 1, [How to define a static const in a class])&lt;br /&gt;
&lt;br /&gt;
eg, the same as the first AC_DEFINE. I have no idea if it's correct, actually, but it seems to work ;)&lt;br /&gt;
&lt;br /&gt;
Next, edit src/Makefile.am, line 6. Add &amp;lt;tt&amp;gt;-no-undefined&amp;lt;/tt&amp;gt; at the end, like so:&lt;br /&gt;
&lt;br /&gt;
 libclucene_la_LDFLAGS  = --version-info $(CLLIB_VERSION) --release&lt;br /&gt;
 $(PACKAGE_VERSION) -no-undefined&lt;br /&gt;
&lt;br /&gt;
------------------------&lt;br /&gt;
src/CLucene/store/FSDirectory.cpp&lt;br /&gt;
&lt;br /&gt;
At the top of that file, after the #include directives, I just added this:&lt;br /&gt;
&lt;br /&gt;
 #define _mkdir mkdir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After changing these, you'll have to run autogen.sh and then re-configure using my script. It *should* build after this, at which point run sudo make install. Check to be sure it created a dll rather than just a static library (which will end in .la). It should be located in /usr/i686-w64-mingw32/sys-root/mingw/bin&lt;br /&gt;
&lt;br /&gt;
After this Clucene compiles without errors and creates a working dll.&lt;br /&gt;
&lt;br /&gt;
===Compilation of Sword===&lt;br /&gt;
&lt;br /&gt;
Application of 2 patches:&lt;br /&gt;
&lt;br /&gt;
patch1 patch2&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13247</id>
		<title>Tutorial:Compiling &amp; Installing SWORD on Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13247"/>
				<updated>2014-03-04T13:33:55Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* Compiling The SWORD Project using MS Visual Studio 2008+ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''For compiling on Linux, see [[Tutorial:Compiling &amp;amp; Installing SWORD]]''.&lt;br /&gt;
&lt;br /&gt;
== Compiling The SWORD Project using [http://en.wikipedia.org/wiki/Microsoft_Visual_Studio MS Visual Studio] 2008+ ==&lt;br /&gt;
&lt;br /&gt;
# Create a build directory, hereafter referred to as $dir$. Much of the Sword build process expects that various downloads be unpacked to the same directory.&lt;br /&gt;
&lt;br /&gt;
=== Compiling cURL ===&lt;br /&gt;
# Download the latest release of [http://curl.haxx.se/latest.cgi?curl=zip cURL]&lt;br /&gt;
# Extract the ZIP to $dir$&lt;br /&gt;
# Rename the cURL directory to &amp;quot;curl&amp;quot; (with no version number)&lt;br /&gt;
# Follow the directions in winbuild/BUILD.WINDOWS.txt&lt;br /&gt;
&lt;br /&gt;
=== Compiling icu-sword ===&lt;br /&gt;
&lt;br /&gt;
# Download the latest release of [http://crosswire.org/ftpmirror/pub/sword/source/icu-sword/ icu-sword]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
# Open $dir$\icu-sword\source\allinone\allinone.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Compiling bzip2 ===&lt;br /&gt;
&lt;br /&gt;
=== Downloading liblzma ===&lt;br /&gt;
&lt;br /&gt;
# Download the latest release of xz prebuilt for Windows from [http://tukaani.org/xz/]. At writing, the latest version is 5.0.5: [http://tukaani.org/xz/xz-5.0.5-windows.zip]&lt;br /&gt;
# Extract the archive to $dir$/xz&lt;br /&gt;
&lt;br /&gt;
=== Compiling libsword ===&lt;br /&gt;
# Download the latest release of [http://www.crosswire.org/ftpmirror/pub/sword/source/v1.6/ The SWORD Project]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
#:If you are building utilities or diatheke, the following steps are not necessary:&lt;br /&gt;
# Open $dir$\sword-$version$\lib\vcppmake\vc8\libsword.vcproj&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Compiling utilities ===&lt;br /&gt;
&lt;br /&gt;
# Open $dir$\sword-$version$\utilities\vcppmake\utilities.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
== Cross Compiling Sword for MS Windows on Suse Linux with MingW == &lt;br /&gt;
&lt;br /&gt;
===Suse with MingW===&lt;br /&gt;
&lt;br /&gt;
Installation of all necessary dependencies of Sword, but for CLucene - libcurl, ICU, libgnurx etc - &lt;br /&gt;
&lt;br /&gt;
===Compilation of Clucene===&lt;br /&gt;
&lt;br /&gt;
clucene 0.9.21b source&lt;br /&gt;
&lt;br /&gt;
The scripts for compiling sword and clucene in xiphos/win32/suse are meant to be used from  ~/source/ with the clucene and sword directories directly under that. I would suggest reading the scripts. They aren't complicated, and I'm sure that I made assumptions about my environment (which is basically the *sole* reason for the warning that they aren't ready, I never meant they couldn't be used). You can go ahead and try to use them to cross-compile clucene. It will probably fail. If at that point, you send me config.log, that will help me remember what to do to fix it.&lt;br /&gt;
&lt;br /&gt;
--------------------------------&lt;br /&gt;
&lt;br /&gt;
edit m4/dps_static_const_type.m4, the last AC_DEFINE line. Change from:&lt;br /&gt;
&lt;br /&gt;
 AC_MSG_ERROR([Cannot figure out how to write static consts in classes. Check the m4 script or upgrade your compiler])&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 AC_DEFINE([LUCENE_STATIC_CONSTANT_SYNTAX], 1, [How to define a static const in a class])&lt;br /&gt;
&lt;br /&gt;
eg, the same as the first AC_DEFINE. I have no idea if it's correct, actually, but it seems to work ;)&lt;br /&gt;
&lt;br /&gt;
Next, edit src/Makefile.am, line 6. Add &amp;lt;tt&amp;gt;-no-undefined&amp;lt;/tt&amp;gt; at the end, like so:&lt;br /&gt;
&lt;br /&gt;
 libclucene_la_LDFLAGS  = --version-info $(CLLIB_VERSION) --release&lt;br /&gt;
 $(PACKAGE_VERSION) -no-undefined&lt;br /&gt;
&lt;br /&gt;
------------------------&lt;br /&gt;
src/CLucene/store/FSDirectory.cpp&lt;br /&gt;
&lt;br /&gt;
At the top of that file, after the #include directives, I just added this:&lt;br /&gt;
&lt;br /&gt;
 #define _mkdir mkdir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After changing these, you'll have to run autogen.sh and then re-configure using my script. It *should* build after this, at which point run sudo make install. Check to be sure it created a dll rather than just a static library (which will end in .la). It should be located in /usr/i686-w64-mingw32/sys-root/mingw/bin&lt;br /&gt;
&lt;br /&gt;
After this Clucene compiles without errors and creates a working dll.&lt;br /&gt;
&lt;br /&gt;
===Compilation of Sword===&lt;br /&gt;
&lt;br /&gt;
Application of 2 patches:&lt;br /&gt;
&lt;br /&gt;
patch1 patch2&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13246</id>
		<title>Tutorial:Compiling &amp; Installing SWORD on Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13246"/>
				<updated>2014-03-04T13:26:19Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* Compiling The SWORD Project using MS Visual Studio 2008 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''For compiling on Linux, see [[Tutorial:Compiling &amp;amp; Installing SWORD]]''.&lt;br /&gt;
&lt;br /&gt;
== Compiling The SWORD Project using [http://en.wikipedia.org/wiki/Microsoft_Visual_Studio MS Visual Studio] 2008+ ==&lt;br /&gt;
&lt;br /&gt;
# Create a build directory, hereafter referred to as $dir$. Much of the Sword build process expects that various downloads be unpacked to the same directory.&lt;br /&gt;
&lt;br /&gt;
=== Compiling cURL ===&lt;br /&gt;
# Download the latest release of [http://curl.haxx.se/latest.cgi?curl=zip cURL]&lt;br /&gt;
# Extract the ZIP to $dir$&lt;br /&gt;
# Rename the cURL directory to &amp;quot;curl&amp;quot; (with no version number)&lt;br /&gt;
# Follow the directions in winbuild/BUILD.WINDOWS.txt&lt;br /&gt;
&lt;br /&gt;
=== Compiling icu-sword ===&lt;br /&gt;
&lt;br /&gt;
# Download the latest release of [http://crosswire.org/ftpmirror/pub/sword/source/icu-sword/ icu-sword]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
# Open $dir$\icu-sword\source\allinone\allinone.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Compiling libsword ===&lt;br /&gt;
# Download the latest release of [http://www.crosswire.org/ftpmirror/pub/sword/source/v1.6/ The SWORD Project]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
#:If you are building utilities or diatheke, the following steps are not necessary:&lt;br /&gt;
# Open $dir$\sword-$version$\lib\vcppmake\vc8\libsword.vcproj&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
=== Compiling utilities ===&lt;br /&gt;
&lt;br /&gt;
# Open $dir$\sword-$version$\utilities\vcppmake\utilities.sln&lt;br /&gt;
# Build all (Click Build | Batch Build... | Select All | Build)&lt;br /&gt;
&lt;br /&gt;
== Cross Compiling Sword for MS Windows on Suse Linux with MingW == &lt;br /&gt;
&lt;br /&gt;
===Suse with MingW===&lt;br /&gt;
&lt;br /&gt;
Installation of all necessary dependencies of Sword, but for CLucene - libcurl, ICU, libgnurx etc - &lt;br /&gt;
&lt;br /&gt;
===Compilation of Clucene===&lt;br /&gt;
&lt;br /&gt;
clucene 0.9.21b source&lt;br /&gt;
&lt;br /&gt;
The scripts for compiling sword and clucene in xiphos/win32/suse are meant to be used from  ~/source/ with the clucene and sword directories directly under that. I would suggest reading the scripts. They aren't complicated, and I'm sure that I made assumptions about my environment (which is basically the *sole* reason for the warning that they aren't ready, I never meant they couldn't be used). You can go ahead and try to use them to cross-compile clucene. It will probably fail. If at that point, you send me config.log, that will help me remember what to do to fix it.&lt;br /&gt;
&lt;br /&gt;
--------------------------------&lt;br /&gt;
&lt;br /&gt;
edit m4/dps_static_const_type.m4, the last AC_DEFINE line. Change from:&lt;br /&gt;
&lt;br /&gt;
 AC_MSG_ERROR([Cannot figure out how to write static consts in classes. Check the m4 script or upgrade your compiler])&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 AC_DEFINE([LUCENE_STATIC_CONSTANT_SYNTAX], 1, [How to define a static const in a class])&lt;br /&gt;
&lt;br /&gt;
eg, the same as the first AC_DEFINE. I have no idea if it's correct, actually, but it seems to work ;)&lt;br /&gt;
&lt;br /&gt;
Next, edit src/Makefile.am, line 6. Add &amp;lt;tt&amp;gt;-no-undefined&amp;lt;/tt&amp;gt; at the end, like so:&lt;br /&gt;
&lt;br /&gt;
 libclucene_la_LDFLAGS  = --version-info $(CLLIB_VERSION) --release&lt;br /&gt;
 $(PACKAGE_VERSION) -no-undefined&lt;br /&gt;
&lt;br /&gt;
------------------------&lt;br /&gt;
src/CLucene/store/FSDirectory.cpp&lt;br /&gt;
&lt;br /&gt;
At the top of that file, after the #include directives, I just added this:&lt;br /&gt;
&lt;br /&gt;
 #define _mkdir mkdir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After changing these, you'll have to run autogen.sh and then re-configure using my script. It *should* build after this, at which point run sudo make install. Check to be sure it created a dll rather than just a static library (which will end in .la). It should be located in /usr/i686-w64-mingw32/sys-root/mingw/bin&lt;br /&gt;
&lt;br /&gt;
After this Clucene compiles without errors and creates a working dll.&lt;br /&gt;
&lt;br /&gt;
===Compilation of Sword===&lt;br /&gt;
&lt;br /&gt;
Application of 2 patches:&lt;br /&gt;
&lt;br /&gt;
patch1 patch2&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=OSIS_211_CR&amp;diff=13214</id>
		<title>OSIS 211 CR</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=OSIS_211_CR&amp;diff=13214"/>
				<updated>2014-02-23T08:04:24Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* Feature requests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is for recording potential change requests to the OSIS XML schema.&lt;br /&gt;
&lt;br /&gt;
== OSIS 2.1.1 Change Requests ==&lt;br /&gt;
Anyone with an outstanding OSIS bug report or feature proposal for consideration for inclusion into an updated OSIS schema, please write a very concise change request here in this page, including motivating use case.&lt;br /&gt;
&lt;br /&gt;
== Bugs ==&lt;br /&gt;
&lt;br /&gt;
=== osisGenRegex bug ===&lt;br /&gt;
Currently that regex looks like [1], but it should looks like [2]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[1]     ((((\p{L}|\p{N}|_)+)(\.(\p{L}|\p{N}|_))*:)?([^:\s])+)&lt;br /&gt;
[2]     ((((\p{L}|\p{N}|_)+)(\.(\p{L}|\p{N}|_)+)*:)?([^:\s])+)&lt;br /&gt;
                        (missing + right here ^)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So our document with the following element isn't valid because the &lt;br /&gt;
string &amp;quot;Strong&amp;quot; cannot be more than 1 character long in the current schema:&lt;br /&gt;
&amp;lt;w morph=&amp;quot;robinson:N-NSF&amp;quot; lemma=&amp;quot;lemma.Strong:βίβλος&amp;quot;&amp;gt;βίβλος&amp;lt;/w&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Osk|Osk]] 19:48, 5 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
=== milestoned &amp;lt;lg&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Since the &amp;lt;l&amp;gt; element can ''only'' occur within an &amp;lt;lg&amp;gt; element, use of milestoned &amp;lt;lg&amp;gt; prevents use of &amp;lt;l&amp;gt; elements (within that &amp;lt;lg&amp;gt;). Since &amp;lt;lg&amp;gt; is milestonable, one would presume that the following snippet would be valid, but it is not, for the above reason:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     &amp;lt;lg sID=&amp;quot;eg1&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;l&amp;gt;Poetry line&amp;lt;/l&amp;gt;&lt;br /&gt;
          &amp;lt;l&amp;gt;Poetry line&amp;lt;/l&amp;gt;&lt;br /&gt;
     &amp;lt;lg eID=&amp;quot;eg1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--[[User:Osk|Osk]] 18:18, 31 December 2011 (MST)&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;lg&amp;gt; element does not allow for mixed content. However the use of the milestoned &amp;lt;lg&amp;gt; wrongly allows for it.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;lg sID=&amp;quot;eg2&amp;quot;/&amp;gt;&lt;br /&gt;
      text&lt;br /&gt;
   &amp;lt;lg eID=&amp;quot;eg2&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--[[User:Dmsmith|Dmsmith]] 16:29, 14 October 2012 (MDT)&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;closer&amp;gt; in &amp;lt;verse&amp;gt; container? ===&lt;br /&gt;
&lt;br /&gt;
According to the OSIS manual (cf. 11.1.3 on p. 58), it should be possible to embed a &amp;lt;closer&amp;gt; element within a &amp;lt;verse&amp;gt; container, but the schema does not allow this. One or the other should be corrected.&lt;br /&gt;
--[[User:Osk|Osk]] 05:56, 6 July 2012 (MDT)&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;seg&amp;gt; in &amp;lt;cell&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
This was already reported to osis-users, but for the sake of completeness:&lt;br /&gt;
There's a typo that allows &amp;quot;seq&amp;quot; in &amp;lt;cell&amp;gt; instead of &amp;quot;seg&amp;quot;.&lt;br /&gt;
--[[User:Osk|Osk]] 04:29, 22 February 2014 (MST)&lt;br /&gt;
&lt;br /&gt;
== Feature requests ==&lt;br /&gt;
&lt;br /&gt;
=== Allow &amp;lt;transChange&amp;gt; within &amp;lt;w&amp;gt; ===&lt;br /&gt;
An encoder ought to be ''allowed'' to put &amp;lt;transChange&amp;gt; on elements smaller than an orthographic word. If I'm translating an instance of &amp;quot;λόγος&amp;quot;, but for some reason I believe that I should translate it as &amp;quot;words&amp;quot;, I ought to be able to encode &amp;lt;w&amp;gt;word&amp;lt;transChange&amp;gt;s&amp;lt;/transChange&amp;gt;&amp;lt;/w&amp;gt;. --[[User:Osk|Osk]] 19:48, 5 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
=== Add an element for morphology within &amp;lt;w&amp;gt; ===&lt;br /&gt;
Necessary for encoding documents like MORPH (WLC + morphology), we need an element to embed within &amp;lt;w&amp;gt; to carry lexical information. I suggest calling it &amp;lt;m&amp;gt; and giving it all of the attributes found on &amp;lt;w&amp;gt;. --[[User:Osk|Osk]] 19:48, 5 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
=== Allow &amp;lt;transChange&amp;gt; within &amp;lt;hi&amp;gt; ===&lt;br /&gt;
A highlighted sentence or part of a sentence is a unit, including any transChange parts of it.&lt;br /&gt;
At the moment a highlighted sentence with a transChange will look like this:&lt;br /&gt;
 &amp;lt;hi type=&amp;quot;bold&amp;quot;&amp;gt; Texttexttext &amp;lt;/hi&amp;gt;&amp;lt;transChange&amp;gt;&amp;lt;hi type=&amp;quot;bold&amp;quot;&amp;gt; moreText&amp;lt;/hi&amp;gt;&amp;lt;/transChange&amp;gt;&amp;lt;hi type=&amp;quot;bold&amp;quot;&amp;gt; TextText&amp;lt;/hi&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;hi type=&amp;quot;bold&amp;quot;&amp;gt; Texttexttext &amp;lt;transChange&amp;gt;moreText&amp;lt;/transChange&amp;gt; TextText&amp;lt;/hi&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would look cleaner and would be also closer to what is meant. [[User:Refdoc|refdoc]]:[[User_Talk:Refdoc|talk]] 16:02, 3 August 2011 (MDT)&lt;br /&gt;
&lt;br /&gt;
=== Allow &amp;lt;catchWord&amp;gt; within &amp;lt;hi&amp;gt; ===&lt;br /&gt;
A highlighted sentence or part of a sentence is a unit, including any catchWord parts of it.&lt;br /&gt;
At the moment a highlighted sentence with a catchWord will look like this:&lt;br /&gt;
 &amp;lt;hi type=&amp;quot;bold&amp;quot;&amp;gt; Texttexttext &amp;lt;/hi&amp;gt;&amp;lt;catchWord&amp;gt;&amp;lt;hi type=&amp;quot;bold&amp;quot;&amp;gt; moreText&amp;lt;/hi&amp;gt;&amp;lt;/catchWord&amp;gt;&amp;lt;hi type=&amp;quot;bold&amp;quot;&amp;gt; TextText&amp;lt;/hi&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;hi type=&amp;quot;bold&amp;quot;&amp;gt; Texttexttext &amp;lt;catchWord&amp;gt;moreText&amp;lt;/catchWord&amp;gt; TextText&amp;lt;/hi&amp;gt;&lt;br /&gt;
This is identical in form to the &amp;lt;transChange&amp;gt; issue. The problem with both of these is that &amp;lt;transChange&amp;gt; and &amp;lt;catchWord&amp;gt; may reasonably be styled in the same fashion as what is indicated by &amp;lt;hi&amp;gt;.&lt;br /&gt;
--[[User:Dmsmith|Dmsmith]] 16:58, 14 October 2012 (MDT)&lt;br /&gt;
&lt;br /&gt;
=== Allow multiple types for &amp;lt;hi&amp;gt; ===&lt;br /&gt;
It'd really be convenient for&lt;br /&gt;
 &amp;lt;hi type=&amp;quot;bold italic small-caps&amp;quot;&amp;gt;text&amp;lt;/hi&amp;gt;&lt;br /&gt;
rather than&lt;br /&gt;
 &amp;lt;hi type=&amp;quot;bold&amp;quot;&amp;gt;&amp;lt;hi type=&amp;quot;italic&amp;quot;&amp;gt;&amp;lt;hi type=&amp;quot;small-caps&amp;quot;&amp;gt;text&amp;lt;/hi&amp;gt;&amp;lt;/hi&amp;gt;&amp;lt;/hi&amp;gt;&lt;br /&gt;
--[[User:Dmsmith|Dmsmith]] 16:57, 14 October 2012 (MDT)&lt;br /&gt;
&lt;br /&gt;
=== Allow &amp;lt;transChange&amp;gt; within &amp;lt;note&amp;gt; ===&lt;br /&gt;
When translating an alternate Greek version of a passage, added words need to be indicated.&lt;br /&gt;
&lt;br /&gt;
=== Allow remote header reference ===&lt;br /&gt;
When serving short passages via web services, as valid OSIS documents, a full header is obtrusive.  Also, in a collection of related documents, for example separate book files for a Bible, one centralized header would be more maintainable.  The simplest approach would probably be to allow @href on the header element, to abstract some or all of the header content. See Troy's [https://groups.google.com/d/topic/openscriptures/kygOM0yPHL8/discussion related post].&lt;br /&gt;
&lt;br /&gt;
===Allow shadow/virtual elements===&lt;br /&gt;
A second requirement for distributing valid OSIS fragments through web services is a form of virtual, or shadow, element to supply the context of the given fragment.  A new global attribute for indicating this virtual status is essential to distinguish them from the actual markup of the document. In the [http://www.esvapi.org/api ESV API], they have this construct via  `virtual` attribute (see description for `include-virtual-attributes``). See Troy's [https://groups.google.com/d/topic/openscriptures/kygOM0yPHL8/discussion related post] (same as previous).&lt;br /&gt;
&lt;br /&gt;
=== Improve Ketiv/Qere markup ===&lt;br /&gt;
A ketiv or qere can consist of one or more words, and so need to be grouped and related to one another.  I propose adding &amp;lt;ketiv&amp;gt; with @id, and &amp;lt;qere&amp;gt; with @idref, to contain the content (&amp;lt;w&amp;gt; elements) and allow validation of the connection.  A qere with no ketiv could be marked up without the @idref.&lt;br /&gt;
&lt;br /&gt;
: This sounds like a good application for &amp;lt;seg&amp;gt;. I would recommend named types for &amp;lt;seg&amp;gt; instead: ketiv &amp;amp; qere. --[[User:Osk|Osk]] 00:37, 23 February 2014 (MST)&lt;br /&gt;
&lt;br /&gt;
=== Improve Selah markup ===&lt;br /&gt;
Selah can be represented at the end of a line. The markup of &amp;amp;lt;l type=&amp;quot;selah&amp;quot;&amp;amp;gt;...&amp;amp;lt;/l&amp;amp;gt; does not allow for the text identified as selah to be at the end of the current line. Maybe allow for a separate markup, rather than a type of line.&lt;br /&gt;
&lt;br /&gt;
=== Milestonable &amp;amp;lt;p&amp;gt; ===&lt;br /&gt;
	For documents where the primary structure is book, chapter, verse, like the Authorized Version or the Hebrew Bible, we should be able to mark up paragraphs as milestones.  This would allow for equality, rather than making book, section, paragraph a privileged system.&lt;br /&gt;
&lt;br /&gt;
=== Quotation types ===&lt;br /&gt;
	From the manual (p. 43):  &amp;quot;The rendering for quotations marks after an interruption, for example, can be distinguished using the type attribute on this element, with values such as initial, medial, and final.&amp;quot;  Please make these @type values official: initial, medial, and final.&lt;br /&gt;
&lt;br /&gt;
=== Add peripheral types from USFM to osisDivs ===&lt;br /&gt;
Add the additional USFM peripheral types to osisDivs to maintain feature parity. I believe OSIS 2.1.1 had this feature parity at the time of its release, but USFM has standardized additional peripheral types since then, which should be added as:&lt;br /&gt;
halfTitlePage, promotionalPage, foreword, alphabeticalContents, tableofAbbreviations, chronology, weightsandMeasures, mapIndex, ntQuotesfromLXX, spine&lt;br /&gt;
--[[User:Osk|Osk]] 01:04, 23 February 2014 (MST)&lt;br /&gt;
&lt;br /&gt;
== Manual bugs &amp;amp; feature requests ==&lt;br /&gt;
&lt;br /&gt;
=== Head Elements ===&lt;br /&gt;
The OSIS manual give the &amp;quot;head&amp;quot; element as a means of providing for titles. It is not in the schema as a child of div, but it is in the manual.&lt;br /&gt;
&lt;br /&gt;
=== DivineName Element ===&lt;br /&gt;
Manual give type as x-yhwh in 11.5.1.2, perhaps elsewhere. It isn't necessary. It also has the content as LORD, but it should be Lord.&lt;br /&gt;
&lt;br /&gt;
[[Category:OSIS]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=OSIS_211_CR&amp;diff=13213</id>
		<title>OSIS 211 CR</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=OSIS_211_CR&amp;diff=13213"/>
				<updated>2014-02-23T07:37:33Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* Improve Ketiv/Qere markup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is for recording potential change requests to the OSIS XML schema.&lt;br /&gt;
&lt;br /&gt;
== OSIS 2.1.1 Change Requests ==&lt;br /&gt;
Anyone with an outstanding OSIS bug report or feature proposal for consideration for inclusion into an updated OSIS schema, please write a very concise change request here in this page, including motivating use case.&lt;br /&gt;
&lt;br /&gt;
== Bugs ==&lt;br /&gt;
&lt;br /&gt;
=== osisGenRegex bug ===&lt;br /&gt;
Currently that regex looks like [1], but it should looks like [2]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[1]     ((((\p{L}|\p{N}|_)+)(\.(\p{L}|\p{N}|_))*:)?([^:\s])+)&lt;br /&gt;
[2]     ((((\p{L}|\p{N}|_)+)(\.(\p{L}|\p{N}|_)+)*:)?([^:\s])+)&lt;br /&gt;
                        (missing + right here ^)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So our document with the following element isn't valid because the &lt;br /&gt;
string &amp;quot;Strong&amp;quot; cannot be more than 1 character long in the current schema:&lt;br /&gt;
&amp;lt;w morph=&amp;quot;robinson:N-NSF&amp;quot; lemma=&amp;quot;lemma.Strong:βίβλος&amp;quot;&amp;gt;βίβλος&amp;lt;/w&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Osk|Osk]] 19:48, 5 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
=== milestoned &amp;lt;lg&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Since the &amp;lt;l&amp;gt; element can ''only'' occur within an &amp;lt;lg&amp;gt; element, use of milestoned &amp;lt;lg&amp;gt; prevents use of &amp;lt;l&amp;gt; elements (within that &amp;lt;lg&amp;gt;). Since &amp;lt;lg&amp;gt; is milestonable, one would presume that the following snippet would be valid, but it is not, for the above reason:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     &amp;lt;lg sID=&amp;quot;eg1&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;l&amp;gt;Poetry line&amp;lt;/l&amp;gt;&lt;br /&gt;
          &amp;lt;l&amp;gt;Poetry line&amp;lt;/l&amp;gt;&lt;br /&gt;
     &amp;lt;lg eID=&amp;quot;eg1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--[[User:Osk|Osk]] 18:18, 31 December 2011 (MST)&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;lg&amp;gt; element does not allow for mixed content. However the use of the milestoned &amp;lt;lg&amp;gt; wrongly allows for it.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;lg sID=&amp;quot;eg2&amp;quot;/&amp;gt;&lt;br /&gt;
      text&lt;br /&gt;
   &amp;lt;lg eID=&amp;quot;eg2&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--[[User:Dmsmith|Dmsmith]] 16:29, 14 October 2012 (MDT)&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;closer&amp;gt; in &amp;lt;verse&amp;gt; container? ===&lt;br /&gt;
&lt;br /&gt;
According to the OSIS manual (cf. 11.1.3 on p. 58), it should be possible to embed a &amp;lt;closer&amp;gt; element within a &amp;lt;verse&amp;gt; container, but the schema does not allow this. One or the other should be corrected.&lt;br /&gt;
--[[User:Osk|Osk]] 05:56, 6 July 2012 (MDT)&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;seg&amp;gt; in &amp;lt;cell&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
This was already reported to osis-users, but for the sake of completeness:&lt;br /&gt;
There's a typo that allows &amp;quot;seq&amp;quot; in &amp;lt;cell&amp;gt; instead of &amp;quot;seg&amp;quot;.&lt;br /&gt;
--[[User:Osk|Osk]] 04:29, 22 February 2014 (MST)&lt;br /&gt;
&lt;br /&gt;
== Feature requests ==&lt;br /&gt;
&lt;br /&gt;
=== Allow &amp;lt;transChange&amp;gt; within &amp;lt;w&amp;gt; ===&lt;br /&gt;
An encoder ought to be ''allowed'' to put &amp;lt;transChange&amp;gt; on elements smaller than an orthographic word. If I'm translating an instance of &amp;quot;λόγος&amp;quot;, but for some reason I believe that I should translate it as &amp;quot;words&amp;quot;, I ought to be able to encode &amp;lt;w&amp;gt;word&amp;lt;transChange&amp;gt;s&amp;lt;/transChange&amp;gt;&amp;lt;/w&amp;gt;. --[[User:Osk|Osk]] 19:48, 5 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
=== Add an element for morphology within &amp;lt;w&amp;gt; ===&lt;br /&gt;
Necessary for encoding documents like MORPH (WLC + morphology), we need an element to embed within &amp;lt;w&amp;gt; to carry lexical information. I suggest calling it &amp;lt;m&amp;gt; and giving it all of the attributes found on &amp;lt;w&amp;gt;. --[[User:Osk|Osk]] 19:48, 5 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
=== Allow &amp;lt;transChange&amp;gt; within &amp;lt;hi&amp;gt; ===&lt;br /&gt;
A highlighted sentence or part of a sentence is a unit, including any transChange parts of it.&lt;br /&gt;
At the moment a highlighted sentence with a transChange will look like this:&lt;br /&gt;
 &amp;lt;hi type=&amp;quot;bold&amp;quot;&amp;gt; Texttexttext &amp;lt;/hi&amp;gt;&amp;lt;transChange&amp;gt;&amp;lt;hi type=&amp;quot;bold&amp;quot;&amp;gt; moreText&amp;lt;/hi&amp;gt;&amp;lt;/transChange&amp;gt;&amp;lt;hi type=&amp;quot;bold&amp;quot;&amp;gt; TextText&amp;lt;/hi&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;hi type=&amp;quot;bold&amp;quot;&amp;gt; Texttexttext &amp;lt;transChange&amp;gt;moreText&amp;lt;/transChange&amp;gt; TextText&amp;lt;/hi&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would look cleaner and would be also closer to what is meant. [[User:Refdoc|refdoc]]:[[User_Talk:Refdoc|talk]] 16:02, 3 August 2011 (MDT)&lt;br /&gt;
&lt;br /&gt;
=== Allow &amp;lt;catchWord&amp;gt; within &amp;lt;hi&amp;gt; ===&lt;br /&gt;
A highlighted sentence or part of a sentence is a unit, including any catchWord parts of it.&lt;br /&gt;
At the moment a highlighted sentence with a catchWord will look like this:&lt;br /&gt;
 &amp;lt;hi type=&amp;quot;bold&amp;quot;&amp;gt; Texttexttext &amp;lt;/hi&amp;gt;&amp;lt;catchWord&amp;gt;&amp;lt;hi type=&amp;quot;bold&amp;quot;&amp;gt; moreText&amp;lt;/hi&amp;gt;&amp;lt;/catchWord&amp;gt;&amp;lt;hi type=&amp;quot;bold&amp;quot;&amp;gt; TextText&amp;lt;/hi&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;hi type=&amp;quot;bold&amp;quot;&amp;gt; Texttexttext &amp;lt;catchWord&amp;gt;moreText&amp;lt;/catchWord&amp;gt; TextText&amp;lt;/hi&amp;gt;&lt;br /&gt;
This is identical in form to the &amp;lt;transChange&amp;gt; issue. The problem with both of these is that &amp;lt;transChange&amp;gt; and &amp;lt;catchWord&amp;gt; may reasonably be styled in the same fashion as what is indicated by &amp;lt;hi&amp;gt;.&lt;br /&gt;
--[[User:Dmsmith|Dmsmith]] 16:58, 14 October 2012 (MDT)&lt;br /&gt;
&lt;br /&gt;
=== Allow multiple types for &amp;lt;hi&amp;gt; ===&lt;br /&gt;
It'd really be convenient for&lt;br /&gt;
 &amp;lt;hi type=&amp;quot;bold italic small-caps&amp;quot;&amp;gt;text&amp;lt;/hi&amp;gt;&lt;br /&gt;
rather than&lt;br /&gt;
 &amp;lt;hi type=&amp;quot;bold&amp;quot;&amp;gt;&amp;lt;hi type=&amp;quot;italic&amp;quot;&amp;gt;&amp;lt;hi type=&amp;quot;small-caps&amp;quot;&amp;gt;text&amp;lt;/hi&amp;gt;&amp;lt;/hi&amp;gt;&amp;lt;/hi&amp;gt;&lt;br /&gt;
--[[User:Dmsmith|Dmsmith]] 16:57, 14 October 2012 (MDT)&lt;br /&gt;
&lt;br /&gt;
=== Allow &amp;lt;transChange&amp;gt; within &amp;lt;note&amp;gt; ===&lt;br /&gt;
When translating an alternate Greek version of a passage, added words need to be indicated.&lt;br /&gt;
&lt;br /&gt;
=== Allow remote header reference ===&lt;br /&gt;
When serving short passages via web services, as valid OSIS documents, a full header is obtrusive.  Also, in a collection of related documents, for example separate book files for a Bible, one centralized header would be more maintainable.  The simplest approach would probably be to allow @href on the header element, to abstract some or all of the header content. See Troy's [https://groups.google.com/d/topic/openscriptures/kygOM0yPHL8/discussion related post].&lt;br /&gt;
&lt;br /&gt;
===Allow shadow/virtual elements===&lt;br /&gt;
A second requirement for distributing valid OSIS fragments through web services is a form of virtual, or shadow, element to supply the context of the given fragment.  A new global attribute for indicating this virtual status is essential to distinguish them from the actual markup of the document. In the [http://www.esvapi.org/api ESV API], they have this construct via  `virtual` attribute (see description for `include-virtual-attributes``). See Troy's [https://groups.google.com/d/topic/openscriptures/kygOM0yPHL8/discussion related post] (same as previous).&lt;br /&gt;
&lt;br /&gt;
=== Improve Ketiv/Qere markup ===&lt;br /&gt;
A ketiv or qere can consist of one or more words, and so need to be grouped and related to one another.  I propose adding &amp;lt;ketiv&amp;gt; with @id, and &amp;lt;qere&amp;gt; with @idref, to contain the content (&amp;lt;w&amp;gt; elements) and allow validation of the connection.  A qere with no ketiv could be marked up without the @idref.&lt;br /&gt;
&lt;br /&gt;
: This sounds like a good application for &amp;lt;seg&amp;gt;. I would recommend named types for &amp;lt;seg&amp;gt; instead: ketiv &amp;amp; qere. --[[User:Osk|Osk]] 00:37, 23 February 2014 (MST)&lt;br /&gt;
&lt;br /&gt;
=== Improve Selah markup ===&lt;br /&gt;
Selah can be represented at the end of a line. The markup of &amp;amp;lt;l type=&amp;quot;selah&amp;quot;&amp;amp;gt;...&amp;amp;lt;/l&amp;amp;gt; does not allow for the text identified as selah to be at the end of the current line. Maybe allow for a separate markup, rather than a type of line.&lt;br /&gt;
&lt;br /&gt;
=== Milestonable &amp;amp;lt;p&amp;gt; ===&lt;br /&gt;
	For documents where the primary structure is book, chapter, verse, like the Authorized Version or the Hebrew Bible, we should be able to mark up paragraphs as milestones.  This would allow for equality, rather than making book, section, paragraph a privileged system.&lt;br /&gt;
&lt;br /&gt;
=== Quotation types ===&lt;br /&gt;
	From the manual (p. 43):  &amp;quot;The rendering for quotations marks after an interruption, for example, can be distinguished using the type attribute on this element, with values such as initial, medial, and final.&amp;quot;  Please make these @type values official: initial, medial, and final.&lt;br /&gt;
&lt;br /&gt;
== Manual bugs &amp;amp; feature requests ==&lt;br /&gt;
&lt;br /&gt;
=== Head Elements ===&lt;br /&gt;
The OSIS manual give the &amp;quot;head&amp;quot; element as a means of providing for titles. It is not in the schema as a child of div, but it is in the manual.&lt;br /&gt;
&lt;br /&gt;
=== DivineName Element ===&lt;br /&gt;
Manual give type as x-yhwh in 11.5.1.2, perhaps elsewhere. It isn't necessary. It also has the content as LORD, but it should be Lord.&lt;br /&gt;
&lt;br /&gt;
[[Category:OSIS]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=OSIS_211_CR&amp;diff=13212</id>
		<title>OSIS 211 CR</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=OSIS_211_CR&amp;diff=13212"/>
				<updated>2014-02-23T07:35:18Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: added manual issues section to separate from more important schema issues&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is for recording potential change requests to the OSIS XML schema.&lt;br /&gt;
&lt;br /&gt;
== OSIS 2.1.1 Change Requests ==&lt;br /&gt;
Anyone with an outstanding OSIS bug report or feature proposal for consideration for inclusion into an updated OSIS schema, please write a very concise change request here in this page, including motivating use case.&lt;br /&gt;
&lt;br /&gt;
== Bugs ==&lt;br /&gt;
&lt;br /&gt;
=== osisGenRegex bug ===&lt;br /&gt;
Currently that regex looks like [1], but it should looks like [2]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[1]     ((((\p{L}|\p{N}|_)+)(\.(\p{L}|\p{N}|_))*:)?([^:\s])+)&lt;br /&gt;
[2]     ((((\p{L}|\p{N}|_)+)(\.(\p{L}|\p{N}|_)+)*:)?([^:\s])+)&lt;br /&gt;
                        (missing + right here ^)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So our document with the following element isn't valid because the &lt;br /&gt;
string &amp;quot;Strong&amp;quot; cannot be more than 1 character long in the current schema:&lt;br /&gt;
&amp;lt;w morph=&amp;quot;robinson:N-NSF&amp;quot; lemma=&amp;quot;lemma.Strong:βίβλος&amp;quot;&amp;gt;βίβλος&amp;lt;/w&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Osk|Osk]] 19:48, 5 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
=== milestoned &amp;lt;lg&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Since the &amp;lt;l&amp;gt; element can ''only'' occur within an &amp;lt;lg&amp;gt; element, use of milestoned &amp;lt;lg&amp;gt; prevents use of &amp;lt;l&amp;gt; elements (within that &amp;lt;lg&amp;gt;). Since &amp;lt;lg&amp;gt; is milestonable, one would presume that the following snippet would be valid, but it is not, for the above reason:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     &amp;lt;lg sID=&amp;quot;eg1&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;l&amp;gt;Poetry line&amp;lt;/l&amp;gt;&lt;br /&gt;
          &amp;lt;l&amp;gt;Poetry line&amp;lt;/l&amp;gt;&lt;br /&gt;
     &amp;lt;lg eID=&amp;quot;eg1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--[[User:Osk|Osk]] 18:18, 31 December 2011 (MST)&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;lg&amp;gt; element does not allow for mixed content. However the use of the milestoned &amp;lt;lg&amp;gt; wrongly allows for it.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;lg sID=&amp;quot;eg2&amp;quot;/&amp;gt;&lt;br /&gt;
      text&lt;br /&gt;
   &amp;lt;lg eID=&amp;quot;eg2&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--[[User:Dmsmith|Dmsmith]] 16:29, 14 October 2012 (MDT)&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;closer&amp;gt; in &amp;lt;verse&amp;gt; container? ===&lt;br /&gt;
&lt;br /&gt;
According to the OSIS manual (cf. 11.1.3 on p. 58), it should be possible to embed a &amp;lt;closer&amp;gt; element within a &amp;lt;verse&amp;gt; container, but the schema does not allow this. One or the other should be corrected.&lt;br /&gt;
--[[User:Osk|Osk]] 05:56, 6 July 2012 (MDT)&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;seg&amp;gt; in &amp;lt;cell&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
This was already reported to osis-users, but for the sake of completeness:&lt;br /&gt;
There's a typo that allows &amp;quot;seq&amp;quot; in &amp;lt;cell&amp;gt; instead of &amp;quot;seg&amp;quot;.&lt;br /&gt;
--[[User:Osk|Osk]] 04:29, 22 February 2014 (MST)&lt;br /&gt;
&lt;br /&gt;
== Feature requests ==&lt;br /&gt;
&lt;br /&gt;
=== Allow &amp;lt;transChange&amp;gt; within &amp;lt;w&amp;gt; ===&lt;br /&gt;
An encoder ought to be ''allowed'' to put &amp;lt;transChange&amp;gt; on elements smaller than an orthographic word. If I'm translating an instance of &amp;quot;λόγος&amp;quot;, but for some reason I believe that I should translate it as &amp;quot;words&amp;quot;, I ought to be able to encode &amp;lt;w&amp;gt;word&amp;lt;transChange&amp;gt;s&amp;lt;/transChange&amp;gt;&amp;lt;/w&amp;gt;. --[[User:Osk|Osk]] 19:48, 5 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
=== Add an element for morphology within &amp;lt;w&amp;gt; ===&lt;br /&gt;
Necessary for encoding documents like MORPH (WLC + morphology), we need an element to embed within &amp;lt;w&amp;gt; to carry lexical information. I suggest calling it &amp;lt;m&amp;gt; and giving it all of the attributes found on &amp;lt;w&amp;gt;. --[[User:Osk|Osk]] 19:48, 5 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
=== Allow &amp;lt;transChange&amp;gt; within &amp;lt;hi&amp;gt; ===&lt;br /&gt;
A highlighted sentence or part of a sentence is a unit, including any transChange parts of it.&lt;br /&gt;
At the moment a highlighted sentence with a transChange will look like this:&lt;br /&gt;
 &amp;lt;hi type=&amp;quot;bold&amp;quot;&amp;gt; Texttexttext &amp;lt;/hi&amp;gt;&amp;lt;transChange&amp;gt;&amp;lt;hi type=&amp;quot;bold&amp;quot;&amp;gt; moreText&amp;lt;/hi&amp;gt;&amp;lt;/transChange&amp;gt;&amp;lt;hi type=&amp;quot;bold&amp;quot;&amp;gt; TextText&amp;lt;/hi&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;hi type=&amp;quot;bold&amp;quot;&amp;gt; Texttexttext &amp;lt;transChange&amp;gt;moreText&amp;lt;/transChange&amp;gt; TextText&amp;lt;/hi&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would look cleaner and would be also closer to what is meant. [[User:Refdoc|refdoc]]:[[User_Talk:Refdoc|talk]] 16:02, 3 August 2011 (MDT)&lt;br /&gt;
&lt;br /&gt;
=== Allow &amp;lt;catchWord&amp;gt; within &amp;lt;hi&amp;gt; ===&lt;br /&gt;
A highlighted sentence or part of a sentence is a unit, including any catchWord parts of it.&lt;br /&gt;
At the moment a highlighted sentence with a catchWord will look like this:&lt;br /&gt;
 &amp;lt;hi type=&amp;quot;bold&amp;quot;&amp;gt; Texttexttext &amp;lt;/hi&amp;gt;&amp;lt;catchWord&amp;gt;&amp;lt;hi type=&amp;quot;bold&amp;quot;&amp;gt; moreText&amp;lt;/hi&amp;gt;&amp;lt;/catchWord&amp;gt;&amp;lt;hi type=&amp;quot;bold&amp;quot;&amp;gt; TextText&amp;lt;/hi&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;hi type=&amp;quot;bold&amp;quot;&amp;gt; Texttexttext &amp;lt;catchWord&amp;gt;moreText&amp;lt;/catchWord&amp;gt; TextText&amp;lt;/hi&amp;gt;&lt;br /&gt;
This is identical in form to the &amp;lt;transChange&amp;gt; issue. The problem with both of these is that &amp;lt;transChange&amp;gt; and &amp;lt;catchWord&amp;gt; may reasonably be styled in the same fashion as what is indicated by &amp;lt;hi&amp;gt;.&lt;br /&gt;
--[[User:Dmsmith|Dmsmith]] 16:58, 14 October 2012 (MDT)&lt;br /&gt;
&lt;br /&gt;
=== Allow multiple types for &amp;lt;hi&amp;gt; ===&lt;br /&gt;
It'd really be convenient for&lt;br /&gt;
 &amp;lt;hi type=&amp;quot;bold italic small-caps&amp;quot;&amp;gt;text&amp;lt;/hi&amp;gt;&lt;br /&gt;
rather than&lt;br /&gt;
 &amp;lt;hi type=&amp;quot;bold&amp;quot;&amp;gt;&amp;lt;hi type=&amp;quot;italic&amp;quot;&amp;gt;&amp;lt;hi type=&amp;quot;small-caps&amp;quot;&amp;gt;text&amp;lt;/hi&amp;gt;&amp;lt;/hi&amp;gt;&amp;lt;/hi&amp;gt;&lt;br /&gt;
--[[User:Dmsmith|Dmsmith]] 16:57, 14 October 2012 (MDT)&lt;br /&gt;
&lt;br /&gt;
=== Allow &amp;lt;transChange&amp;gt; within &amp;lt;note&amp;gt; ===&lt;br /&gt;
When translating an alternate Greek version of a passage, added words need to be indicated.&lt;br /&gt;
&lt;br /&gt;
=== Allow remote header reference ===&lt;br /&gt;
When serving short passages via web services, as valid OSIS documents, a full header is obtrusive.  Also, in a collection of related documents, for example separate book files for a Bible, one centralized header would be more maintainable.  The simplest approach would probably be to allow @href on the header element, to abstract some or all of the header content. See Troy's [https://groups.google.com/d/topic/openscriptures/kygOM0yPHL8/discussion related post].&lt;br /&gt;
&lt;br /&gt;
===Allow shadow/virtual elements===&lt;br /&gt;
A second requirement for distributing valid OSIS fragments through web services is a form of virtual, or shadow, element to supply the context of the given fragment.  A new global attribute for indicating this virtual status is essential to distinguish them from the actual markup of the document. In the [http://www.esvapi.org/api ESV API], they have this construct via  `virtual` attribute (see description for `include-virtual-attributes``). See Troy's [https://groups.google.com/d/topic/openscriptures/kygOM0yPHL8/discussion related post] (same as previous).&lt;br /&gt;
&lt;br /&gt;
=== Improve Ketiv/Qere markup ===&lt;br /&gt;
A ketiv or qere can consist of one or more words, and so need to be grouped and related to one another.  I propose adding &amp;lt;ketiv&amp;gt; with @id, and &amp;lt;qere&amp;gt; with @idref, to contain the content (&amp;lt;w&amp;gt; elements) and allow validation of the connection.  A qere with no ketiv could be marked up without the @idref.&lt;br /&gt;
&lt;br /&gt;
=== Improve Selah markup ===&lt;br /&gt;
Selah can be represented at the end of a line. The markup of &amp;amp;lt;l type=&amp;quot;selah&amp;quot;&amp;amp;gt;...&amp;amp;lt;/l&amp;amp;gt; does not allow for the text identified as selah to be at the end of the current line. Maybe allow for a separate markup, rather than a type of line.&lt;br /&gt;
&lt;br /&gt;
=== Milestonable &amp;amp;lt;p&amp;gt; ===&lt;br /&gt;
	For documents where the primary structure is book, chapter, verse, like the Authorized Version or the Hebrew Bible, we should be able to mark up paragraphs as milestones.  This would allow for equality, rather than making book, section, paragraph a privileged system.&lt;br /&gt;
&lt;br /&gt;
=== Quotation types ===&lt;br /&gt;
	From the manual (p. 43):  &amp;quot;The rendering for quotations marks after an interruption, for example, can be distinguished using the type attribute on this element, with values such as initial, medial, and final.&amp;quot;  Please make these @type values official: initial, medial, and final.&lt;br /&gt;
&lt;br /&gt;
== Manual bugs &amp;amp; feature requests ==&lt;br /&gt;
&lt;br /&gt;
=== Head Elements ===&lt;br /&gt;
The OSIS manual give the &amp;quot;head&amp;quot; element as a means of providing for titles. It is not in the schema as a child of div, but it is in the manual.&lt;br /&gt;
&lt;br /&gt;
=== DivineName Element ===&lt;br /&gt;
Manual give type as x-yhwh in 11.5.1.2, perhaps elsewhere. It isn't necessary. It also has the content as LORD, but it should be Lord.&lt;br /&gt;
&lt;br /&gt;
[[Category:OSIS]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=OSIS_211_CR&amp;diff=13210</id>
		<title>OSIS 211 CR</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=OSIS_211_CR&amp;diff=13210"/>
				<updated>2014-02-22T11:29:19Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* Bugs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is for recording potential change requests to the OSIS XML schema.&lt;br /&gt;
&lt;br /&gt;
== OSIS 2.1.1 Change Requests ==&lt;br /&gt;
Anyone with an outstanding OSIS bug report or feature proposal for consideration for inclusion into an updated OSIS schema, please write a very concise change request here in this page, including motivating use case.&lt;br /&gt;
&lt;br /&gt;
== Bugs ==&lt;br /&gt;
&lt;br /&gt;
=== osisGenRegex bug ===&lt;br /&gt;
Currently that regex looks like [1], but it should looks like [2]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[1]     ((((\p{L}|\p{N}|_)+)(\.(\p{L}|\p{N}|_))*:)?([^:\s])+)&lt;br /&gt;
[2]     ((((\p{L}|\p{N}|_)+)(\.(\p{L}|\p{N}|_)+)*:)?([^:\s])+)&lt;br /&gt;
                        (missing + right here ^)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So our document with the following element isn't valid because the &lt;br /&gt;
string &amp;quot;Strong&amp;quot; cannot be more than 1 character long in the current schema:&lt;br /&gt;
&amp;lt;w morph=&amp;quot;robinson:N-NSF&amp;quot; lemma=&amp;quot;lemma.Strong:βίβλος&amp;quot;&amp;gt;βίβλος&amp;lt;/w&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Osk|Osk]] 19:48, 5 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
=== milestoned &amp;lt;lg&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Since the &amp;lt;l&amp;gt; element can ''only'' occur within an &amp;lt;lg&amp;gt; element, use of milestoned &amp;lt;lg&amp;gt; prevents use of &amp;lt;l&amp;gt; elements (within that &amp;lt;lg&amp;gt;). Since &amp;lt;lg&amp;gt; is milestonable, one would presume that the following snippet would be valid, but it is not, for the above reason:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     &amp;lt;lg sID=&amp;quot;eg1&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;l&amp;gt;Poetry line&amp;lt;/l&amp;gt;&lt;br /&gt;
          &amp;lt;l&amp;gt;Poetry line&amp;lt;/l&amp;gt;&lt;br /&gt;
     &amp;lt;lg eID=&amp;quot;eg1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--[[User:Osk|Osk]] 18:18, 31 December 2011 (MST)&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;lg&amp;gt; element does not allow for mixed content. However the use of the milestoned &amp;lt;lg&amp;gt; wrongly allows for it.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;lg sID=&amp;quot;eg2&amp;quot;/&amp;gt;&lt;br /&gt;
      text&lt;br /&gt;
   &amp;lt;lg eID=&amp;quot;eg2&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--[[User:Dmsmith|Dmsmith]] 16:29, 14 October 2012 (MDT)&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;closer&amp;gt; in &amp;lt;verse&amp;gt; container? ===&lt;br /&gt;
&lt;br /&gt;
According to the OSIS manual (cf. 11.1.3 on p. 58), it should be possible to embed a &amp;lt;closer&amp;gt; element within a &amp;lt;verse&amp;gt; container, but the schema does not allow this. One or the other should be corrected.&lt;br /&gt;
--[[User:Osk|Osk]] 05:56, 6 July 2012 (MDT)&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;seg&amp;gt; in &amp;lt;cell&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
This was already reported to osis-users, but for the sake of completeness:&lt;br /&gt;
There's a typo that allows &amp;quot;seq&amp;quot; in &amp;lt;cell&amp;gt; instead of &amp;quot;seg&amp;quot;.&lt;br /&gt;
--[[User:Osk|Osk]] 04:29, 22 February 2014 (MST)&lt;br /&gt;
&lt;br /&gt;
== Feature requests ==&lt;br /&gt;
&lt;br /&gt;
=== Allow &amp;lt;transChange&amp;gt; within &amp;lt;w&amp;gt; ===&lt;br /&gt;
An encoder ought to be ''allowed'' to put &amp;lt;transChange&amp;gt; on elements smaller than an orthographic word. If I'm translating an instance of &amp;quot;λόγος&amp;quot;, but for some reason I believe that I should translate it as &amp;quot;words&amp;quot;, I ought to be able to encode &amp;lt;w&amp;gt;word&amp;lt;transChange&amp;gt;s&amp;lt;/transChange&amp;gt;&amp;lt;/w&amp;gt;. --[[User:Osk|Osk]] 19:48, 5 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
=== Add an element for morphology within &amp;lt;w&amp;gt; ===&lt;br /&gt;
Necessary for encoding documents like MORPH (WLC + morphology), we need an element to embed within &amp;lt;w&amp;gt; to carry lexical information. I suggest calling it &amp;lt;m&amp;gt; and giving it all of the attributes found on &amp;lt;w&amp;gt;. --[[User:Osk|Osk]] 19:48, 5 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
=== Allow &amp;lt;transChange&amp;gt; within &amp;lt;hi&amp;gt; ===&lt;br /&gt;
A highlighted sentence or part of a sentence is a unit, including any transChange parts of it.&lt;br /&gt;
At the moment a highlighted sentence with a transChange will look like this:&lt;br /&gt;
 &amp;lt;hi type=&amp;quot;bold&amp;quot;&amp;gt; Texttexttext &amp;lt;/hi&amp;gt;&amp;lt;transChange&amp;gt;&amp;lt;hi type=&amp;quot;bold&amp;quot;&amp;gt; moreText&amp;lt;/hi&amp;gt;&amp;lt;/transChange&amp;gt;&amp;lt;hi type=&amp;quot;bold&amp;quot;&amp;gt; TextText&amp;lt;/hi&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;hi type=&amp;quot;bold&amp;quot;&amp;gt; Texttexttext &amp;lt;transChange&amp;gt;moreText&amp;lt;/transChange&amp;gt; TextText&amp;lt;/hi&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would look cleaner and would be also closer to what is meant. [[User:Refdoc|refdoc]]:[[User_Talk:Refdoc|talk]] 16:02, 3 August 2011 (MDT)&lt;br /&gt;
&lt;br /&gt;
=== Allow &amp;lt;catchWord&amp;gt; within &amp;lt;hi&amp;gt; ===&lt;br /&gt;
A highlighted sentence or part of a sentence is a unit, including any catchWord parts of it.&lt;br /&gt;
At the moment a highlighted sentence with a catchWord will look like this:&lt;br /&gt;
 &amp;lt;hi type=&amp;quot;bold&amp;quot;&amp;gt; Texttexttext &amp;lt;/hi&amp;gt;&amp;lt;catchWord&amp;gt;&amp;lt;hi type=&amp;quot;bold&amp;quot;&amp;gt; moreText&amp;lt;/hi&amp;gt;&amp;lt;/catchWord&amp;gt;&amp;lt;hi type=&amp;quot;bold&amp;quot;&amp;gt; TextText&amp;lt;/hi&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;hi type=&amp;quot;bold&amp;quot;&amp;gt; Texttexttext &amp;lt;catchWord&amp;gt;moreText&amp;lt;/catchWord&amp;gt; TextText&amp;lt;/hi&amp;gt;&lt;br /&gt;
This is identical in form to the &amp;lt;transChange&amp;gt; issue. The problem with both of these is that &amp;lt;transChange&amp;gt; and &amp;lt;catchWord&amp;gt; may reasonably be styled in the same fashion as what is indicated by &amp;lt;hi&amp;gt;.&lt;br /&gt;
--[[User:Dmsmith|Dmsmith]] 16:58, 14 October 2012 (MDT)&lt;br /&gt;
&lt;br /&gt;
=== Allow multiple types for &amp;lt;hi&amp;gt; ===&lt;br /&gt;
It'd really be convenient for&lt;br /&gt;
 &amp;lt;hi type=&amp;quot;bold italic small-caps&amp;quot;&amp;gt;text&amp;lt;/hi&amp;gt;&lt;br /&gt;
rather than&lt;br /&gt;
 &amp;lt;hi type=&amp;quot;bold&amp;quot;&amp;gt;&amp;lt;hi type=&amp;quot;italic&amp;quot;&amp;gt;&amp;lt;hi type=&amp;quot;small-caps&amp;quot;&amp;gt;text&amp;lt;/hi&amp;gt;&amp;lt;/hi&amp;gt;&amp;lt;/hi&amp;gt;&lt;br /&gt;
--[[User:Dmsmith|Dmsmith]] 16:57, 14 October 2012 (MDT)&lt;br /&gt;
&lt;br /&gt;
=== Allow &amp;lt;transChange&amp;gt; within &amp;lt;note&amp;gt; ===&lt;br /&gt;
When translating an alternate Greek version of a passage, added words need to be indicated.&lt;br /&gt;
&lt;br /&gt;
=== Allow remote header reference ===&lt;br /&gt;
When serving short passages via web services, as valid OSIS documents, a full header is obtrusive.  Also, in a collection of related documents, for example separate book files for a Bible, one centralized header would be more maintainable.  The simplest approach would probably be to allow @href on the header element, to abstract some or all of the header content. See Troy's [https://groups.google.com/d/topic/openscriptures/kygOM0yPHL8/discussion related post].&lt;br /&gt;
&lt;br /&gt;
===Allow shadow/virtual elements===&lt;br /&gt;
A second requirement for distributing valid OSIS fragments through web services is a form of virtual, or shadow, element to supply the context of the given fragment.  A new global attribute for indicating this virtual status is essential to distinguish them from the actual markup of the document. In the [http://www.esvapi.org/api ESV API], they have this construct via  `virtual` attribute (see description for `include-virtual-attributes``). See Troy's [https://groups.google.com/d/topic/openscriptures/kygOM0yPHL8/discussion related post] (same as previous).&lt;br /&gt;
&lt;br /&gt;
=== Improve Ketiv/Qere markup ===&lt;br /&gt;
A ketiv or qere can consist of one or more words, and so need to be grouped and related to one another.  I propose adding &amp;lt;ketiv&amp;gt; with @id, and &amp;lt;qere&amp;gt; with @idref, to contain the content (&amp;lt;w&amp;gt; elements) and allow validation of the connection.  A qere with no ketiv could be marked up without the @idref.&lt;br /&gt;
=== Improve Selah markup ===&lt;br /&gt;
Selah can be represented at the end of a line. The markup of &amp;amp;lt;l type=&amp;quot;selah&amp;quot;&amp;amp;gt;...&amp;amp;lt;/l&amp;amp;gt; does not allow for the text identified as selah to be at the end of the current line. Maybe allow for a separate markup, rather than a type of line.&lt;br /&gt;
&lt;br /&gt;
=== Milestonable &amp;amp;lt;p&amp;gt; ===&lt;br /&gt;
	For documents where the primary structure is book, chapter, verse, like the Authorized Version or the Hebrew Bible, we should be able to mark up paragraphs as milestones.  This would allow for equality, rather than making book, section, paragraph a privileged system.&lt;br /&gt;
&lt;br /&gt;
=== Quotation types ===&lt;br /&gt;
	From the manual (p. 43):  &amp;quot;The rendering for quotations marks after an interruption, for example, can be distinguished using the type attribute on this element, with values such as initial, medial, and final.&amp;quot;  Please make these @type values official: initial, medial, and final.&lt;br /&gt;
=== Head Elements ===&lt;br /&gt;
The OSIS manual give the &amp;quot;head&amp;quot; element as a means of providing for titles. It is not in the schema as a child of div, but it is in the manual.&lt;br /&gt;
=== DivineName Element ===&lt;br /&gt;
Manual give type as x-yhwh in 11.5.1.2, perhaps elsewhere. It isn't necessary. It also has the content as LORD, but it should be Lord.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:OSIS]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=OSIS_Tutorial&amp;diff=13148</id>
		<title>OSIS Tutorial</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=OSIS_Tutorial&amp;diff=13148"/>
				<updated>2014-02-07T21:43:19Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* The Root Element */ I suppose whenever subsumes while&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Creating a Basic OSIS Document=&lt;br /&gt;
[http://crosswire.org/osis/tutor.jsp Creating a basic OSIS document] can be an easy task with just a little direction, which this brief tutorial hopes to provide.&lt;br /&gt;
&lt;br /&gt;
Throughout this tutorial, we will be marking up a Bible excerpt: Gen 1:1-3, from the King James Version of the Bible, 1611 edition. The excerpt reads as follows:&lt;br /&gt;
 THE FIRST BOOKE OF MOSES, called GENESIS.&lt;br /&gt;
 Chap.j.&lt;br /&gt;
 The creation of the world.&lt;br /&gt;
 1 The creation of Heauen and Earth, 3 of the&lt;br /&gt;
 light, 6 of the firmament, 9 of the earth ſe-&lt;br /&gt;
 parated from the waters, 11 and made fruit-&lt;br /&gt;
 full, 14 of the Sunne, Moone and Starres,&lt;br /&gt;
 20 of fiſh and fowle, 24 of beaſts and cat-&lt;br /&gt;
 tell, 26 of Man in the Image of God. 29 Al-&lt;br /&gt;
 ſo the appointment of food.&lt;br /&gt;
                        1. In the beginning&lt;br /&gt;
                           God created the&lt;br /&gt;
                           Heauen and the&lt;br /&gt;
                           Earth.&lt;br /&gt;
                              2.  And the&lt;br /&gt;
                           earth was with=&lt;br /&gt;
                           out forme , and&lt;br /&gt;
                           voyd;and darken=&lt;br /&gt;
                           eſſe ''was'' vpon&lt;br /&gt;
 the face of the deepe : And the Spirit&lt;br /&gt;
 of God mooued vpon the face of the&lt;br /&gt;
 waters.&lt;br /&gt;
   3.  And God ſaid, *Let there be light :&lt;br /&gt;
 and there was light.&lt;br /&gt;
 * Pſal.33.6. and 136.5. acts.14.15. and 17.24. hebr.11.3.&lt;br /&gt;
&lt;br /&gt;
While this looks like a bunch of typos, it is a faithful representation of the original.&amp;lt;br/&amp;gt;&lt;br /&gt;
For an image of this see: http://dewey.library.upenn.edu/sceti/printedbooksNew/index.cfm?TextID=kjbible&amp;amp;PagePosition=77&amp;lt;br/&amp;gt;&lt;br /&gt;
For the entire first chapter of Genesis see: [[KJV 1611]]&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
In what follows, the following part of the above excerpt page is not yet example coded in this OSIS tutorial:&lt;br /&gt;
 THE FIRST BOOKE OF MOSES, called GENESIS.&lt;br /&gt;
 Chap.j.&lt;br /&gt;
 The creation of the world.&lt;br /&gt;
 1 The creation of Heauen and Earth, 3 of the&lt;br /&gt;
 light, 6 of the firmament, 9 of the earth ſe-&lt;br /&gt;
 parated from the waters, 11 and made fruit-&lt;br /&gt;
 full, 14 of the Sunne, Moone and Starres,&lt;br /&gt;
 20 of fiſh and fowle, 24 of beaſts and cat-&lt;br /&gt;
 tell, 26 of Man in the Image of God. 29 Al-&lt;br /&gt;
 ſo the appointment of food.&lt;br /&gt;
Nonetheless, OSIS does provide a means for such headings and introductory content to be implemented.&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&lt;br /&gt;
# This tutorial does not cover the [[OSIS Bibles#OSIS_Milestones|milestones]] method of using OSIS to mark Bible text.&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
At the core, OSIS is an [http://en.wikipedia.org/wiki/XML XML] markup standard and must comply with rules&amp;lt;ref&amp;gt;One such rule is that XML element (and attribute) names are case-sensitive!&amp;lt;/ref&amp;gt; for basic XML documents. This means that we will need a basic XML header to begin our document. This line should do just fine:&lt;br /&gt;
 &amp;amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==The Root Element==&lt;br /&gt;
The root element for an OSIS document has the name &amp;lt;code&amp;gt;osis&amp;lt;/code&amp;gt;. Since OSIS uses XML Schema to define itself, we can place a link in the root element declaring our document's structure definition (we're an OSIS XML document, not just ''any'' XML document). Our complete root element will look like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;osis xmlns=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace&amp;quot; &lt;br /&gt;
      xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
      xsi:schemaLocation=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace&lt;br /&gt;
      http://www.bibletechnologies.net/osisCore.2.1.1.xsd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
# Whenever bibletechnologies.net is unavailable, a snapshot of the site is available via the [http://web.archive.org/web/20140118222742/http://www.bibletechnologies.net/ Wayback Machine].&lt;br /&gt;
# Whenever the Bible Technologies Group website is down, the significant portions of the website are mirrored at http://www.crosswire.org/osis/, including copies of the latest schema and manual.&lt;br /&gt;
&lt;br /&gt;
==The Work Container==&lt;br /&gt;
OSIS documents can either be a corpus of multiple works, or merely a single  text, like the KJV Bible. The latter will be our OSIS document type.  We declare this by placing our entire work in an &amp;lt;code&amp;gt;osisText&amp;lt;/code&amp;gt; element. This element will include attributes that declare our work's id and default reference scheme. The values of these elements are not as important as their function. They are used to link to a &amp;lt;code&amp;gt;work&amp;lt;/code&amp;gt; section that we will discuss a little later, that completely define two functions for our document. For now, we'll just set them to: &amp;quot;KJV&amp;quot; and &amp;quot;defaultReferenceScheme&amp;quot;. Here is our &amp;lt;code&amp;gt;osisText&amp;lt;/code&amp;gt; line, which also includes the default language of our document:&lt;br /&gt;
    &amp;amp;lt;osisText osisIDWork=&amp;quot;KJV&amp;quot; osisRefWork=&amp;quot;defaultReferenceScheme&amp;quot; xml:lang=&amp;quot;en&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==The Header==&lt;br /&gt;
Each OSIS work must have a &amp;lt;code&amp;gt;header&amp;lt;/code&amp;gt; section that defines information about the text. This will include copyright and cataloguing data, among other bibliographic information. The &amp;lt;code&amp;gt;header&amp;lt;/code&amp;gt; not only contains information about our work, it also contains basic information about any works which we reference in our text. Below is our entire &amp;lt;code&amp;gt;header&amp;lt;/code&amp;gt; for our text. We'll explain it in more detail, below.&lt;br /&gt;
     &amp;amp;lt;header&amp;gt;&lt;br /&gt;
         &amp;amp;lt;work osisWork=&amp;quot;KJV&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;amp;lt;title&amp;gt;King James Version of 1611&amp;amp;lt;/title&amp;gt;&lt;br /&gt;
             &amp;amp;lt;identifier type=&amp;quot;OSIS&amp;quot;&amp;gt;KJV.TutorEncoding&amp;amp;lt;/identifier&amp;gt;&lt;br /&gt;
             &amp;amp;lt;refSystem&amp;gt;Bible.KJV&amp;amp;lt;/refSystem&amp;gt;&lt;br /&gt;
         &amp;amp;lt;/work&amp;gt;&lt;br /&gt;
         &amp;amp;lt;work osisWork=&amp;quot;defaultReferenceScheme&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;amp;lt;refSystem&amp;gt;Bible.KJV&amp;amp;lt;/refSystem&amp;gt;&lt;br /&gt;
         &amp;amp;lt;/work&amp;gt;&lt;br /&gt;
     &amp;amp;lt;/header&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our &amp;lt;code&amp;gt;header&amp;lt;/code&amp;gt; includes two &amp;lt;code&amp;gt;work&amp;lt;/code&amp;gt; elements. Each &amp;lt;code&amp;gt;work&amp;lt;/code&amp;gt; element is uniquely distinguished by its &amp;lt;code&amp;gt;osisWork&amp;lt;/code&amp;gt; attribute.&lt;br /&gt;
&lt;br /&gt;
The first &amp;lt;code&amp;gt;work&amp;lt;/code&amp;gt; element defines ''our'' work. This is designated by matching the &amp;lt;code&amp;gt;osisWork&amp;lt;/code&amp;gt; attribute value to the &amp;lt;code&amp;gt;osisIDWork&amp;lt;/code&amp;gt; attribute value of our &amp;lt;code&amp;gt;osisText&amp;lt;/code&amp;gt; element in the section above. This sounds confusing but simply notice they both have the value &amp;quot;KJV&amp;quot;-- that's all there is to it.&lt;br /&gt;
&lt;br /&gt;
Inside this work, we have an element that defines our &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;. We also have a special &amp;lt;code&amp;gt;identifier&amp;lt;/code&amp;gt; element with a &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; value of &amp;quot;OSIS&amp;quot;. This &amp;lt;code&amp;gt;identifier&amp;lt;/code&amp;gt; element must be present and is used for assigning a canonical name to our OSIS document. We're claiming the &amp;quot;KJV.TutorEncoding&amp;quot; identifier for&lt;br /&gt;
our document, in case anyone wants to refer to our text if, say, we're included in a large library of OSIS documents.&lt;br /&gt;
&lt;br /&gt;
When marking up Biblical materials, we have a need to reference certain &amp;lt;u&amp;gt;portions&amp;lt;/u&amp;gt; of our materials, and not just the entire document. To allow this, we must provide two sides of the same coin:&lt;br /&gt;
*I am referencing this portion;&lt;br /&gt;
*I ''am'' this portion&lt;br /&gt;
&lt;br /&gt;
The two functions are facilitated in OSIS with the &amp;lt;code&amp;gt;osisRef&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;osisID&amp;lt;/code&amp;gt; attributes, respectively, and are reviewed in more detail in the next section.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;refSystem&amp;lt;/code&amp;gt; element in our work states that whenever we markup a portion of our text as something like, &amp;quot;Genesis 1:1&amp;quot; ''(side 2 of the coin)'' we are using the Bible.KJV reference system.&lt;br /&gt;
&lt;br /&gt;
Remember that we had a second attribute on &amp;lt;code&amp;gt;osisText&amp;lt;/code&amp;gt;, in the section above. This attribute is used to state which reference scheme our document will use by default, when citing references ''(side 1 of the coin)'' in our text. The second work element above matches our reference scheme, and declares that we are using the Bible.KJV reference scheme as our default. Other reference schemes are described in [[Alternate Versification]].&lt;br /&gt;
&lt;br /&gt;
==Marking and Referencing==&lt;br /&gt;
Before going any further, we should talk about an OSIS concept that enables us to reference pieces of other works, and also label pieces of our own work as targets of references. These two concepts are represented by the OSIS attributes &amp;lt;code&amp;gt;osisRef&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;osisID&amp;lt;/code&amp;gt;, respectively. The concepts are fairly straight forward, and in their simplest incarnation, easy to comprehend. As an example, let's say we have a commentary that wishes to reference James 1:19. OSIS includes a &amp;lt;code&amp;gt;reference&amp;lt;/code&amp;gt; element for this purpose, and for our example, an instance may look something like:&lt;br /&gt;
 Please see &amp;amp;lt;reference osisRef=&amp;quot;Jas.1.19&amp;quot;&amp;gt;James 1:19&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The counterpart, &amp;lt;code&amp;gt;osisID&amp;lt;/code&amp;gt;, is very similar. Let's say a Bible wishes to mark a section as ''being'' James 1:19. OSIS provides a &amp;lt;code&amp;gt;verse&amp;lt;/code&amp;gt; element for this, and our Bible may include something like:&lt;br /&gt;
 &amp;amp;lt;verse osisID=&amp;quot;Jas.1.19&amp;quot;&amp;gt;Wherefore, my beloved brethren,&lt;br /&gt;
 let every man be swift to hear, slow to speak, slow to wrath:&amp;amp;lt;/verse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Text Divisions==&lt;br /&gt;
OSIS works can be subdivided into arbitrary smaller sections, if desired. For Bibles, it usually makes sense to keep the traditional divisions that have been used for decades: Testament, Book, Chapter, Verse. We will use these for our text. OSIS provides a &amp;lt;code&amp;gt;div&amp;lt;/code&amp;gt; element to facilitate some of these divisions; other divisions are more specifically supported. Here are our 3 divisions, at the beginning of our work to get us down to Genesis, chapter 1.&lt;br /&gt;
     &amp;amp;lt;div type=&amp;quot;bookGroup&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;amp;lt;div type=&amp;quot;book&amp;quot; osisID=&amp;quot;Gen&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;amp;lt;chapter osisID=&amp;quot;Gen.1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Actual Text==&lt;br /&gt;
Now ''finally'' we're ready to start including our actual Bible text in the document. The first verse is Genesis 1:1. We'd like to let the world know the identification of this part of our document, so we'll include the text in a &amp;lt;code&amp;gt;verse&amp;lt;/code&amp;gt; element with an appropriate &amp;lt;code&amp;gt;osisID&amp;lt;/code&amp;gt; attribute. Here it is:&lt;br /&gt;
           &amp;amp;lt;verse osisID=&amp;quot;Gen.1.1&amp;quot;&amp;gt;In the beginning God created the Heauen and the Earth.&amp;amp;lt;/verse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Literal Translations==&lt;br /&gt;
The text that we've chosen to encode claims to be a special type of Bible translation, sometimes referred to as a ''literal'' translation. Translations of these type attempt to preserve --as best they can-- the wording of the text from their original language. These works all tend to use similar mechanisms to indicate where they have needed to deviate from what was presented in the original source, for the purpose of clear target language understanding. Our second verse includes one such anomaly-- the second instance of the word ''was''. Most printed editions of the KJV will ''italicize'' this word, indicating that there was no such Hebrew counterpart that was translated into the English ''&amp;quot;was&amp;quot;'', but without this word, the sentence would not represent correct English. Since OSIS is ''presentation-agnostic'', instead of delegating a display type like ''italic'' for this purpose, we will mark the anomaly and let the publisher choose how they would like it displayed. OSIS provides a &amp;lt;code&amp;gt;transChange&amp;lt;/code&amp;gt; element to allow these translations to mark deviations such as these, and a &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; attribute on this element to indicate the type of change made. Here is our Genesis 1:2, which includes this markup.&lt;br /&gt;
           &amp;amp;lt;verse osisID=&amp;quot;Gen.1.2&amp;quot;&amp;gt;&lt;br /&gt;
             And the earth was without forme , and voyd;and darkeneſſe&lt;br /&gt;
             &amp;amp;lt;transChange type=&amp;quot;added&amp;quot;&amp;gt;was&amp;amp;lt;/transChange&amp;gt;&lt;br /&gt;
             vpon the face of the deepe : And the Spirit of God mooued&lt;br /&gt;
             vpon the face of the waters.&lt;br /&gt;
           &amp;amp;lt;/verse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Quotes==&lt;br /&gt;
Our last verse that we will markup includes a quote by God, Himself! Let's be sure to get this one correct. In OSIS, quotes can be marked with a &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt; element. A &amp;lt;code&amp;gt;who&amp;lt;/code&amp;gt; attribute is also optionally allowed, which we will use to designate who is speaking in this portion of Scripture. Since the orthography of the KJV had no quotation marks, this is indicated with an empty &amp;lt;code&amp;gt;marker&amp;lt;/code&amp;gt; attribute.&lt;br /&gt;
           &amp;amp;lt;verse osisID=&amp;quot;Gen.1.3&amp;quot;&amp;gt;&lt;br /&gt;
             And God ſaid, *&amp;amp;lt;q who=&amp;quot;God&amp;quot; marker=&amp;quot;&amp;quot;&amp;gt;Let there be light&amp;amp;lt;/q&amp;gt; : and there was light.&lt;br /&gt;
           &amp;amp;lt;/verse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
Genesis 1:3 has a note that still needs to be included. In OSIS, notes are inlined at the point of inclusion. Notes also have various types. In this instance, the note is a cross-reference. To retain the original orthography we use the &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; attribute to provide the original marker.&lt;br /&gt;
 &amp;amp;lt;note type=&amp;quot;crossReference&amp;quot; n=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;amp;lt;reference osisRef=&amp;quot;Ps.33.6&amp;quot;&amp;gt;Pſal.33.6.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
   and&lt;br /&gt;
   &amp;amp;lt;reference osisRef=&amp;quot;Ps.136.5&amp;quot;&amp;gt;136.5.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
   &amp;amp;lt;reference osisRef=&amp;quot;Acts.14.15&amp;quot;&amp;gt;acts.14.15.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
   and&lt;br /&gt;
   &amp;amp;lt;reference osisRef=&amp;quot;Acts.17.24&amp;quot;&amp;gt;17.24.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
   &amp;amp;lt;reference osisRef=&amp;quot;Heb.11.3&amp;quot;&amp;gt;hebr.11.3.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
 &amp;amp;lt;/note&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The entire verse would be:&lt;br /&gt;
           &amp;amp;lt;verse osisID=&amp;quot;Gen.1.3&amp;quot;&amp;gt;&lt;br /&gt;
             And God ſaid, &lt;br /&gt;
             &amp;amp;lt;note type=&amp;quot;crossReference&amp;quot; n=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;amp;lt;reference osisRef=&amp;quot;Ps.33.6&amp;quot;&amp;gt;Pſal.33.6.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
               and&lt;br /&gt;
               &amp;amp;lt;reference osisRef=&amp;quot;Ps.136.5&amp;quot;&amp;gt;136.5.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
               &amp;amp;lt;reference osisRef=&amp;quot;Acts.14.15&amp;quot;&amp;gt;acts.14.15.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
               and&lt;br /&gt;
               &amp;amp;lt;reference osisRef=&amp;quot;Acts.17.24&amp;quot;&amp;gt;17.24.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
               &amp;amp;lt;reference osisRef=&amp;quot;Heb.11.3&amp;quot;&amp;gt;hebr.11.3.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
             &amp;amp;lt;/note&amp;gt;&lt;br /&gt;
             &amp;amp;lt;q who=&amp;quot;God&amp;quot; marker=&amp;quot;&amp;quot;&amp;gt;Let there be light&amp;amp;lt;/q&amp;gt;&lt;br /&gt;
             : and there was light.&lt;br /&gt;
           &amp;amp;lt;/verse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Finishing up==&lt;br /&gt;
Remember, in XML, we must have closing marks for every opening mark of an element. Let's be sure to close all of our elements before finishing up our OSIS text. First we'll close our Chapter, then Book, then Testament.&lt;br /&gt;
         &amp;amp;lt;/chapter&amp;gt;&lt;br /&gt;
       &amp;amp;lt;/div&amp;gt;&lt;br /&gt;
     &amp;amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then we'll close our &amp;lt;code&amp;gt;osisText&amp;lt;/code&amp;gt;.&lt;br /&gt;
   &amp;amp;lt;/osisText&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and finally, our root &amp;lt;code&amp;gt;osis&amp;lt;/code&amp;gt; element&lt;br /&gt;
 &amp;amp;lt;/osis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Complete example==&lt;br /&gt;
Neglecting the cross reference illustration for James, here is the complete example of the OSIS Tutorial:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;osis xmlns=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace&amp;quot; &lt;br /&gt;
      xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
      xsi:schemaLocation=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace&lt;br /&gt;
      http://www.bibletechnologies.net/osisCore.2.1.1.xsd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;osisText osisIDWork=&amp;quot;KJV&amp;quot; osisRefWork=&amp;quot;defaultReferenceScheme&amp;quot; xml:lang=&amp;quot;en&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;header&amp;gt;&lt;br /&gt;
        &amp;lt;work osisWork=&amp;quot;KJV&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;title&amp;gt;King James Version of 1611&amp;lt;/title&amp;gt;&lt;br /&gt;
            &amp;lt;identifier type=&amp;quot;OSIS&amp;quot;&amp;gt;KJV.TutorEncoding&amp;lt;/identifier&amp;gt;&lt;br /&gt;
            &amp;lt;refSystem&amp;gt;Bible.KJV&amp;lt;/refSystem&amp;gt;&lt;br /&gt;
        &amp;lt;/work&amp;gt;&lt;br /&gt;
        &amp;lt;work osisWork=&amp;quot;defaultReferenceScheme&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;refSystem&amp;gt;Bible.KJV&amp;lt;/refSystem&amp;gt;&lt;br /&gt;
        &amp;lt;/work&amp;gt;&lt;br /&gt;
    &amp;lt;/header&amp;gt;&lt;br /&gt;
    &amp;lt;div type=&amp;quot;x-testament&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;div type=&amp;quot;book&amp;quot; osisID=&amp;quot;Gen&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;chapter osisID=&amp;quot;Gen.1&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;verse osisID=&amp;quot;Gen.1.1&amp;quot;&amp;gt;In the beginning God created the Heauen and the Earth.&amp;lt;/verse&amp;gt;&lt;br /&gt;
          &amp;lt;verse osisID=&amp;quot;Gen.1.2&amp;quot;&amp;gt;&lt;br /&gt;
            And the earth was without forme , and voyd;and darkeneſſe&lt;br /&gt;
            &amp;lt;transChange type=&amp;quot;added&amp;quot;&amp;gt;was&amp;lt;/transChange&amp;gt;&lt;br /&gt;
            vpon the face of the deepe : And the Spirit of God mooued&lt;br /&gt;
            vpon the face of the waters.&lt;br /&gt;
          &amp;lt;/verse&amp;gt;&lt;br /&gt;
          &amp;lt;verse osisID=&amp;quot;Gen.1.3&amp;quot;&amp;gt;&lt;br /&gt;
            And God ſaid, &lt;br /&gt;
            &amp;lt;note type=&amp;quot;crossReference&amp;quot; n=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;reference osisRef=&amp;quot;Ps.33.6&amp;quot;&amp;gt;Pſal.33.6.&amp;lt;/reference&amp;gt;&lt;br /&gt;
              and&lt;br /&gt;
              &amp;lt;reference osisRef=&amp;quot;Ps.136.5&amp;quot;&amp;gt;136.5.&amp;lt;/reference&amp;gt;&lt;br /&gt;
              &amp;lt;reference osisRef=&amp;quot;Acts.14.15&amp;quot;&amp;gt;acts.14.15.&amp;lt;/reference&amp;gt;&lt;br /&gt;
              and&lt;br /&gt;
              &amp;lt;reference osisRef=&amp;quot;Acts.17.24&amp;quot;&amp;gt;17.24.&amp;lt;/reference&amp;gt;&lt;br /&gt;
              &amp;lt;reference osisRef=&amp;quot;Heb.11.3&amp;quot;&amp;gt;hebr.11.3.&amp;lt;/reference&amp;gt;&lt;br /&gt;
            &amp;lt;/note&amp;gt;&lt;br /&gt;
            &amp;lt;q who=&amp;quot;God&amp;quot; marker=&amp;quot;&amp;quot;&amp;gt;Let there be light&amp;lt;/q&amp;gt;&lt;br /&gt;
            : and there was light.&lt;br /&gt;
          &amp;lt;/verse&amp;gt;&lt;br /&gt;
        &amp;lt;/chapter&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/osisText&amp;gt;&lt;br /&gt;
&amp;lt;/osis&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
And that's it!!! Congratulations, you've just walked through your first entire OSIS document. With power comes complexity, so there is much more to learn if you wish to unlock the features of OSIS that will allow you to more richly markup your texts. But some people may prefer to keep the more intricate aspects of OSIS under lock and key, depending on their needs. With OSIS, the choice is yours, and you now know everything necessary to start encoding your own texts, making them usable by organizations all around the world in a variety of presentation venues. Blessings in your endeavours.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:OSIS]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=OSIS_Tutorial&amp;diff=13147</id>
		<title>OSIS Tutorial</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=OSIS_Tutorial&amp;diff=13147"/>
				<updated>2014-02-07T21:33:08Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* Complete example */ noise&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Creating a Basic OSIS Document=&lt;br /&gt;
[http://crosswire.org/osis/tutor.jsp Creating a basic OSIS document] can be an easy task with just a little direction, which this brief tutorial hopes to provide.&lt;br /&gt;
&lt;br /&gt;
Throughout this tutorial, we will be marking up a Bible excerpt: Gen 1:1-3, from the King James Version of the Bible, 1611 edition. The excerpt reads as follows:&lt;br /&gt;
 THE FIRST BOOKE OF MOSES, called GENESIS.&lt;br /&gt;
 Chap.j.&lt;br /&gt;
 The creation of the world.&lt;br /&gt;
 1 The creation of Heauen and Earth, 3 of the&lt;br /&gt;
 light, 6 of the firmament, 9 of the earth ſe-&lt;br /&gt;
 parated from the waters, 11 and made fruit-&lt;br /&gt;
 full, 14 of the Sunne, Moone and Starres,&lt;br /&gt;
 20 of fiſh and fowle, 24 of beaſts and cat-&lt;br /&gt;
 tell, 26 of Man in the Image of God. 29 Al-&lt;br /&gt;
 ſo the appointment of food.&lt;br /&gt;
                        1. In the beginning&lt;br /&gt;
                           God created the&lt;br /&gt;
                           Heauen and the&lt;br /&gt;
                           Earth.&lt;br /&gt;
                              2.  And the&lt;br /&gt;
                           earth was with=&lt;br /&gt;
                           out forme , and&lt;br /&gt;
                           voyd;and darken=&lt;br /&gt;
                           eſſe ''was'' vpon&lt;br /&gt;
 the face of the deepe : And the Spirit&lt;br /&gt;
 of God mooued vpon the face of the&lt;br /&gt;
 waters.&lt;br /&gt;
   3.  And God ſaid, *Let there be light :&lt;br /&gt;
 and there was light.&lt;br /&gt;
 * Pſal.33.6. and 136.5. acts.14.15. and 17.24. hebr.11.3.&lt;br /&gt;
&lt;br /&gt;
While this looks like a bunch of typos, it is a faithful representation of the original.&amp;lt;br/&amp;gt;&lt;br /&gt;
For an image of this see: http://dewey.library.upenn.edu/sceti/printedbooksNew/index.cfm?TextID=kjbible&amp;amp;PagePosition=77&amp;lt;br/&amp;gt;&lt;br /&gt;
For the entire first chapter of Genesis see: [[KJV 1611]]&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
In what follows, the following part of the above excerpt page is not yet example coded in this OSIS tutorial:&lt;br /&gt;
 THE FIRST BOOKE OF MOSES, called GENESIS.&lt;br /&gt;
 Chap.j.&lt;br /&gt;
 The creation of the world.&lt;br /&gt;
 1 The creation of Heauen and Earth, 3 of the&lt;br /&gt;
 light, 6 of the firmament, 9 of the earth ſe-&lt;br /&gt;
 parated from the waters, 11 and made fruit-&lt;br /&gt;
 full, 14 of the Sunne, Moone and Starres,&lt;br /&gt;
 20 of fiſh and fowle, 24 of beaſts and cat-&lt;br /&gt;
 tell, 26 of Man in the Image of God. 29 Al-&lt;br /&gt;
 ſo the appointment of food.&lt;br /&gt;
Nonetheless, OSIS does provide a means for such headings and introductory content to be implemented.&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&lt;br /&gt;
# This tutorial does not cover the [[OSIS Bibles#OSIS_Milestones|milestones]] method of using OSIS to mark Bible text.&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
At the core, OSIS is an [http://en.wikipedia.org/wiki/XML XML] markup standard and must comply with rules&amp;lt;ref&amp;gt;One such rule is that XML element (and attribute) names are case-sensitive!&amp;lt;/ref&amp;gt; for basic XML documents. This means that we will need a basic XML header to begin our document. This line should do just fine:&lt;br /&gt;
 &amp;amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==The Root Element==&lt;br /&gt;
The root element for an OSIS document has the name &amp;lt;code&amp;gt;osis&amp;lt;/code&amp;gt;. Since OSIS uses XML Schema to define itself, we can place a link in the root element declaring our document's structure definition (we're an OSIS XML document, not just ''any'' XML document). Our complete root element will look like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;osis xmlns=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace&amp;quot; &lt;br /&gt;
      xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
      xsi:schemaLocation=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace&lt;br /&gt;
      http://www.bibletechnologies.net/osisCore.2.1.1.xsd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
# While/whenever bibletechnologies.net is unavailable, a snapshot of the site is available via the [http://web.archive.org/web/20140118222742/http://www.bibletechnologies.net/ Wayback Machine].&lt;br /&gt;
# While/whenever the Bible Technologies Group website is down, the significant portions of the website are mirrored at http://www.crosswire.org/osis/, including copies of the latest schema and manual.&lt;br /&gt;
&lt;br /&gt;
==The Work Container==&lt;br /&gt;
OSIS documents can either be a corpus of multiple works, or merely a single  text, like the KJV Bible. The latter will be our OSIS document type.  We declare this by placing our entire work in an &amp;lt;code&amp;gt;osisText&amp;lt;/code&amp;gt; element. This element will include attributes that declare our work's id and default reference scheme. The values of these elements are not as important as their function. They are used to link to a &amp;lt;code&amp;gt;work&amp;lt;/code&amp;gt; section that we will discuss a little later, that completely define two functions for our document. For now, we'll just set them to: &amp;quot;KJV&amp;quot; and &amp;quot;defaultReferenceScheme&amp;quot;. Here is our &amp;lt;code&amp;gt;osisText&amp;lt;/code&amp;gt; line, which also includes the default language of our document:&lt;br /&gt;
    &amp;amp;lt;osisText osisIDWork=&amp;quot;KJV&amp;quot; osisRefWork=&amp;quot;defaultReferenceScheme&amp;quot; xml:lang=&amp;quot;en&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==The Header==&lt;br /&gt;
Each OSIS work must have a &amp;lt;code&amp;gt;header&amp;lt;/code&amp;gt; section that defines information about the text. This will include copyright and cataloguing data, among other bibliographic information. The &amp;lt;code&amp;gt;header&amp;lt;/code&amp;gt; not only contains information about our work, it also contains basic information about any works which we reference in our text. Below is our entire &amp;lt;code&amp;gt;header&amp;lt;/code&amp;gt; for our text. We'll explain it in more detail, below.&lt;br /&gt;
     &amp;amp;lt;header&amp;gt;&lt;br /&gt;
         &amp;amp;lt;work osisWork=&amp;quot;KJV&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;amp;lt;title&amp;gt;King James Version of 1611&amp;amp;lt;/title&amp;gt;&lt;br /&gt;
             &amp;amp;lt;identifier type=&amp;quot;OSIS&amp;quot;&amp;gt;KJV.TutorEncoding&amp;amp;lt;/identifier&amp;gt;&lt;br /&gt;
             &amp;amp;lt;refSystem&amp;gt;Bible.KJV&amp;amp;lt;/refSystem&amp;gt;&lt;br /&gt;
         &amp;amp;lt;/work&amp;gt;&lt;br /&gt;
         &amp;amp;lt;work osisWork=&amp;quot;defaultReferenceScheme&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;amp;lt;refSystem&amp;gt;Bible.KJV&amp;amp;lt;/refSystem&amp;gt;&lt;br /&gt;
         &amp;amp;lt;/work&amp;gt;&lt;br /&gt;
     &amp;amp;lt;/header&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our &amp;lt;code&amp;gt;header&amp;lt;/code&amp;gt; includes two &amp;lt;code&amp;gt;work&amp;lt;/code&amp;gt; elements. Each &amp;lt;code&amp;gt;work&amp;lt;/code&amp;gt; element is uniquely distinguished by its &amp;lt;code&amp;gt;osisWork&amp;lt;/code&amp;gt; attribute.&lt;br /&gt;
&lt;br /&gt;
The first &amp;lt;code&amp;gt;work&amp;lt;/code&amp;gt; element defines ''our'' work. This is designated by matching the &amp;lt;code&amp;gt;osisWork&amp;lt;/code&amp;gt; attribute value to the &amp;lt;code&amp;gt;osisIDWork&amp;lt;/code&amp;gt; attribute value of our &amp;lt;code&amp;gt;osisText&amp;lt;/code&amp;gt; element in the section above. This sounds confusing but simply notice they both have the value &amp;quot;KJV&amp;quot;-- that's all there is to it.&lt;br /&gt;
&lt;br /&gt;
Inside this work, we have an element that defines our &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;. We also have a special &amp;lt;code&amp;gt;identifier&amp;lt;/code&amp;gt; element with a &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; value of &amp;quot;OSIS&amp;quot;. This &amp;lt;code&amp;gt;identifier&amp;lt;/code&amp;gt; element must be present and is used for assigning a canonical name to our OSIS document. We're claiming the &amp;quot;KJV.TutorEncoding&amp;quot; identifier for&lt;br /&gt;
our document, in case anyone wants to refer to our text if, say, we're included in a large library of OSIS documents.&lt;br /&gt;
&lt;br /&gt;
When marking up Biblical materials, we have a need to reference certain &amp;lt;u&amp;gt;portions&amp;lt;/u&amp;gt; of our materials, and not just the entire document. To allow this, we must provide two sides of the same coin:&lt;br /&gt;
*I am referencing this portion;&lt;br /&gt;
*I ''am'' this portion&lt;br /&gt;
&lt;br /&gt;
The two functions are facilitated in OSIS with the &amp;lt;code&amp;gt;osisRef&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;osisID&amp;lt;/code&amp;gt; attributes, respectively, and are reviewed in more detail in the next section.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;refSystem&amp;lt;/code&amp;gt; element in our work states that whenever we markup a portion of our text as something like, &amp;quot;Genesis 1:1&amp;quot; ''(side 2 of the coin)'' we are using the Bible.KJV reference system.&lt;br /&gt;
&lt;br /&gt;
Remember that we had a second attribute on &amp;lt;code&amp;gt;osisText&amp;lt;/code&amp;gt;, in the section above. This attribute is used to state which reference scheme our document will use by default, when citing references ''(side 1 of the coin)'' in our text. The second work element above matches our reference scheme, and declares that we are using the Bible.KJV reference scheme as our default. Other reference schemes are described in [[Alternate Versification]].&lt;br /&gt;
&lt;br /&gt;
==Marking and Referencing==&lt;br /&gt;
Before going any further, we should talk about an OSIS concept that enables us to reference pieces of other works, and also label pieces of our own work as targets of references. These two concepts are represented by the OSIS attributes &amp;lt;code&amp;gt;osisRef&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;osisID&amp;lt;/code&amp;gt;, respectively. The concepts are fairly straight forward, and in their simplest incarnation, easy to comprehend. As an example, let's say we have a commentary that wishes to reference James 1:19. OSIS includes a &amp;lt;code&amp;gt;reference&amp;lt;/code&amp;gt; element for this purpose, and for our example, an instance may look something like:&lt;br /&gt;
 Please see &amp;amp;lt;reference osisRef=&amp;quot;Jas.1.19&amp;quot;&amp;gt;James 1:19&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The counterpart, &amp;lt;code&amp;gt;osisID&amp;lt;/code&amp;gt;, is very similar. Let's say a Bible wishes to mark a section as ''being'' James 1:19. OSIS provides a &amp;lt;code&amp;gt;verse&amp;lt;/code&amp;gt; element for this, and our Bible may include something like:&lt;br /&gt;
 &amp;amp;lt;verse osisID=&amp;quot;Jas.1.19&amp;quot;&amp;gt;Wherefore, my beloved brethren,&lt;br /&gt;
 let every man be swift to hear, slow to speak, slow to wrath:&amp;amp;lt;/verse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Text Divisions==&lt;br /&gt;
OSIS works can be subdivided into arbitrary smaller sections, if desired. For Bibles, it usually makes sense to keep the traditional divisions that have been used for decades: Testament, Book, Chapter, Verse. We will use these for our text. OSIS provides a &amp;lt;code&amp;gt;div&amp;lt;/code&amp;gt; element to facilitate some of these divisions; other divisions are more specifically supported. Here are our 3 divisions, at the beginning of our work to get us down to Genesis, chapter 1.&lt;br /&gt;
     &amp;amp;lt;div type=&amp;quot;bookGroup&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;amp;lt;div type=&amp;quot;book&amp;quot; osisID=&amp;quot;Gen&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;amp;lt;chapter osisID=&amp;quot;Gen.1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Actual Text==&lt;br /&gt;
Now ''finally'' we're ready to start including our actual Bible text in the document. The first verse is Genesis 1:1. We'd like to let the world know the identification of this part of our document, so we'll include the text in a &amp;lt;code&amp;gt;verse&amp;lt;/code&amp;gt; element with an appropriate &amp;lt;code&amp;gt;osisID&amp;lt;/code&amp;gt; attribute. Here it is:&lt;br /&gt;
           &amp;amp;lt;verse osisID=&amp;quot;Gen.1.1&amp;quot;&amp;gt;In the beginning God created the Heauen and the Earth.&amp;amp;lt;/verse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Literal Translations==&lt;br /&gt;
The text that we've chosen to encode claims to be a special type of Bible translation, sometimes referred to as a ''literal'' translation. Translations of these type attempt to preserve --as best they can-- the wording of the text from their original language. These works all tend to use similar mechanisms to indicate where they have needed to deviate from what was presented in the original source, for the purpose of clear target language understanding. Our second verse includes one such anomaly-- the second instance of the word ''was''. Most printed editions of the KJV will ''italicize'' this word, indicating that there was no such Hebrew counterpart that was translated into the English ''&amp;quot;was&amp;quot;'', but without this word, the sentence would not represent correct English. Since OSIS is ''presentation-agnostic'', instead of delegating a display type like ''italic'' for this purpose, we will mark the anomaly and let the publisher choose how they would like it displayed. OSIS provides a &amp;lt;code&amp;gt;transChange&amp;lt;/code&amp;gt; element to allow these translations to mark deviations such as these, and a &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; attribute on this element to indicate the type of change made. Here is our Genesis 1:2, which includes this markup.&lt;br /&gt;
           &amp;amp;lt;verse osisID=&amp;quot;Gen.1.2&amp;quot;&amp;gt;&lt;br /&gt;
             And the earth was without forme , and voyd;and darkeneſſe&lt;br /&gt;
             &amp;amp;lt;transChange type=&amp;quot;added&amp;quot;&amp;gt;was&amp;amp;lt;/transChange&amp;gt;&lt;br /&gt;
             vpon the face of the deepe : And the Spirit of God mooued&lt;br /&gt;
             vpon the face of the waters.&lt;br /&gt;
           &amp;amp;lt;/verse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Quotes==&lt;br /&gt;
Our last verse that we will markup includes a quote by God, Himself! Let's be sure to get this one correct. In OSIS, quotes can be marked with a &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt; element. A &amp;lt;code&amp;gt;who&amp;lt;/code&amp;gt; attribute is also optionally allowed, which we will use to designate who is speaking in this portion of Scripture. Since the orthography of the KJV had no quotation marks, this is indicated with an empty &amp;lt;code&amp;gt;marker&amp;lt;/code&amp;gt; attribute.&lt;br /&gt;
           &amp;amp;lt;verse osisID=&amp;quot;Gen.1.3&amp;quot;&amp;gt;&lt;br /&gt;
             And God ſaid, *&amp;amp;lt;q who=&amp;quot;God&amp;quot; marker=&amp;quot;&amp;quot;&amp;gt;Let there be light&amp;amp;lt;/q&amp;gt; : and there was light.&lt;br /&gt;
           &amp;amp;lt;/verse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
Genesis 1:3 has a note that still needs to be included. In OSIS, notes are inlined at the point of inclusion. Notes also have various types. In this instance, the note is a cross-reference. To retain the original orthography we use the &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; attribute to provide the original marker.&lt;br /&gt;
 &amp;amp;lt;note type=&amp;quot;crossReference&amp;quot; n=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;amp;lt;reference osisRef=&amp;quot;Ps.33.6&amp;quot;&amp;gt;Pſal.33.6.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
   and&lt;br /&gt;
   &amp;amp;lt;reference osisRef=&amp;quot;Ps.136.5&amp;quot;&amp;gt;136.5.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
   &amp;amp;lt;reference osisRef=&amp;quot;Acts.14.15&amp;quot;&amp;gt;acts.14.15.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
   and&lt;br /&gt;
   &amp;amp;lt;reference osisRef=&amp;quot;Acts.17.24&amp;quot;&amp;gt;17.24.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
   &amp;amp;lt;reference osisRef=&amp;quot;Heb.11.3&amp;quot;&amp;gt;hebr.11.3.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
 &amp;amp;lt;/note&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The entire verse would be:&lt;br /&gt;
           &amp;amp;lt;verse osisID=&amp;quot;Gen.1.3&amp;quot;&amp;gt;&lt;br /&gt;
             And God ſaid, &lt;br /&gt;
             &amp;amp;lt;note type=&amp;quot;crossReference&amp;quot; n=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;amp;lt;reference osisRef=&amp;quot;Ps.33.6&amp;quot;&amp;gt;Pſal.33.6.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
               and&lt;br /&gt;
               &amp;amp;lt;reference osisRef=&amp;quot;Ps.136.5&amp;quot;&amp;gt;136.5.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
               &amp;amp;lt;reference osisRef=&amp;quot;Acts.14.15&amp;quot;&amp;gt;acts.14.15.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
               and&lt;br /&gt;
               &amp;amp;lt;reference osisRef=&amp;quot;Acts.17.24&amp;quot;&amp;gt;17.24.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
               &amp;amp;lt;reference osisRef=&amp;quot;Heb.11.3&amp;quot;&amp;gt;hebr.11.3.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
             &amp;amp;lt;/note&amp;gt;&lt;br /&gt;
             &amp;amp;lt;q who=&amp;quot;God&amp;quot; marker=&amp;quot;&amp;quot;&amp;gt;Let there be light&amp;amp;lt;/q&amp;gt;&lt;br /&gt;
             : and there was light.&lt;br /&gt;
           &amp;amp;lt;/verse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Finishing up==&lt;br /&gt;
Remember, in XML, we must have closing marks for every opening mark of an element. Let's be sure to close all of our elements before finishing up our OSIS text. First we'll close our Chapter, then Book, then Testament.&lt;br /&gt;
         &amp;amp;lt;/chapter&amp;gt;&lt;br /&gt;
       &amp;amp;lt;/div&amp;gt;&lt;br /&gt;
     &amp;amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then we'll close our &amp;lt;code&amp;gt;osisText&amp;lt;/code&amp;gt;.&lt;br /&gt;
   &amp;amp;lt;/osisText&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and finally, our root &amp;lt;code&amp;gt;osis&amp;lt;/code&amp;gt; element&lt;br /&gt;
 &amp;amp;lt;/osis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Complete example==&lt;br /&gt;
Neglecting the cross reference illustration for James, here is the complete example of the OSIS Tutorial:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;osis xmlns=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace&amp;quot; &lt;br /&gt;
      xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
      xsi:schemaLocation=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace&lt;br /&gt;
      http://www.bibletechnologies.net/osisCore.2.1.1.xsd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;osisText osisIDWork=&amp;quot;KJV&amp;quot; osisRefWork=&amp;quot;defaultReferenceScheme&amp;quot; xml:lang=&amp;quot;en&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;header&amp;gt;&lt;br /&gt;
        &amp;lt;work osisWork=&amp;quot;KJV&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;title&amp;gt;King James Version of 1611&amp;lt;/title&amp;gt;&lt;br /&gt;
            &amp;lt;identifier type=&amp;quot;OSIS&amp;quot;&amp;gt;KJV.TutorEncoding&amp;lt;/identifier&amp;gt;&lt;br /&gt;
            &amp;lt;refSystem&amp;gt;Bible.KJV&amp;lt;/refSystem&amp;gt;&lt;br /&gt;
        &amp;lt;/work&amp;gt;&lt;br /&gt;
        &amp;lt;work osisWork=&amp;quot;defaultReferenceScheme&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;refSystem&amp;gt;Bible.KJV&amp;lt;/refSystem&amp;gt;&lt;br /&gt;
        &amp;lt;/work&amp;gt;&lt;br /&gt;
    &amp;lt;/header&amp;gt;&lt;br /&gt;
    &amp;lt;div type=&amp;quot;x-testament&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;div type=&amp;quot;book&amp;quot; osisID=&amp;quot;Gen&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;chapter osisID=&amp;quot;Gen.1&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;verse osisID=&amp;quot;Gen.1.1&amp;quot;&amp;gt;In the beginning God created the Heauen and the Earth.&amp;lt;/verse&amp;gt;&lt;br /&gt;
          &amp;lt;verse osisID=&amp;quot;Gen.1.2&amp;quot;&amp;gt;&lt;br /&gt;
            And the earth was without forme , and voyd;and darkeneſſe&lt;br /&gt;
            &amp;lt;transChange type=&amp;quot;added&amp;quot;&amp;gt;was&amp;lt;/transChange&amp;gt;&lt;br /&gt;
            vpon the face of the deepe : And the Spirit of God mooued&lt;br /&gt;
            vpon the face of the waters.&lt;br /&gt;
          &amp;lt;/verse&amp;gt;&lt;br /&gt;
          &amp;lt;verse osisID=&amp;quot;Gen.1.3&amp;quot;&amp;gt;&lt;br /&gt;
            And God ſaid, &lt;br /&gt;
            &amp;lt;note type=&amp;quot;crossReference&amp;quot; n=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;reference osisRef=&amp;quot;Ps.33.6&amp;quot;&amp;gt;Pſal.33.6.&amp;lt;/reference&amp;gt;&lt;br /&gt;
              and&lt;br /&gt;
              &amp;lt;reference osisRef=&amp;quot;Ps.136.5&amp;quot;&amp;gt;136.5.&amp;lt;/reference&amp;gt;&lt;br /&gt;
              &amp;lt;reference osisRef=&amp;quot;Acts.14.15&amp;quot;&amp;gt;acts.14.15.&amp;lt;/reference&amp;gt;&lt;br /&gt;
              and&lt;br /&gt;
              &amp;lt;reference osisRef=&amp;quot;Acts.17.24&amp;quot;&amp;gt;17.24.&amp;lt;/reference&amp;gt;&lt;br /&gt;
              &amp;lt;reference osisRef=&amp;quot;Heb.11.3&amp;quot;&amp;gt;hebr.11.3.&amp;lt;/reference&amp;gt;&lt;br /&gt;
            &amp;lt;/note&amp;gt;&lt;br /&gt;
            &amp;lt;q who=&amp;quot;God&amp;quot; marker=&amp;quot;&amp;quot;&amp;gt;Let there be light&amp;lt;/q&amp;gt;&lt;br /&gt;
            : and there was light.&lt;br /&gt;
          &amp;lt;/verse&amp;gt;&lt;br /&gt;
        &amp;lt;/chapter&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/osisText&amp;gt;&lt;br /&gt;
&amp;lt;/osis&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
And that's it!!! Congratulations, you've just walked through your first entire OSIS document. With power comes complexity, so there is much more to learn if you wish to unlock the features of OSIS that will allow you to more richly markup your texts. But some people may prefer to keep the more intricate aspects of OSIS under lock and key, depending on their needs. With OSIS, the choice is yours, and you now know everything necessary to start encoding your own texts, making them usable by organizations all around the world in a variety of presentation venues. Blessings in your endeavours.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:OSIS]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=OSIS_Tutorial&amp;diff=13146</id>
		<title>OSIS Tutorial</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=OSIS_Tutorial&amp;diff=13146"/>
				<updated>2014-02-07T21:32:43Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* Complete example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Creating a Basic OSIS Document=&lt;br /&gt;
[http://crosswire.org/osis/tutor.jsp Creating a basic OSIS document] can be an easy task with just a little direction, which this brief tutorial hopes to provide.&lt;br /&gt;
&lt;br /&gt;
Throughout this tutorial, we will be marking up a Bible excerpt: Gen 1:1-3, from the King James Version of the Bible, 1611 edition. The excerpt reads as follows:&lt;br /&gt;
 THE FIRST BOOKE OF MOSES, called GENESIS.&lt;br /&gt;
 Chap.j.&lt;br /&gt;
 The creation of the world.&lt;br /&gt;
 1 The creation of Heauen and Earth, 3 of the&lt;br /&gt;
 light, 6 of the firmament, 9 of the earth ſe-&lt;br /&gt;
 parated from the waters, 11 and made fruit-&lt;br /&gt;
 full, 14 of the Sunne, Moone and Starres,&lt;br /&gt;
 20 of fiſh and fowle, 24 of beaſts and cat-&lt;br /&gt;
 tell, 26 of Man in the Image of God. 29 Al-&lt;br /&gt;
 ſo the appointment of food.&lt;br /&gt;
                        1. In the beginning&lt;br /&gt;
                           God created the&lt;br /&gt;
                           Heauen and the&lt;br /&gt;
                           Earth.&lt;br /&gt;
                              2.  And the&lt;br /&gt;
                           earth was with=&lt;br /&gt;
                           out forme , and&lt;br /&gt;
                           voyd;and darken=&lt;br /&gt;
                           eſſe ''was'' vpon&lt;br /&gt;
 the face of the deepe : And the Spirit&lt;br /&gt;
 of God mooued vpon the face of the&lt;br /&gt;
 waters.&lt;br /&gt;
   3.  And God ſaid, *Let there be light :&lt;br /&gt;
 and there was light.&lt;br /&gt;
 * Pſal.33.6. and 136.5. acts.14.15. and 17.24. hebr.11.3.&lt;br /&gt;
&lt;br /&gt;
While this looks like a bunch of typos, it is a faithful representation of the original.&amp;lt;br/&amp;gt;&lt;br /&gt;
For an image of this see: http://dewey.library.upenn.edu/sceti/printedbooksNew/index.cfm?TextID=kjbible&amp;amp;PagePosition=77&amp;lt;br/&amp;gt;&lt;br /&gt;
For the entire first chapter of Genesis see: [[KJV 1611]]&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
In what follows, the following part of the above excerpt page is not yet example coded in this OSIS tutorial:&lt;br /&gt;
 THE FIRST BOOKE OF MOSES, called GENESIS.&lt;br /&gt;
 Chap.j.&lt;br /&gt;
 The creation of the world.&lt;br /&gt;
 1 The creation of Heauen and Earth, 3 of the&lt;br /&gt;
 light, 6 of the firmament, 9 of the earth ſe-&lt;br /&gt;
 parated from the waters, 11 and made fruit-&lt;br /&gt;
 full, 14 of the Sunne, Moone and Starres,&lt;br /&gt;
 20 of fiſh and fowle, 24 of beaſts and cat-&lt;br /&gt;
 tell, 26 of Man in the Image of God. 29 Al-&lt;br /&gt;
 ſo the appointment of food.&lt;br /&gt;
Nonetheless, OSIS does provide a means for such headings and introductory content to be implemented.&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&lt;br /&gt;
# This tutorial does not cover the [[OSIS Bibles#OSIS_Milestones|milestones]] method of using OSIS to mark Bible text.&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
At the core, OSIS is an [http://en.wikipedia.org/wiki/XML XML] markup standard and must comply with rules&amp;lt;ref&amp;gt;One such rule is that XML element (and attribute) names are case-sensitive!&amp;lt;/ref&amp;gt; for basic XML documents. This means that we will need a basic XML header to begin our document. This line should do just fine:&lt;br /&gt;
 &amp;amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==The Root Element==&lt;br /&gt;
The root element for an OSIS document has the name &amp;lt;code&amp;gt;osis&amp;lt;/code&amp;gt;. Since OSIS uses XML Schema to define itself, we can place a link in the root element declaring our document's structure definition (we're an OSIS XML document, not just ''any'' XML document). Our complete root element will look like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;osis xmlns=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace&amp;quot; &lt;br /&gt;
      xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
      xsi:schemaLocation=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace&lt;br /&gt;
      http://www.bibletechnologies.net/osisCore.2.1.1.xsd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
# While/whenever bibletechnologies.net is unavailable, a snapshot of the site is available via the [http://web.archive.org/web/20140118222742/http://www.bibletechnologies.net/ Wayback Machine].&lt;br /&gt;
# While/whenever the Bible Technologies Group website is down, the significant portions of the website are mirrored at http://www.crosswire.org/osis/, including copies of the latest schema and manual.&lt;br /&gt;
&lt;br /&gt;
==The Work Container==&lt;br /&gt;
OSIS documents can either be a corpus of multiple works, or merely a single  text, like the KJV Bible. The latter will be our OSIS document type.  We declare this by placing our entire work in an &amp;lt;code&amp;gt;osisText&amp;lt;/code&amp;gt; element. This element will include attributes that declare our work's id and default reference scheme. The values of these elements are not as important as their function. They are used to link to a &amp;lt;code&amp;gt;work&amp;lt;/code&amp;gt; section that we will discuss a little later, that completely define two functions for our document. For now, we'll just set them to: &amp;quot;KJV&amp;quot; and &amp;quot;defaultReferenceScheme&amp;quot;. Here is our &amp;lt;code&amp;gt;osisText&amp;lt;/code&amp;gt; line, which also includes the default language of our document:&lt;br /&gt;
    &amp;amp;lt;osisText osisIDWork=&amp;quot;KJV&amp;quot; osisRefWork=&amp;quot;defaultReferenceScheme&amp;quot; xml:lang=&amp;quot;en&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==The Header==&lt;br /&gt;
Each OSIS work must have a &amp;lt;code&amp;gt;header&amp;lt;/code&amp;gt; section that defines information about the text. This will include copyright and cataloguing data, among other bibliographic information. The &amp;lt;code&amp;gt;header&amp;lt;/code&amp;gt; not only contains information about our work, it also contains basic information about any works which we reference in our text. Below is our entire &amp;lt;code&amp;gt;header&amp;lt;/code&amp;gt; for our text. We'll explain it in more detail, below.&lt;br /&gt;
     &amp;amp;lt;header&amp;gt;&lt;br /&gt;
         &amp;amp;lt;work osisWork=&amp;quot;KJV&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;amp;lt;title&amp;gt;King James Version of 1611&amp;amp;lt;/title&amp;gt;&lt;br /&gt;
             &amp;amp;lt;identifier type=&amp;quot;OSIS&amp;quot;&amp;gt;KJV.TutorEncoding&amp;amp;lt;/identifier&amp;gt;&lt;br /&gt;
             &amp;amp;lt;refSystem&amp;gt;Bible.KJV&amp;amp;lt;/refSystem&amp;gt;&lt;br /&gt;
         &amp;amp;lt;/work&amp;gt;&lt;br /&gt;
         &amp;amp;lt;work osisWork=&amp;quot;defaultReferenceScheme&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;amp;lt;refSystem&amp;gt;Bible.KJV&amp;amp;lt;/refSystem&amp;gt;&lt;br /&gt;
         &amp;amp;lt;/work&amp;gt;&lt;br /&gt;
     &amp;amp;lt;/header&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our &amp;lt;code&amp;gt;header&amp;lt;/code&amp;gt; includes two &amp;lt;code&amp;gt;work&amp;lt;/code&amp;gt; elements. Each &amp;lt;code&amp;gt;work&amp;lt;/code&amp;gt; element is uniquely distinguished by its &amp;lt;code&amp;gt;osisWork&amp;lt;/code&amp;gt; attribute.&lt;br /&gt;
&lt;br /&gt;
The first &amp;lt;code&amp;gt;work&amp;lt;/code&amp;gt; element defines ''our'' work. This is designated by matching the &amp;lt;code&amp;gt;osisWork&amp;lt;/code&amp;gt; attribute value to the &amp;lt;code&amp;gt;osisIDWork&amp;lt;/code&amp;gt; attribute value of our &amp;lt;code&amp;gt;osisText&amp;lt;/code&amp;gt; element in the section above. This sounds confusing but simply notice they both have the value &amp;quot;KJV&amp;quot;-- that's all there is to it.&lt;br /&gt;
&lt;br /&gt;
Inside this work, we have an element that defines our &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;. We also have a special &amp;lt;code&amp;gt;identifier&amp;lt;/code&amp;gt; element with a &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; value of &amp;quot;OSIS&amp;quot;. This &amp;lt;code&amp;gt;identifier&amp;lt;/code&amp;gt; element must be present and is used for assigning a canonical name to our OSIS document. We're claiming the &amp;quot;KJV.TutorEncoding&amp;quot; identifier for&lt;br /&gt;
our document, in case anyone wants to refer to our text if, say, we're included in a large library of OSIS documents.&lt;br /&gt;
&lt;br /&gt;
When marking up Biblical materials, we have a need to reference certain &amp;lt;u&amp;gt;portions&amp;lt;/u&amp;gt; of our materials, and not just the entire document. To allow this, we must provide two sides of the same coin:&lt;br /&gt;
*I am referencing this portion;&lt;br /&gt;
*I ''am'' this portion&lt;br /&gt;
&lt;br /&gt;
The two functions are facilitated in OSIS with the &amp;lt;code&amp;gt;osisRef&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;osisID&amp;lt;/code&amp;gt; attributes, respectively, and are reviewed in more detail in the next section.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;refSystem&amp;lt;/code&amp;gt; element in our work states that whenever we markup a portion of our text as something like, &amp;quot;Genesis 1:1&amp;quot; ''(side 2 of the coin)'' we are using the Bible.KJV reference system.&lt;br /&gt;
&lt;br /&gt;
Remember that we had a second attribute on &amp;lt;code&amp;gt;osisText&amp;lt;/code&amp;gt;, in the section above. This attribute is used to state which reference scheme our document will use by default, when citing references ''(side 1 of the coin)'' in our text. The second work element above matches our reference scheme, and declares that we are using the Bible.KJV reference scheme as our default. Other reference schemes are described in [[Alternate Versification]].&lt;br /&gt;
&lt;br /&gt;
==Marking and Referencing==&lt;br /&gt;
Before going any further, we should talk about an OSIS concept that enables us to reference pieces of other works, and also label pieces of our own work as targets of references. These two concepts are represented by the OSIS attributes &amp;lt;code&amp;gt;osisRef&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;osisID&amp;lt;/code&amp;gt;, respectively. The concepts are fairly straight forward, and in their simplest incarnation, easy to comprehend. As an example, let's say we have a commentary that wishes to reference James 1:19. OSIS includes a &amp;lt;code&amp;gt;reference&amp;lt;/code&amp;gt; element for this purpose, and for our example, an instance may look something like:&lt;br /&gt;
 Please see &amp;amp;lt;reference osisRef=&amp;quot;Jas.1.19&amp;quot;&amp;gt;James 1:19&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The counterpart, &amp;lt;code&amp;gt;osisID&amp;lt;/code&amp;gt;, is very similar. Let's say a Bible wishes to mark a section as ''being'' James 1:19. OSIS provides a &amp;lt;code&amp;gt;verse&amp;lt;/code&amp;gt; element for this, and our Bible may include something like:&lt;br /&gt;
 &amp;amp;lt;verse osisID=&amp;quot;Jas.1.19&amp;quot;&amp;gt;Wherefore, my beloved brethren,&lt;br /&gt;
 let every man be swift to hear, slow to speak, slow to wrath:&amp;amp;lt;/verse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Text Divisions==&lt;br /&gt;
OSIS works can be subdivided into arbitrary smaller sections, if desired. For Bibles, it usually makes sense to keep the traditional divisions that have been used for decades: Testament, Book, Chapter, Verse. We will use these for our text. OSIS provides a &amp;lt;code&amp;gt;div&amp;lt;/code&amp;gt; element to facilitate some of these divisions; other divisions are more specifically supported. Here are our 3 divisions, at the beginning of our work to get us down to Genesis, chapter 1.&lt;br /&gt;
     &amp;amp;lt;div type=&amp;quot;bookGroup&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;amp;lt;div type=&amp;quot;book&amp;quot; osisID=&amp;quot;Gen&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;amp;lt;chapter osisID=&amp;quot;Gen.1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Actual Text==&lt;br /&gt;
Now ''finally'' we're ready to start including our actual Bible text in the document. The first verse is Genesis 1:1. We'd like to let the world know the identification of this part of our document, so we'll include the text in a &amp;lt;code&amp;gt;verse&amp;lt;/code&amp;gt; element with an appropriate &amp;lt;code&amp;gt;osisID&amp;lt;/code&amp;gt; attribute. Here it is:&lt;br /&gt;
           &amp;amp;lt;verse osisID=&amp;quot;Gen.1.1&amp;quot;&amp;gt;In the beginning God created the Heauen and the Earth.&amp;amp;lt;/verse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Literal Translations==&lt;br /&gt;
The text that we've chosen to encode claims to be a special type of Bible translation, sometimes referred to as a ''literal'' translation. Translations of these type attempt to preserve --as best they can-- the wording of the text from their original language. These works all tend to use similar mechanisms to indicate where they have needed to deviate from what was presented in the original source, for the purpose of clear target language understanding. Our second verse includes one such anomaly-- the second instance of the word ''was''. Most printed editions of the KJV will ''italicize'' this word, indicating that there was no such Hebrew counterpart that was translated into the English ''&amp;quot;was&amp;quot;'', but without this word, the sentence would not represent correct English. Since OSIS is ''presentation-agnostic'', instead of delegating a display type like ''italic'' for this purpose, we will mark the anomaly and let the publisher choose how they would like it displayed. OSIS provides a &amp;lt;code&amp;gt;transChange&amp;lt;/code&amp;gt; element to allow these translations to mark deviations such as these, and a &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; attribute on this element to indicate the type of change made. Here is our Genesis 1:2, which includes this markup.&lt;br /&gt;
           &amp;amp;lt;verse osisID=&amp;quot;Gen.1.2&amp;quot;&amp;gt;&lt;br /&gt;
             And the earth was without forme , and voyd;and darkeneſſe&lt;br /&gt;
             &amp;amp;lt;transChange type=&amp;quot;added&amp;quot;&amp;gt;was&amp;amp;lt;/transChange&amp;gt;&lt;br /&gt;
             vpon the face of the deepe : And the Spirit of God mooued&lt;br /&gt;
             vpon the face of the waters.&lt;br /&gt;
           &amp;amp;lt;/verse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Quotes==&lt;br /&gt;
Our last verse that we will markup includes a quote by God, Himself! Let's be sure to get this one correct. In OSIS, quotes can be marked with a &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt; element. A &amp;lt;code&amp;gt;who&amp;lt;/code&amp;gt; attribute is also optionally allowed, which we will use to designate who is speaking in this portion of Scripture. Since the orthography of the KJV had no quotation marks, this is indicated with an empty &amp;lt;code&amp;gt;marker&amp;lt;/code&amp;gt; attribute.&lt;br /&gt;
           &amp;amp;lt;verse osisID=&amp;quot;Gen.1.3&amp;quot;&amp;gt;&lt;br /&gt;
             And God ſaid, *&amp;amp;lt;q who=&amp;quot;God&amp;quot; marker=&amp;quot;&amp;quot;&amp;gt;Let there be light&amp;amp;lt;/q&amp;gt; : and there was light.&lt;br /&gt;
           &amp;amp;lt;/verse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
Genesis 1:3 has a note that still needs to be included. In OSIS, notes are inlined at the point of inclusion. Notes also have various types. In this instance, the note is a cross-reference. To retain the original orthography we use the &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; attribute to provide the original marker.&lt;br /&gt;
 &amp;amp;lt;note type=&amp;quot;crossReference&amp;quot; n=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;amp;lt;reference osisRef=&amp;quot;Ps.33.6&amp;quot;&amp;gt;Pſal.33.6.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
   and&lt;br /&gt;
   &amp;amp;lt;reference osisRef=&amp;quot;Ps.136.5&amp;quot;&amp;gt;136.5.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
   &amp;amp;lt;reference osisRef=&amp;quot;Acts.14.15&amp;quot;&amp;gt;acts.14.15.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
   and&lt;br /&gt;
   &amp;amp;lt;reference osisRef=&amp;quot;Acts.17.24&amp;quot;&amp;gt;17.24.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
   &amp;amp;lt;reference osisRef=&amp;quot;Heb.11.3&amp;quot;&amp;gt;hebr.11.3.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
 &amp;amp;lt;/note&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The entire verse would be:&lt;br /&gt;
           &amp;amp;lt;verse osisID=&amp;quot;Gen.1.3&amp;quot;&amp;gt;&lt;br /&gt;
             And God ſaid, &lt;br /&gt;
             &amp;amp;lt;note type=&amp;quot;crossReference&amp;quot; n=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;amp;lt;reference osisRef=&amp;quot;Ps.33.6&amp;quot;&amp;gt;Pſal.33.6.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
               and&lt;br /&gt;
               &amp;amp;lt;reference osisRef=&amp;quot;Ps.136.5&amp;quot;&amp;gt;136.5.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
               &amp;amp;lt;reference osisRef=&amp;quot;Acts.14.15&amp;quot;&amp;gt;acts.14.15.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
               and&lt;br /&gt;
               &amp;amp;lt;reference osisRef=&amp;quot;Acts.17.24&amp;quot;&amp;gt;17.24.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
               &amp;amp;lt;reference osisRef=&amp;quot;Heb.11.3&amp;quot;&amp;gt;hebr.11.3.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
             &amp;amp;lt;/note&amp;gt;&lt;br /&gt;
             &amp;amp;lt;q who=&amp;quot;God&amp;quot; marker=&amp;quot;&amp;quot;&amp;gt;Let there be light&amp;amp;lt;/q&amp;gt;&lt;br /&gt;
             : and there was light.&lt;br /&gt;
           &amp;amp;lt;/verse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Finishing up==&lt;br /&gt;
Remember, in XML, we must have closing marks for every opening mark of an element. Let's be sure to close all of our elements before finishing up our OSIS text. First we'll close our Chapter, then Book, then Testament.&lt;br /&gt;
         &amp;amp;lt;/chapter&amp;gt;&lt;br /&gt;
       &amp;amp;lt;/div&amp;gt;&lt;br /&gt;
     &amp;amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then we'll close our &amp;lt;code&amp;gt;osisText&amp;lt;/code&amp;gt;.&lt;br /&gt;
   &amp;amp;lt;/osisText&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and finally, our root &amp;lt;code&amp;gt;osis&amp;lt;/code&amp;gt; element&lt;br /&gt;
 &amp;amp;lt;/osis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Complete example==&lt;br /&gt;
Neglecting the cross reference illustration for James, here is the complete example of the OSIS Tutorial:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;osis xmlns=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace&amp;quot; &lt;br /&gt;
      xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
      xsi:schemaLocation=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace&lt;br /&gt;
      http://www.bibletechnologies.net/osisCore.2.1.1.xsd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;osisText osisIDWork=&amp;quot;KJV&amp;quot; osisRefWork=&amp;quot;defaultReferenceScheme&amp;quot; xml:lang=&amp;quot;en&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;header&amp;gt;&lt;br /&gt;
        &amp;lt;work osisWork=&amp;quot;KJV&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;title&amp;gt;King James Version of 1611&amp;lt;/title&amp;gt;&lt;br /&gt;
            &amp;lt;identifier type=&amp;quot;OSIS&amp;quot;&amp;gt;KJV.TutorEncoding&amp;lt;/identifier&amp;gt;&lt;br /&gt;
            &amp;lt;refSystem&amp;gt;Bible.KJV&amp;lt;/refSystem&amp;gt;&lt;br /&gt;
        &amp;lt;/work&amp;gt;&lt;br /&gt;
        &amp;lt;work osisWork=&amp;quot;defaultReferenceScheme&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;refSystem&amp;gt;Bible.KJV&amp;lt;/refSystem&amp;gt;&lt;br /&gt;
        &amp;lt;/work&amp;gt;&lt;br /&gt;
    &amp;lt;/header&amp;gt;&lt;br /&gt;
    &amp;lt;div type=&amp;quot;x-testament&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;div type=&amp;quot;book&amp;quot; osisID=&amp;quot;Gen&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;chapter osisID=&amp;quot;Gen.1&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;verse osisID=&amp;quot;Gen.1.1&amp;quot;&amp;gt;In the beginning God created the Heauen and the Earth.&amp;lt;/verse&amp;gt;&lt;br /&gt;
          &amp;lt;verse osisID=&amp;quot;Gen.1.2&amp;quot;&amp;gt;&lt;br /&gt;
            And the earth was without forme , and voyd;and darkeneſſe&lt;br /&gt;
            &amp;lt;transChange type=&amp;quot;added&amp;quot;&amp;gt;was&amp;lt;/transChange&amp;gt;&lt;br /&gt;
            vpon the face of the deepe : And the Spirit of God mooued&lt;br /&gt;
            vpon the face of the waters.&lt;br /&gt;
          &amp;lt;/verse&amp;gt;&lt;br /&gt;
          &amp;lt;verse osisID=&amp;quot;Gen.1.3&amp;quot;&amp;gt;&lt;br /&gt;
            And God ſaid, &lt;br /&gt;
            &amp;lt;note type=&amp;quot;crossReference&amp;quot; n=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;reference osisRef=&amp;quot;Ps.33.6&amp;quot;&amp;gt;Pſal.33.6.&amp;lt;/reference&amp;gt;&lt;br /&gt;
              and&lt;br /&gt;
              &amp;lt;reference osisRef=&amp;quot;Ps.136.5&amp;quot;&amp;gt;136.5.&amp;lt;/reference&amp;gt;&lt;br /&gt;
              &amp;lt;reference osisRef=&amp;quot;Acts.14.15&amp;quot;&amp;gt;acts.14.15.&amp;lt;/reference&amp;gt;&lt;br /&gt;
              and&lt;br /&gt;
              &amp;lt;reference osisRef=&amp;quot;Acts.17.24&amp;quot;&amp;gt;17.24.&amp;lt;/reference&amp;gt;&lt;br /&gt;
              &amp;lt;reference osisRef=&amp;quot;Heb.11.3&amp;quot;&amp;gt;hebr.11.3.&amp;lt;/reference&amp;gt;&lt;br /&gt;
            &amp;lt;/note&amp;gt;&lt;br /&gt;
            &amp;lt;q who=&amp;quot;God&amp;quot; marker=&amp;quot;&amp;quot;&amp;gt;Let there be light&amp;lt;/q&amp;gt;&lt;br /&gt;
            : and there was light.&lt;br /&gt;
          &amp;lt;/verse&amp;gt;&lt;br /&gt;
        &amp;lt;/chapter&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/osisText&amp;gt;&lt;br /&gt;
&amp;lt;/osis&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This has been validated using [http://xml-copy-editor.sourceforge.net/ XML Copy Editor].&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
And that's it!!! Congratulations, you've just walked through your first entire OSIS document. With power comes complexity, so there is much more to learn if you wish to unlock the features of OSIS that will allow you to more richly markup your texts. But some people may prefer to keep the more intricate aspects of OSIS under lock and key, depending on their needs. With OSIS, the choice is yours, and you now know everything necessary to start encoding your own texts, making them usable by organizations all around the world in a variety of presentation venues. Blessings in your endeavours.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:OSIS]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=OSIS_Tutorial&amp;diff=13145</id>
		<title>OSIS Tutorial</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=OSIS_Tutorial&amp;diff=13145"/>
				<updated>2014-02-07T21:32:11Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* Text Divisions */ was bad OSIS&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Creating a Basic OSIS Document=&lt;br /&gt;
[http://crosswire.org/osis/tutor.jsp Creating a basic OSIS document] can be an easy task with just a little direction, which this brief tutorial hopes to provide.&lt;br /&gt;
&lt;br /&gt;
Throughout this tutorial, we will be marking up a Bible excerpt: Gen 1:1-3, from the King James Version of the Bible, 1611 edition. The excerpt reads as follows:&lt;br /&gt;
 THE FIRST BOOKE OF MOSES, called GENESIS.&lt;br /&gt;
 Chap.j.&lt;br /&gt;
 The creation of the world.&lt;br /&gt;
 1 The creation of Heauen and Earth, 3 of the&lt;br /&gt;
 light, 6 of the firmament, 9 of the earth ſe-&lt;br /&gt;
 parated from the waters, 11 and made fruit-&lt;br /&gt;
 full, 14 of the Sunne, Moone and Starres,&lt;br /&gt;
 20 of fiſh and fowle, 24 of beaſts and cat-&lt;br /&gt;
 tell, 26 of Man in the Image of God. 29 Al-&lt;br /&gt;
 ſo the appointment of food.&lt;br /&gt;
                        1. In the beginning&lt;br /&gt;
                           God created the&lt;br /&gt;
                           Heauen and the&lt;br /&gt;
                           Earth.&lt;br /&gt;
                              2.  And the&lt;br /&gt;
                           earth was with=&lt;br /&gt;
                           out forme , and&lt;br /&gt;
                           voyd;and darken=&lt;br /&gt;
                           eſſe ''was'' vpon&lt;br /&gt;
 the face of the deepe : And the Spirit&lt;br /&gt;
 of God mooued vpon the face of the&lt;br /&gt;
 waters.&lt;br /&gt;
   3.  And God ſaid, *Let there be light :&lt;br /&gt;
 and there was light.&lt;br /&gt;
 * Pſal.33.6. and 136.5. acts.14.15. and 17.24. hebr.11.3.&lt;br /&gt;
&lt;br /&gt;
While this looks like a bunch of typos, it is a faithful representation of the original.&amp;lt;br/&amp;gt;&lt;br /&gt;
For an image of this see: http://dewey.library.upenn.edu/sceti/printedbooksNew/index.cfm?TextID=kjbible&amp;amp;PagePosition=77&amp;lt;br/&amp;gt;&lt;br /&gt;
For the entire first chapter of Genesis see: [[KJV 1611]]&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
In what follows, the following part of the above excerpt page is not yet example coded in this OSIS tutorial:&lt;br /&gt;
 THE FIRST BOOKE OF MOSES, called GENESIS.&lt;br /&gt;
 Chap.j.&lt;br /&gt;
 The creation of the world.&lt;br /&gt;
 1 The creation of Heauen and Earth, 3 of the&lt;br /&gt;
 light, 6 of the firmament, 9 of the earth ſe-&lt;br /&gt;
 parated from the waters, 11 and made fruit-&lt;br /&gt;
 full, 14 of the Sunne, Moone and Starres,&lt;br /&gt;
 20 of fiſh and fowle, 24 of beaſts and cat-&lt;br /&gt;
 tell, 26 of Man in the Image of God. 29 Al-&lt;br /&gt;
 ſo the appointment of food.&lt;br /&gt;
Nonetheless, OSIS does provide a means for such headings and introductory content to be implemented.&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&lt;br /&gt;
# This tutorial does not cover the [[OSIS Bibles#OSIS_Milestones|milestones]] method of using OSIS to mark Bible text.&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
At the core, OSIS is an [http://en.wikipedia.org/wiki/XML XML] markup standard and must comply with rules&amp;lt;ref&amp;gt;One such rule is that XML element (and attribute) names are case-sensitive!&amp;lt;/ref&amp;gt; for basic XML documents. This means that we will need a basic XML header to begin our document. This line should do just fine:&lt;br /&gt;
 &amp;amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==The Root Element==&lt;br /&gt;
The root element for an OSIS document has the name &amp;lt;code&amp;gt;osis&amp;lt;/code&amp;gt;. Since OSIS uses XML Schema to define itself, we can place a link in the root element declaring our document's structure definition (we're an OSIS XML document, not just ''any'' XML document). Our complete root element will look like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;osis xmlns=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace&amp;quot; &lt;br /&gt;
      xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
      xsi:schemaLocation=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace&lt;br /&gt;
      http://www.bibletechnologies.net/osisCore.2.1.1.xsd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
# While/whenever bibletechnologies.net is unavailable, a snapshot of the site is available via the [http://web.archive.org/web/20140118222742/http://www.bibletechnologies.net/ Wayback Machine].&lt;br /&gt;
# While/whenever the Bible Technologies Group website is down, the significant portions of the website are mirrored at http://www.crosswire.org/osis/, including copies of the latest schema and manual.&lt;br /&gt;
&lt;br /&gt;
==The Work Container==&lt;br /&gt;
OSIS documents can either be a corpus of multiple works, or merely a single  text, like the KJV Bible. The latter will be our OSIS document type.  We declare this by placing our entire work in an &amp;lt;code&amp;gt;osisText&amp;lt;/code&amp;gt; element. This element will include attributes that declare our work's id and default reference scheme. The values of these elements are not as important as their function. They are used to link to a &amp;lt;code&amp;gt;work&amp;lt;/code&amp;gt; section that we will discuss a little later, that completely define two functions for our document. For now, we'll just set them to: &amp;quot;KJV&amp;quot; and &amp;quot;defaultReferenceScheme&amp;quot;. Here is our &amp;lt;code&amp;gt;osisText&amp;lt;/code&amp;gt; line, which also includes the default language of our document:&lt;br /&gt;
    &amp;amp;lt;osisText osisIDWork=&amp;quot;KJV&amp;quot; osisRefWork=&amp;quot;defaultReferenceScheme&amp;quot; xml:lang=&amp;quot;en&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==The Header==&lt;br /&gt;
Each OSIS work must have a &amp;lt;code&amp;gt;header&amp;lt;/code&amp;gt; section that defines information about the text. This will include copyright and cataloguing data, among other bibliographic information. The &amp;lt;code&amp;gt;header&amp;lt;/code&amp;gt; not only contains information about our work, it also contains basic information about any works which we reference in our text. Below is our entire &amp;lt;code&amp;gt;header&amp;lt;/code&amp;gt; for our text. We'll explain it in more detail, below.&lt;br /&gt;
     &amp;amp;lt;header&amp;gt;&lt;br /&gt;
         &amp;amp;lt;work osisWork=&amp;quot;KJV&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;amp;lt;title&amp;gt;King James Version of 1611&amp;amp;lt;/title&amp;gt;&lt;br /&gt;
             &amp;amp;lt;identifier type=&amp;quot;OSIS&amp;quot;&amp;gt;KJV.TutorEncoding&amp;amp;lt;/identifier&amp;gt;&lt;br /&gt;
             &amp;amp;lt;refSystem&amp;gt;Bible.KJV&amp;amp;lt;/refSystem&amp;gt;&lt;br /&gt;
         &amp;amp;lt;/work&amp;gt;&lt;br /&gt;
         &amp;amp;lt;work osisWork=&amp;quot;defaultReferenceScheme&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;amp;lt;refSystem&amp;gt;Bible.KJV&amp;amp;lt;/refSystem&amp;gt;&lt;br /&gt;
         &amp;amp;lt;/work&amp;gt;&lt;br /&gt;
     &amp;amp;lt;/header&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our &amp;lt;code&amp;gt;header&amp;lt;/code&amp;gt; includes two &amp;lt;code&amp;gt;work&amp;lt;/code&amp;gt; elements. Each &amp;lt;code&amp;gt;work&amp;lt;/code&amp;gt; element is uniquely distinguished by its &amp;lt;code&amp;gt;osisWork&amp;lt;/code&amp;gt; attribute.&lt;br /&gt;
&lt;br /&gt;
The first &amp;lt;code&amp;gt;work&amp;lt;/code&amp;gt; element defines ''our'' work. This is designated by matching the &amp;lt;code&amp;gt;osisWork&amp;lt;/code&amp;gt; attribute value to the &amp;lt;code&amp;gt;osisIDWork&amp;lt;/code&amp;gt; attribute value of our &amp;lt;code&amp;gt;osisText&amp;lt;/code&amp;gt; element in the section above. This sounds confusing but simply notice they both have the value &amp;quot;KJV&amp;quot;-- that's all there is to it.&lt;br /&gt;
&lt;br /&gt;
Inside this work, we have an element that defines our &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;. We also have a special &amp;lt;code&amp;gt;identifier&amp;lt;/code&amp;gt; element with a &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; value of &amp;quot;OSIS&amp;quot;. This &amp;lt;code&amp;gt;identifier&amp;lt;/code&amp;gt; element must be present and is used for assigning a canonical name to our OSIS document. We're claiming the &amp;quot;KJV.TutorEncoding&amp;quot; identifier for&lt;br /&gt;
our document, in case anyone wants to refer to our text if, say, we're included in a large library of OSIS documents.&lt;br /&gt;
&lt;br /&gt;
When marking up Biblical materials, we have a need to reference certain &amp;lt;u&amp;gt;portions&amp;lt;/u&amp;gt; of our materials, and not just the entire document. To allow this, we must provide two sides of the same coin:&lt;br /&gt;
*I am referencing this portion;&lt;br /&gt;
*I ''am'' this portion&lt;br /&gt;
&lt;br /&gt;
The two functions are facilitated in OSIS with the &amp;lt;code&amp;gt;osisRef&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;osisID&amp;lt;/code&amp;gt; attributes, respectively, and are reviewed in more detail in the next section.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;refSystem&amp;lt;/code&amp;gt; element in our work states that whenever we markup a portion of our text as something like, &amp;quot;Genesis 1:1&amp;quot; ''(side 2 of the coin)'' we are using the Bible.KJV reference system.&lt;br /&gt;
&lt;br /&gt;
Remember that we had a second attribute on &amp;lt;code&amp;gt;osisText&amp;lt;/code&amp;gt;, in the section above. This attribute is used to state which reference scheme our document will use by default, when citing references ''(side 1 of the coin)'' in our text. The second work element above matches our reference scheme, and declares that we are using the Bible.KJV reference scheme as our default. Other reference schemes are described in [[Alternate Versification]].&lt;br /&gt;
&lt;br /&gt;
==Marking and Referencing==&lt;br /&gt;
Before going any further, we should talk about an OSIS concept that enables us to reference pieces of other works, and also label pieces of our own work as targets of references. These two concepts are represented by the OSIS attributes &amp;lt;code&amp;gt;osisRef&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;osisID&amp;lt;/code&amp;gt;, respectively. The concepts are fairly straight forward, and in their simplest incarnation, easy to comprehend. As an example, let's say we have a commentary that wishes to reference James 1:19. OSIS includes a &amp;lt;code&amp;gt;reference&amp;lt;/code&amp;gt; element for this purpose, and for our example, an instance may look something like:&lt;br /&gt;
 Please see &amp;amp;lt;reference osisRef=&amp;quot;Jas.1.19&amp;quot;&amp;gt;James 1:19&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The counterpart, &amp;lt;code&amp;gt;osisID&amp;lt;/code&amp;gt;, is very similar. Let's say a Bible wishes to mark a section as ''being'' James 1:19. OSIS provides a &amp;lt;code&amp;gt;verse&amp;lt;/code&amp;gt; element for this, and our Bible may include something like:&lt;br /&gt;
 &amp;amp;lt;verse osisID=&amp;quot;Jas.1.19&amp;quot;&amp;gt;Wherefore, my beloved brethren,&lt;br /&gt;
 let every man be swift to hear, slow to speak, slow to wrath:&amp;amp;lt;/verse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Text Divisions==&lt;br /&gt;
OSIS works can be subdivided into arbitrary smaller sections, if desired. For Bibles, it usually makes sense to keep the traditional divisions that have been used for decades: Testament, Book, Chapter, Verse. We will use these for our text. OSIS provides a &amp;lt;code&amp;gt;div&amp;lt;/code&amp;gt; element to facilitate some of these divisions; other divisions are more specifically supported. Here are our 3 divisions, at the beginning of our work to get us down to Genesis, chapter 1.&lt;br /&gt;
     &amp;amp;lt;div type=&amp;quot;bookGroup&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;amp;lt;div type=&amp;quot;book&amp;quot; osisID=&amp;quot;Gen&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;amp;lt;chapter osisID=&amp;quot;Gen.1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Actual Text==&lt;br /&gt;
Now ''finally'' we're ready to start including our actual Bible text in the document. The first verse is Genesis 1:1. We'd like to let the world know the identification of this part of our document, so we'll include the text in a &amp;lt;code&amp;gt;verse&amp;lt;/code&amp;gt; element with an appropriate &amp;lt;code&amp;gt;osisID&amp;lt;/code&amp;gt; attribute. Here it is:&lt;br /&gt;
           &amp;amp;lt;verse osisID=&amp;quot;Gen.1.1&amp;quot;&amp;gt;In the beginning God created the Heauen and the Earth.&amp;amp;lt;/verse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Literal Translations==&lt;br /&gt;
The text that we've chosen to encode claims to be a special type of Bible translation, sometimes referred to as a ''literal'' translation. Translations of these type attempt to preserve --as best they can-- the wording of the text from their original language. These works all tend to use similar mechanisms to indicate where they have needed to deviate from what was presented in the original source, for the purpose of clear target language understanding. Our second verse includes one such anomaly-- the second instance of the word ''was''. Most printed editions of the KJV will ''italicize'' this word, indicating that there was no such Hebrew counterpart that was translated into the English ''&amp;quot;was&amp;quot;'', but without this word, the sentence would not represent correct English. Since OSIS is ''presentation-agnostic'', instead of delegating a display type like ''italic'' for this purpose, we will mark the anomaly and let the publisher choose how they would like it displayed. OSIS provides a &amp;lt;code&amp;gt;transChange&amp;lt;/code&amp;gt; element to allow these translations to mark deviations such as these, and a &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; attribute on this element to indicate the type of change made. Here is our Genesis 1:2, which includes this markup.&lt;br /&gt;
           &amp;amp;lt;verse osisID=&amp;quot;Gen.1.2&amp;quot;&amp;gt;&lt;br /&gt;
             And the earth was without forme , and voyd;and darkeneſſe&lt;br /&gt;
             &amp;amp;lt;transChange type=&amp;quot;added&amp;quot;&amp;gt;was&amp;amp;lt;/transChange&amp;gt;&lt;br /&gt;
             vpon the face of the deepe : And the Spirit of God mooued&lt;br /&gt;
             vpon the face of the waters.&lt;br /&gt;
           &amp;amp;lt;/verse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Quotes==&lt;br /&gt;
Our last verse that we will markup includes a quote by God, Himself! Let's be sure to get this one correct. In OSIS, quotes can be marked with a &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt; element. A &amp;lt;code&amp;gt;who&amp;lt;/code&amp;gt; attribute is also optionally allowed, which we will use to designate who is speaking in this portion of Scripture. Since the orthography of the KJV had no quotation marks, this is indicated with an empty &amp;lt;code&amp;gt;marker&amp;lt;/code&amp;gt; attribute.&lt;br /&gt;
           &amp;amp;lt;verse osisID=&amp;quot;Gen.1.3&amp;quot;&amp;gt;&lt;br /&gt;
             And God ſaid, *&amp;amp;lt;q who=&amp;quot;God&amp;quot; marker=&amp;quot;&amp;quot;&amp;gt;Let there be light&amp;amp;lt;/q&amp;gt; : and there was light.&lt;br /&gt;
           &amp;amp;lt;/verse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
Genesis 1:3 has a note that still needs to be included. In OSIS, notes are inlined at the point of inclusion. Notes also have various types. In this instance, the note is a cross-reference. To retain the original orthography we use the &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; attribute to provide the original marker.&lt;br /&gt;
 &amp;amp;lt;note type=&amp;quot;crossReference&amp;quot; n=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;amp;lt;reference osisRef=&amp;quot;Ps.33.6&amp;quot;&amp;gt;Pſal.33.6.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
   and&lt;br /&gt;
   &amp;amp;lt;reference osisRef=&amp;quot;Ps.136.5&amp;quot;&amp;gt;136.5.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
   &amp;amp;lt;reference osisRef=&amp;quot;Acts.14.15&amp;quot;&amp;gt;acts.14.15.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
   and&lt;br /&gt;
   &amp;amp;lt;reference osisRef=&amp;quot;Acts.17.24&amp;quot;&amp;gt;17.24.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
   &amp;amp;lt;reference osisRef=&amp;quot;Heb.11.3&amp;quot;&amp;gt;hebr.11.3.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
 &amp;amp;lt;/note&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The entire verse would be:&lt;br /&gt;
           &amp;amp;lt;verse osisID=&amp;quot;Gen.1.3&amp;quot;&amp;gt;&lt;br /&gt;
             And God ſaid, &lt;br /&gt;
             &amp;amp;lt;note type=&amp;quot;crossReference&amp;quot; n=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;amp;lt;reference osisRef=&amp;quot;Ps.33.6&amp;quot;&amp;gt;Pſal.33.6.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
               and&lt;br /&gt;
               &amp;amp;lt;reference osisRef=&amp;quot;Ps.136.5&amp;quot;&amp;gt;136.5.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
               &amp;amp;lt;reference osisRef=&amp;quot;Acts.14.15&amp;quot;&amp;gt;acts.14.15.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
               and&lt;br /&gt;
               &amp;amp;lt;reference osisRef=&amp;quot;Acts.17.24&amp;quot;&amp;gt;17.24.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
               &amp;amp;lt;reference osisRef=&amp;quot;Heb.11.3&amp;quot;&amp;gt;hebr.11.3.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
             &amp;amp;lt;/note&amp;gt;&lt;br /&gt;
             &amp;amp;lt;q who=&amp;quot;God&amp;quot; marker=&amp;quot;&amp;quot;&amp;gt;Let there be light&amp;amp;lt;/q&amp;gt;&lt;br /&gt;
             : and there was light.&lt;br /&gt;
           &amp;amp;lt;/verse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Finishing up==&lt;br /&gt;
Remember, in XML, we must have closing marks for every opening mark of an element. Let's be sure to close all of our elements before finishing up our OSIS text. First we'll close our Chapter, then Book, then Testament.&lt;br /&gt;
         &amp;amp;lt;/chapter&amp;gt;&lt;br /&gt;
       &amp;amp;lt;/div&amp;gt;&lt;br /&gt;
     &amp;amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then we'll close our &amp;lt;code&amp;gt;osisText&amp;lt;/code&amp;gt;.&lt;br /&gt;
   &amp;amp;lt;/osisText&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and finally, our root &amp;lt;code&amp;gt;osis&amp;lt;/code&amp;gt; element&lt;br /&gt;
 &amp;amp;lt;/osis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Complete example==&lt;br /&gt;
Neglecting the cross reference illustration for James, here is the complete example of the OSIS Tutorial:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;osis xmlns=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace&amp;quot; &lt;br /&gt;
      xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
      xsi:schemaLocation=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace http://www.bibletechnologies.net/osisCore.2.1.1.xsd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;osisText osisIDWork=&amp;quot;KJV&amp;quot; osisRefWork=&amp;quot;defaultReferenceScheme&amp;quot; xml:lang=&amp;quot;en&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;header&amp;gt;&lt;br /&gt;
        &amp;lt;work osisWork=&amp;quot;KJV&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;title&amp;gt;King James Version of 1611&amp;lt;/title&amp;gt;&lt;br /&gt;
            &amp;lt;identifier type=&amp;quot;OSIS&amp;quot;&amp;gt;KJV.TutorEncoding&amp;lt;/identifier&amp;gt;&lt;br /&gt;
            &amp;lt;refSystem&amp;gt;Bible.KJV&amp;lt;/refSystem&amp;gt;&lt;br /&gt;
        &amp;lt;/work&amp;gt;&lt;br /&gt;
        &amp;lt;work osisWork=&amp;quot;defaultReferenceScheme&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;refSystem&amp;gt;Bible.KJV&amp;lt;/refSystem&amp;gt;&lt;br /&gt;
        &amp;lt;/work&amp;gt;&lt;br /&gt;
    &amp;lt;/header&amp;gt;&lt;br /&gt;
    &amp;lt;div type=&amp;quot;x-testament&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;div type=&amp;quot;book&amp;quot; osisID=&amp;quot;Gen&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;chapter osisID=&amp;quot;Gen.1&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;verse osisID=&amp;quot;Gen.1.1&amp;quot;&amp;gt;In the beginning God created the Heauen and the Earth.&amp;lt;/verse&amp;gt;&lt;br /&gt;
          &amp;lt;verse osisID=&amp;quot;Gen.1.2&amp;quot;&amp;gt;&lt;br /&gt;
            And the earth was without forme , and voyd;and darkeneſſe&lt;br /&gt;
            &amp;lt;transChange type=&amp;quot;added&amp;quot;&amp;gt;was&amp;lt;/transChange&amp;gt;&lt;br /&gt;
            vpon the face of the deepe : And the Spirit of God mooued&lt;br /&gt;
            vpon the face of the waters.&lt;br /&gt;
          &amp;lt;/verse&amp;gt;&lt;br /&gt;
          &amp;lt;verse osisID=&amp;quot;Gen.1.3&amp;quot;&amp;gt;&lt;br /&gt;
            And God ſaid, &lt;br /&gt;
            &amp;lt;note type=&amp;quot;crossReference&amp;quot; n=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;reference osisRef=&amp;quot;Ps.33.6&amp;quot;&amp;gt;Pſal.33.6.&amp;lt;/reference&amp;gt;&lt;br /&gt;
              and&lt;br /&gt;
              &amp;lt;reference osisRef=&amp;quot;Ps.136.5&amp;quot;&amp;gt;136.5.&amp;lt;/reference&amp;gt;&lt;br /&gt;
              &amp;lt;reference osisRef=&amp;quot;Acts.14.15&amp;quot;&amp;gt;acts.14.15.&amp;lt;/reference&amp;gt;&lt;br /&gt;
              and&lt;br /&gt;
              &amp;lt;reference osisRef=&amp;quot;Acts.17.24&amp;quot;&amp;gt;17.24.&amp;lt;/reference&amp;gt;&lt;br /&gt;
              &amp;lt;reference osisRef=&amp;quot;Heb.11.3&amp;quot;&amp;gt;hebr.11.3.&amp;lt;/reference&amp;gt;&lt;br /&gt;
            &amp;lt;/note&amp;gt;&lt;br /&gt;
            &amp;lt;q who=&amp;quot;God&amp;quot; marker=&amp;quot;&amp;quot;&amp;gt;Let there be light&amp;lt;/q&amp;gt;&lt;br /&gt;
            : and there was light.&lt;br /&gt;
          &amp;lt;/verse&amp;gt;&lt;br /&gt;
        &amp;lt;/chapter&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/osisText&amp;gt;&lt;br /&gt;
&amp;lt;/osis&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This has been validated using [http://xml-copy-editor.sourceforge.net/ XML Copy Editor].&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
And that's it!!! Congratulations, you've just walked through your first entire OSIS document. With power comes complexity, so there is much more to learn if you wish to unlock the features of OSIS that will allow you to more richly markup your texts. But some people may prefer to keep the more intricate aspects of OSIS under lock and key, depending on their needs. With OSIS, the choice is yours, and you now know everything necessary to start encoding your own texts, making them usable by organizations all around the world in a variety of presentation venues. Blessings in your endeavours.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:OSIS]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=OSIS_Tutorial&amp;diff=13144</id>
		<title>OSIS Tutorial</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=OSIS_Tutorial&amp;diff=13144"/>
				<updated>2014-02-07T21:31:45Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* Marking and Referencing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Creating a Basic OSIS Document=&lt;br /&gt;
[http://crosswire.org/osis/tutor.jsp Creating a basic OSIS document] can be an easy task with just a little direction, which this brief tutorial hopes to provide.&lt;br /&gt;
&lt;br /&gt;
Throughout this tutorial, we will be marking up a Bible excerpt: Gen 1:1-3, from the King James Version of the Bible, 1611 edition. The excerpt reads as follows:&lt;br /&gt;
 THE FIRST BOOKE OF MOSES, called GENESIS.&lt;br /&gt;
 Chap.j.&lt;br /&gt;
 The creation of the world.&lt;br /&gt;
 1 The creation of Heauen and Earth, 3 of the&lt;br /&gt;
 light, 6 of the firmament, 9 of the earth ſe-&lt;br /&gt;
 parated from the waters, 11 and made fruit-&lt;br /&gt;
 full, 14 of the Sunne, Moone and Starres,&lt;br /&gt;
 20 of fiſh and fowle, 24 of beaſts and cat-&lt;br /&gt;
 tell, 26 of Man in the Image of God. 29 Al-&lt;br /&gt;
 ſo the appointment of food.&lt;br /&gt;
                        1. In the beginning&lt;br /&gt;
                           God created the&lt;br /&gt;
                           Heauen and the&lt;br /&gt;
                           Earth.&lt;br /&gt;
                              2.  And the&lt;br /&gt;
                           earth was with=&lt;br /&gt;
                           out forme , and&lt;br /&gt;
                           voyd;and darken=&lt;br /&gt;
                           eſſe ''was'' vpon&lt;br /&gt;
 the face of the deepe : And the Spirit&lt;br /&gt;
 of God mooued vpon the face of the&lt;br /&gt;
 waters.&lt;br /&gt;
   3.  And God ſaid, *Let there be light :&lt;br /&gt;
 and there was light.&lt;br /&gt;
 * Pſal.33.6. and 136.5. acts.14.15. and 17.24. hebr.11.3.&lt;br /&gt;
&lt;br /&gt;
While this looks like a bunch of typos, it is a faithful representation of the original.&amp;lt;br/&amp;gt;&lt;br /&gt;
For an image of this see: http://dewey.library.upenn.edu/sceti/printedbooksNew/index.cfm?TextID=kjbible&amp;amp;PagePosition=77&amp;lt;br/&amp;gt;&lt;br /&gt;
For the entire first chapter of Genesis see: [[KJV 1611]]&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
In what follows, the following part of the above excerpt page is not yet example coded in this OSIS tutorial:&lt;br /&gt;
 THE FIRST BOOKE OF MOSES, called GENESIS.&lt;br /&gt;
 Chap.j.&lt;br /&gt;
 The creation of the world.&lt;br /&gt;
 1 The creation of Heauen and Earth, 3 of the&lt;br /&gt;
 light, 6 of the firmament, 9 of the earth ſe-&lt;br /&gt;
 parated from the waters, 11 and made fruit-&lt;br /&gt;
 full, 14 of the Sunne, Moone and Starres,&lt;br /&gt;
 20 of fiſh and fowle, 24 of beaſts and cat-&lt;br /&gt;
 tell, 26 of Man in the Image of God. 29 Al-&lt;br /&gt;
 ſo the appointment of food.&lt;br /&gt;
Nonetheless, OSIS does provide a means for such headings and introductory content to be implemented.&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&lt;br /&gt;
# This tutorial does not cover the [[OSIS Bibles#OSIS_Milestones|milestones]] method of using OSIS to mark Bible text.&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
At the core, OSIS is an [http://en.wikipedia.org/wiki/XML XML] markup standard and must comply with rules&amp;lt;ref&amp;gt;One such rule is that XML element (and attribute) names are case-sensitive!&amp;lt;/ref&amp;gt; for basic XML documents. This means that we will need a basic XML header to begin our document. This line should do just fine:&lt;br /&gt;
 &amp;amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==The Root Element==&lt;br /&gt;
The root element for an OSIS document has the name &amp;lt;code&amp;gt;osis&amp;lt;/code&amp;gt;. Since OSIS uses XML Schema to define itself, we can place a link in the root element declaring our document's structure definition (we're an OSIS XML document, not just ''any'' XML document). Our complete root element will look like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;osis xmlns=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace&amp;quot; &lt;br /&gt;
      xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
      xsi:schemaLocation=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace&lt;br /&gt;
      http://www.bibletechnologies.net/osisCore.2.1.1.xsd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
# While/whenever bibletechnologies.net is unavailable, a snapshot of the site is available via the [http://web.archive.org/web/20140118222742/http://www.bibletechnologies.net/ Wayback Machine].&lt;br /&gt;
# While/whenever the Bible Technologies Group website is down, the significant portions of the website are mirrored at http://www.crosswire.org/osis/, including copies of the latest schema and manual.&lt;br /&gt;
&lt;br /&gt;
==The Work Container==&lt;br /&gt;
OSIS documents can either be a corpus of multiple works, or merely a single  text, like the KJV Bible. The latter will be our OSIS document type.  We declare this by placing our entire work in an &amp;lt;code&amp;gt;osisText&amp;lt;/code&amp;gt; element. This element will include attributes that declare our work's id and default reference scheme. The values of these elements are not as important as their function. They are used to link to a &amp;lt;code&amp;gt;work&amp;lt;/code&amp;gt; section that we will discuss a little later, that completely define two functions for our document. For now, we'll just set them to: &amp;quot;KJV&amp;quot; and &amp;quot;defaultReferenceScheme&amp;quot;. Here is our &amp;lt;code&amp;gt;osisText&amp;lt;/code&amp;gt; line, which also includes the default language of our document:&lt;br /&gt;
    &amp;amp;lt;osisText osisIDWork=&amp;quot;KJV&amp;quot; osisRefWork=&amp;quot;defaultReferenceScheme&amp;quot; xml:lang=&amp;quot;en&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==The Header==&lt;br /&gt;
Each OSIS work must have a &amp;lt;code&amp;gt;header&amp;lt;/code&amp;gt; section that defines information about the text. This will include copyright and cataloguing data, among other bibliographic information. The &amp;lt;code&amp;gt;header&amp;lt;/code&amp;gt; not only contains information about our work, it also contains basic information about any works which we reference in our text. Below is our entire &amp;lt;code&amp;gt;header&amp;lt;/code&amp;gt; for our text. We'll explain it in more detail, below.&lt;br /&gt;
     &amp;amp;lt;header&amp;gt;&lt;br /&gt;
         &amp;amp;lt;work osisWork=&amp;quot;KJV&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;amp;lt;title&amp;gt;King James Version of 1611&amp;amp;lt;/title&amp;gt;&lt;br /&gt;
             &amp;amp;lt;identifier type=&amp;quot;OSIS&amp;quot;&amp;gt;KJV.TutorEncoding&amp;amp;lt;/identifier&amp;gt;&lt;br /&gt;
             &amp;amp;lt;refSystem&amp;gt;Bible.KJV&amp;amp;lt;/refSystem&amp;gt;&lt;br /&gt;
         &amp;amp;lt;/work&amp;gt;&lt;br /&gt;
         &amp;amp;lt;work osisWork=&amp;quot;defaultReferenceScheme&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;amp;lt;refSystem&amp;gt;Bible.KJV&amp;amp;lt;/refSystem&amp;gt;&lt;br /&gt;
         &amp;amp;lt;/work&amp;gt;&lt;br /&gt;
     &amp;amp;lt;/header&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our &amp;lt;code&amp;gt;header&amp;lt;/code&amp;gt; includes two &amp;lt;code&amp;gt;work&amp;lt;/code&amp;gt; elements. Each &amp;lt;code&amp;gt;work&amp;lt;/code&amp;gt; element is uniquely distinguished by its &amp;lt;code&amp;gt;osisWork&amp;lt;/code&amp;gt; attribute.&lt;br /&gt;
&lt;br /&gt;
The first &amp;lt;code&amp;gt;work&amp;lt;/code&amp;gt; element defines ''our'' work. This is designated by matching the &amp;lt;code&amp;gt;osisWork&amp;lt;/code&amp;gt; attribute value to the &amp;lt;code&amp;gt;osisIDWork&amp;lt;/code&amp;gt; attribute value of our &amp;lt;code&amp;gt;osisText&amp;lt;/code&amp;gt; element in the section above. This sounds confusing but simply notice they both have the value &amp;quot;KJV&amp;quot;-- that's all there is to it.&lt;br /&gt;
&lt;br /&gt;
Inside this work, we have an element that defines our &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;. We also have a special &amp;lt;code&amp;gt;identifier&amp;lt;/code&amp;gt; element with a &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; value of &amp;quot;OSIS&amp;quot;. This &amp;lt;code&amp;gt;identifier&amp;lt;/code&amp;gt; element must be present and is used for assigning a canonical name to our OSIS document. We're claiming the &amp;quot;KJV.TutorEncoding&amp;quot; identifier for&lt;br /&gt;
our document, in case anyone wants to refer to our text if, say, we're included in a large library of OSIS documents.&lt;br /&gt;
&lt;br /&gt;
When marking up Biblical materials, we have a need to reference certain &amp;lt;u&amp;gt;portions&amp;lt;/u&amp;gt; of our materials, and not just the entire document. To allow this, we must provide two sides of the same coin:&lt;br /&gt;
*I am referencing this portion;&lt;br /&gt;
*I ''am'' this portion&lt;br /&gt;
&lt;br /&gt;
The two functions are facilitated in OSIS with the &amp;lt;code&amp;gt;osisRef&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;osisID&amp;lt;/code&amp;gt; attributes, respectively, and are reviewed in more detail in the next section.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;refSystem&amp;lt;/code&amp;gt; element in our work states that whenever we markup a portion of our text as something like, &amp;quot;Genesis 1:1&amp;quot; ''(side 2 of the coin)'' we are using the Bible.KJV reference system.&lt;br /&gt;
&lt;br /&gt;
Remember that we had a second attribute on &amp;lt;code&amp;gt;osisText&amp;lt;/code&amp;gt;, in the section above. This attribute is used to state which reference scheme our document will use by default, when citing references ''(side 1 of the coin)'' in our text. The second work element above matches our reference scheme, and declares that we are using the Bible.KJV reference scheme as our default. Other reference schemes are described in [[Alternate Versification]].&lt;br /&gt;
&lt;br /&gt;
==Marking and Referencing==&lt;br /&gt;
Before going any further, we should talk about an OSIS concept that enables us to reference pieces of other works, and also label pieces of our own work as targets of references. These two concepts are represented by the OSIS attributes &amp;lt;code&amp;gt;osisRef&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;osisID&amp;lt;/code&amp;gt;, respectively. The concepts are fairly straight forward, and in their simplest incarnation, easy to comprehend. As an example, let's say we have a commentary that wishes to reference James 1:19. OSIS includes a &amp;lt;code&amp;gt;reference&amp;lt;/code&amp;gt; element for this purpose, and for our example, an instance may look something like:&lt;br /&gt;
 Please see &amp;amp;lt;reference osisRef=&amp;quot;Jas.1.19&amp;quot;&amp;gt;James 1:19&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The counterpart, &amp;lt;code&amp;gt;osisID&amp;lt;/code&amp;gt;, is very similar. Let's say a Bible wishes to mark a section as ''being'' James 1:19. OSIS provides a &amp;lt;code&amp;gt;verse&amp;lt;/code&amp;gt; element for this, and our Bible may include something like:&lt;br /&gt;
 &amp;amp;lt;verse osisID=&amp;quot;Jas.1.19&amp;quot;&amp;gt;Wherefore, my beloved brethren,&lt;br /&gt;
 let every man be swift to hear, slow to speak, slow to wrath:&amp;amp;lt;/verse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Text Divisions==&lt;br /&gt;
OSIS works can be subdivided into arbitrary smaller sections, if desired. For Bibles, it usually makes sense to keep the traditional divisions that have been used for decades: Testament, Book, Chapter, Verse. We will use these for our text. OSIS provides a &amp;lt;code&amp;gt;div&amp;lt;/code&amp;gt; element to facilitate some of these divisions; other divisions are more specifically supported. Here are our 3 divisions, at the beginning of our work to get us down to Genesis, chapter 1.&lt;br /&gt;
     &amp;amp;lt;div type=&amp;quot;x-testament&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;amp;lt;div type=&amp;quot;book&amp;quot; osisID=&amp;quot;Gen&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;amp;lt;chapter osisID=&amp;quot;Gen.1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Actual Text==&lt;br /&gt;
Now ''finally'' we're ready to start including our actual Bible text in the document. The first verse is Genesis 1:1. We'd like to let the world know the identification of this part of our document, so we'll include the text in a &amp;lt;code&amp;gt;verse&amp;lt;/code&amp;gt; element with an appropriate &amp;lt;code&amp;gt;osisID&amp;lt;/code&amp;gt; attribute. Here it is:&lt;br /&gt;
           &amp;amp;lt;verse osisID=&amp;quot;Gen.1.1&amp;quot;&amp;gt;In the beginning God created the Heauen and the Earth.&amp;amp;lt;/verse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Literal Translations==&lt;br /&gt;
The text that we've chosen to encode claims to be a special type of Bible translation, sometimes referred to as a ''literal'' translation. Translations of these type attempt to preserve --as best they can-- the wording of the text from their original language. These works all tend to use similar mechanisms to indicate where they have needed to deviate from what was presented in the original source, for the purpose of clear target language understanding. Our second verse includes one such anomaly-- the second instance of the word ''was''. Most printed editions of the KJV will ''italicize'' this word, indicating that there was no such Hebrew counterpart that was translated into the English ''&amp;quot;was&amp;quot;'', but without this word, the sentence would not represent correct English. Since OSIS is ''presentation-agnostic'', instead of delegating a display type like ''italic'' for this purpose, we will mark the anomaly and let the publisher choose how they would like it displayed. OSIS provides a &amp;lt;code&amp;gt;transChange&amp;lt;/code&amp;gt; element to allow these translations to mark deviations such as these, and a &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; attribute on this element to indicate the type of change made. Here is our Genesis 1:2, which includes this markup.&lt;br /&gt;
           &amp;amp;lt;verse osisID=&amp;quot;Gen.1.2&amp;quot;&amp;gt;&lt;br /&gt;
             And the earth was without forme , and voyd;and darkeneſſe&lt;br /&gt;
             &amp;amp;lt;transChange type=&amp;quot;added&amp;quot;&amp;gt;was&amp;amp;lt;/transChange&amp;gt;&lt;br /&gt;
             vpon the face of the deepe : And the Spirit of God mooued&lt;br /&gt;
             vpon the face of the waters.&lt;br /&gt;
           &amp;amp;lt;/verse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Quotes==&lt;br /&gt;
Our last verse that we will markup includes a quote by God, Himself! Let's be sure to get this one correct. In OSIS, quotes can be marked with a &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt; element. A &amp;lt;code&amp;gt;who&amp;lt;/code&amp;gt; attribute is also optionally allowed, which we will use to designate who is speaking in this portion of Scripture. Since the orthography of the KJV had no quotation marks, this is indicated with an empty &amp;lt;code&amp;gt;marker&amp;lt;/code&amp;gt; attribute.&lt;br /&gt;
           &amp;amp;lt;verse osisID=&amp;quot;Gen.1.3&amp;quot;&amp;gt;&lt;br /&gt;
             And God ſaid, *&amp;amp;lt;q who=&amp;quot;God&amp;quot; marker=&amp;quot;&amp;quot;&amp;gt;Let there be light&amp;amp;lt;/q&amp;gt; : and there was light.&lt;br /&gt;
           &amp;amp;lt;/verse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
Genesis 1:3 has a note that still needs to be included. In OSIS, notes are inlined at the point of inclusion. Notes also have various types. In this instance, the note is a cross-reference. To retain the original orthography we use the &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; attribute to provide the original marker.&lt;br /&gt;
 &amp;amp;lt;note type=&amp;quot;crossReference&amp;quot; n=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;amp;lt;reference osisRef=&amp;quot;Ps.33.6&amp;quot;&amp;gt;Pſal.33.6.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
   and&lt;br /&gt;
   &amp;amp;lt;reference osisRef=&amp;quot;Ps.136.5&amp;quot;&amp;gt;136.5.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
   &amp;amp;lt;reference osisRef=&amp;quot;Acts.14.15&amp;quot;&amp;gt;acts.14.15.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
   and&lt;br /&gt;
   &amp;amp;lt;reference osisRef=&amp;quot;Acts.17.24&amp;quot;&amp;gt;17.24.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
   &amp;amp;lt;reference osisRef=&amp;quot;Heb.11.3&amp;quot;&amp;gt;hebr.11.3.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
 &amp;amp;lt;/note&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The entire verse would be:&lt;br /&gt;
           &amp;amp;lt;verse osisID=&amp;quot;Gen.1.3&amp;quot;&amp;gt;&lt;br /&gt;
             And God ſaid, &lt;br /&gt;
             &amp;amp;lt;note type=&amp;quot;crossReference&amp;quot; n=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;amp;lt;reference osisRef=&amp;quot;Ps.33.6&amp;quot;&amp;gt;Pſal.33.6.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
               and&lt;br /&gt;
               &amp;amp;lt;reference osisRef=&amp;quot;Ps.136.5&amp;quot;&amp;gt;136.5.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
               &amp;amp;lt;reference osisRef=&amp;quot;Acts.14.15&amp;quot;&amp;gt;acts.14.15.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
               and&lt;br /&gt;
               &amp;amp;lt;reference osisRef=&amp;quot;Acts.17.24&amp;quot;&amp;gt;17.24.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
               &amp;amp;lt;reference osisRef=&amp;quot;Heb.11.3&amp;quot;&amp;gt;hebr.11.3.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
             &amp;amp;lt;/note&amp;gt;&lt;br /&gt;
             &amp;amp;lt;q who=&amp;quot;God&amp;quot; marker=&amp;quot;&amp;quot;&amp;gt;Let there be light&amp;amp;lt;/q&amp;gt;&lt;br /&gt;
             : and there was light.&lt;br /&gt;
           &amp;amp;lt;/verse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Finishing up==&lt;br /&gt;
Remember, in XML, we must have closing marks for every opening mark of an element. Let's be sure to close all of our elements before finishing up our OSIS text. First we'll close our Chapter, then Book, then Testament.&lt;br /&gt;
         &amp;amp;lt;/chapter&amp;gt;&lt;br /&gt;
       &amp;amp;lt;/div&amp;gt;&lt;br /&gt;
     &amp;amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then we'll close our &amp;lt;code&amp;gt;osisText&amp;lt;/code&amp;gt;.&lt;br /&gt;
   &amp;amp;lt;/osisText&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and finally, our root &amp;lt;code&amp;gt;osis&amp;lt;/code&amp;gt; element&lt;br /&gt;
 &amp;amp;lt;/osis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Complete example==&lt;br /&gt;
Neglecting the cross reference illustration for James, here is the complete example of the OSIS Tutorial:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;osis xmlns=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace&amp;quot; &lt;br /&gt;
      xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
      xsi:schemaLocation=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace http://www.bibletechnologies.net/osisCore.2.1.1.xsd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;osisText osisIDWork=&amp;quot;KJV&amp;quot; osisRefWork=&amp;quot;defaultReferenceScheme&amp;quot; xml:lang=&amp;quot;en&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;header&amp;gt;&lt;br /&gt;
        &amp;lt;work osisWork=&amp;quot;KJV&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;title&amp;gt;King James Version of 1611&amp;lt;/title&amp;gt;&lt;br /&gt;
            &amp;lt;identifier type=&amp;quot;OSIS&amp;quot;&amp;gt;KJV.TutorEncoding&amp;lt;/identifier&amp;gt;&lt;br /&gt;
            &amp;lt;refSystem&amp;gt;Bible.KJV&amp;lt;/refSystem&amp;gt;&lt;br /&gt;
        &amp;lt;/work&amp;gt;&lt;br /&gt;
        &amp;lt;work osisWork=&amp;quot;defaultReferenceScheme&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;refSystem&amp;gt;Bible.KJV&amp;lt;/refSystem&amp;gt;&lt;br /&gt;
        &amp;lt;/work&amp;gt;&lt;br /&gt;
    &amp;lt;/header&amp;gt;&lt;br /&gt;
    &amp;lt;div type=&amp;quot;x-testament&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;div type=&amp;quot;book&amp;quot; osisID=&amp;quot;Gen&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;chapter osisID=&amp;quot;Gen.1&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;verse osisID=&amp;quot;Gen.1.1&amp;quot;&amp;gt;In the beginning God created the Heauen and the Earth.&amp;lt;/verse&amp;gt;&lt;br /&gt;
          &amp;lt;verse osisID=&amp;quot;Gen.1.2&amp;quot;&amp;gt;&lt;br /&gt;
            And the earth was without forme , and voyd;and darkeneſſe&lt;br /&gt;
            &amp;lt;transChange type=&amp;quot;added&amp;quot;&amp;gt;was&amp;lt;/transChange&amp;gt;&lt;br /&gt;
            vpon the face of the deepe : And the Spirit of God mooued&lt;br /&gt;
            vpon the face of the waters.&lt;br /&gt;
          &amp;lt;/verse&amp;gt;&lt;br /&gt;
          &amp;lt;verse osisID=&amp;quot;Gen.1.3&amp;quot;&amp;gt;&lt;br /&gt;
            And God ſaid, &lt;br /&gt;
            &amp;lt;note type=&amp;quot;crossReference&amp;quot; n=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;reference osisRef=&amp;quot;Ps.33.6&amp;quot;&amp;gt;Pſal.33.6.&amp;lt;/reference&amp;gt;&lt;br /&gt;
              and&lt;br /&gt;
              &amp;lt;reference osisRef=&amp;quot;Ps.136.5&amp;quot;&amp;gt;136.5.&amp;lt;/reference&amp;gt;&lt;br /&gt;
              &amp;lt;reference osisRef=&amp;quot;Acts.14.15&amp;quot;&amp;gt;acts.14.15.&amp;lt;/reference&amp;gt;&lt;br /&gt;
              and&lt;br /&gt;
              &amp;lt;reference osisRef=&amp;quot;Acts.17.24&amp;quot;&amp;gt;17.24.&amp;lt;/reference&amp;gt;&lt;br /&gt;
              &amp;lt;reference osisRef=&amp;quot;Heb.11.3&amp;quot;&amp;gt;hebr.11.3.&amp;lt;/reference&amp;gt;&lt;br /&gt;
            &amp;lt;/note&amp;gt;&lt;br /&gt;
            &amp;lt;q who=&amp;quot;God&amp;quot; marker=&amp;quot;&amp;quot;&amp;gt;Let there be light&amp;lt;/q&amp;gt;&lt;br /&gt;
            : and there was light.&lt;br /&gt;
          &amp;lt;/verse&amp;gt;&lt;br /&gt;
        &amp;lt;/chapter&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/osisText&amp;gt;&lt;br /&gt;
&amp;lt;/osis&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This has been validated using [http://xml-copy-editor.sourceforge.net/ XML Copy Editor].&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
And that's it!!! Congratulations, you've just walked through your first entire OSIS document. With power comes complexity, so there is much more to learn if you wish to unlock the features of OSIS that will allow you to more richly markup your texts. But some people may prefer to keep the more intricate aspects of OSIS under lock and key, depending on their needs. With OSIS, the choice is yours, and you now know everything necessary to start encoding your own texts, making them usable by organizations all around the world in a variety of presentation venues. Blessings in your endeavours.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:OSIS]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=OSIS_Tutorial&amp;diff=13143</id>
		<title>OSIS Tutorial</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=OSIS_Tutorial&amp;diff=13143"/>
				<updated>2014-02-07T21:30:56Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* The Root Element */ pointed to our own stable copy of the manual &amp;amp; schema; removed lots of premature statements, errors, &amp;amp; noise&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Creating a Basic OSIS Document=&lt;br /&gt;
[http://crosswire.org/osis/tutor.jsp Creating a basic OSIS document] can be an easy task with just a little direction, which this brief tutorial hopes to provide.&lt;br /&gt;
&lt;br /&gt;
Throughout this tutorial, we will be marking up a Bible excerpt: Gen 1:1-3, from the King James Version of the Bible, 1611 edition. The excerpt reads as follows:&lt;br /&gt;
 THE FIRST BOOKE OF MOSES, called GENESIS.&lt;br /&gt;
 Chap.j.&lt;br /&gt;
 The creation of the world.&lt;br /&gt;
 1 The creation of Heauen and Earth, 3 of the&lt;br /&gt;
 light, 6 of the firmament, 9 of the earth ſe-&lt;br /&gt;
 parated from the waters, 11 and made fruit-&lt;br /&gt;
 full, 14 of the Sunne, Moone and Starres,&lt;br /&gt;
 20 of fiſh and fowle, 24 of beaſts and cat-&lt;br /&gt;
 tell, 26 of Man in the Image of God. 29 Al-&lt;br /&gt;
 ſo the appointment of food.&lt;br /&gt;
                        1. In the beginning&lt;br /&gt;
                           God created the&lt;br /&gt;
                           Heauen and the&lt;br /&gt;
                           Earth.&lt;br /&gt;
                              2.  And the&lt;br /&gt;
                           earth was with=&lt;br /&gt;
                           out forme , and&lt;br /&gt;
                           voyd;and darken=&lt;br /&gt;
                           eſſe ''was'' vpon&lt;br /&gt;
 the face of the deepe : And the Spirit&lt;br /&gt;
 of God mooued vpon the face of the&lt;br /&gt;
 waters.&lt;br /&gt;
   3.  And God ſaid, *Let there be light :&lt;br /&gt;
 and there was light.&lt;br /&gt;
 * Pſal.33.6. and 136.5. acts.14.15. and 17.24. hebr.11.3.&lt;br /&gt;
&lt;br /&gt;
While this looks like a bunch of typos, it is a faithful representation of the original.&amp;lt;br/&amp;gt;&lt;br /&gt;
For an image of this see: http://dewey.library.upenn.edu/sceti/printedbooksNew/index.cfm?TextID=kjbible&amp;amp;PagePosition=77&amp;lt;br/&amp;gt;&lt;br /&gt;
For the entire first chapter of Genesis see: [[KJV 1611]]&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
In what follows, the following part of the above excerpt page is not yet example coded in this OSIS tutorial:&lt;br /&gt;
 THE FIRST BOOKE OF MOSES, called GENESIS.&lt;br /&gt;
 Chap.j.&lt;br /&gt;
 The creation of the world.&lt;br /&gt;
 1 The creation of Heauen and Earth, 3 of the&lt;br /&gt;
 light, 6 of the firmament, 9 of the earth ſe-&lt;br /&gt;
 parated from the waters, 11 and made fruit-&lt;br /&gt;
 full, 14 of the Sunne, Moone and Starres,&lt;br /&gt;
 20 of fiſh and fowle, 24 of beaſts and cat-&lt;br /&gt;
 tell, 26 of Man in the Image of God. 29 Al-&lt;br /&gt;
 ſo the appointment of food.&lt;br /&gt;
Nonetheless, OSIS does provide a means for such headings and introductory content to be implemented.&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&lt;br /&gt;
# This tutorial does not cover the [[OSIS Bibles#OSIS_Milestones|milestones]] method of using OSIS to mark Bible text.&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
At the core, OSIS is an [http://en.wikipedia.org/wiki/XML XML] markup standard and must comply with rules&amp;lt;ref&amp;gt;One such rule is that XML element (and attribute) names are case-sensitive!&amp;lt;/ref&amp;gt; for basic XML documents. This means that we will need a basic XML header to begin our document. This line should do just fine:&lt;br /&gt;
 &amp;amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==The Root Element==&lt;br /&gt;
The root element for an OSIS document has the name &amp;lt;code&amp;gt;osis&amp;lt;/code&amp;gt;. Since OSIS uses XML Schema to define itself, we can place a link in the root element declaring our document's structure definition (we're an OSIS XML document, not just ''any'' XML document). Our complete root element will look like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;osis xmlns=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace&amp;quot; &lt;br /&gt;
      xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
      xsi:schemaLocation=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace&lt;br /&gt;
      http://www.bibletechnologies.net/osisCore.2.1.1.xsd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
# While/whenever bibletechnologies.net is unavailable, a snapshot of the site is available via the [http://web.archive.org/web/20140118222742/http://www.bibletechnologies.net/ Wayback Machine].&lt;br /&gt;
# While/whenever the Bible Technologies Group website is down, the significant portions of the website are mirrored at http://www.crosswire.org/osis/, including copies of the latest schema and manual.&lt;br /&gt;
&lt;br /&gt;
==The Work Container==&lt;br /&gt;
OSIS documents can either be a corpus of multiple works, or merely a single  text, like the KJV Bible. The latter will be our OSIS document type.  We declare this by placing our entire work in an &amp;lt;code&amp;gt;osisText&amp;lt;/code&amp;gt; element. This element will include attributes that declare our work's id and default reference scheme. The values of these elements are not as important as their function. They are used to link to a &amp;lt;code&amp;gt;work&amp;lt;/code&amp;gt; section that we will discuss a little later, that completely define two functions for our document. For now, we'll just set them to: &amp;quot;KJV&amp;quot; and &amp;quot;defaultReferenceScheme&amp;quot;. Here is our &amp;lt;code&amp;gt;osisText&amp;lt;/code&amp;gt; line, which also includes the default language of our document:&lt;br /&gt;
    &amp;amp;lt;osisText osisIDWork=&amp;quot;KJV&amp;quot; osisRefWork=&amp;quot;defaultReferenceScheme&amp;quot; xml:lang=&amp;quot;en&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==The Header==&lt;br /&gt;
Each OSIS work must have a &amp;lt;code&amp;gt;header&amp;lt;/code&amp;gt; section that defines information about the text. This will include copyright and cataloguing data, among other bibliographic information. The &amp;lt;code&amp;gt;header&amp;lt;/code&amp;gt; not only contains information about our work, it also contains basic information about any works which we reference in our text. Below is our entire &amp;lt;code&amp;gt;header&amp;lt;/code&amp;gt; for our text. We'll explain it in more detail, below.&lt;br /&gt;
     &amp;amp;lt;header&amp;gt;&lt;br /&gt;
         &amp;amp;lt;work osisWork=&amp;quot;KJV&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;amp;lt;title&amp;gt;King James Version of 1611&amp;amp;lt;/title&amp;gt;&lt;br /&gt;
             &amp;amp;lt;identifier type=&amp;quot;OSIS&amp;quot;&amp;gt;KJV.TutorEncoding&amp;amp;lt;/identifier&amp;gt;&lt;br /&gt;
             &amp;amp;lt;refSystem&amp;gt;Bible.KJV&amp;amp;lt;/refSystem&amp;gt;&lt;br /&gt;
         &amp;amp;lt;/work&amp;gt;&lt;br /&gt;
         &amp;amp;lt;work osisWork=&amp;quot;defaultReferenceScheme&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;amp;lt;refSystem&amp;gt;Bible.KJV&amp;amp;lt;/refSystem&amp;gt;&lt;br /&gt;
         &amp;amp;lt;/work&amp;gt;&lt;br /&gt;
     &amp;amp;lt;/header&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our &amp;lt;code&amp;gt;header&amp;lt;/code&amp;gt; includes two &amp;lt;code&amp;gt;work&amp;lt;/code&amp;gt; elements. Each &amp;lt;code&amp;gt;work&amp;lt;/code&amp;gt; element is uniquely distinguished by its &amp;lt;code&amp;gt;osisWork&amp;lt;/code&amp;gt; attribute.&lt;br /&gt;
&lt;br /&gt;
The first &amp;lt;code&amp;gt;work&amp;lt;/code&amp;gt; element defines ''our'' work. This is designated by matching the &amp;lt;code&amp;gt;osisWork&amp;lt;/code&amp;gt; attribute value to the &amp;lt;code&amp;gt;osisIDWork&amp;lt;/code&amp;gt; attribute value of our &amp;lt;code&amp;gt;osisText&amp;lt;/code&amp;gt; element in the section above. This sounds confusing but simply notice they both have the value &amp;quot;KJV&amp;quot;-- that's all there is to it.&lt;br /&gt;
&lt;br /&gt;
Inside this work, we have an element that defines our &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;. We also have a special &amp;lt;code&amp;gt;identifier&amp;lt;/code&amp;gt; element with a &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; value of &amp;quot;OSIS&amp;quot;. This &amp;lt;code&amp;gt;identifier&amp;lt;/code&amp;gt; element must be present and is used for assigning a canonical name to our OSIS document. We're claiming the &amp;quot;KJV.TutorEncoding&amp;quot; identifier for&lt;br /&gt;
our document, in case anyone wants to refer to our text if, say, we're included in a large library of OSIS documents.&lt;br /&gt;
&lt;br /&gt;
When marking up Biblical materials, we have a need to reference certain &amp;lt;u&amp;gt;portions&amp;lt;/u&amp;gt; of our materials, and not just the entire document. To allow this, we must provide two sides of the same coin:&lt;br /&gt;
*I am referencing this portion;&lt;br /&gt;
*I ''am'' this portion&lt;br /&gt;
&lt;br /&gt;
The two functions are facilitated in OSIS with the &amp;lt;code&amp;gt;osisRef&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;osisID&amp;lt;/code&amp;gt; attributes, respectively, and are reviewed in more detail in the next section.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;refSystem&amp;lt;/code&amp;gt; element in our work states that whenever we markup a portion of our text as something like, &amp;quot;Genesis 1:1&amp;quot; ''(side 2 of the coin)'' we are using the Bible.KJV reference system.&lt;br /&gt;
&lt;br /&gt;
Remember that we had a second attribute on &amp;lt;code&amp;gt;osisText&amp;lt;/code&amp;gt;, in the section above. This attribute is used to state which reference scheme our document will use by default, when citing references ''(side 1 of the coin)'' in our text. The second work element above matches our reference scheme, and declares that we are using the Bible.KJV reference scheme as our default. Other reference schemes are described in [[Alternate Versification]].&lt;br /&gt;
&lt;br /&gt;
==Marking and Referencing==&lt;br /&gt;
Before going any further, we should talk about an OSIS concept that enables us to reference pieces of other works, and also label pieces of our own work as targets of references. These two concepts are represented by the OSIS attributes &amp;lt;code&amp;gt;osisRef&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;osisID&amp;lt;/code&amp;gt;, respectively. The concepts are fairly straight forward, and in their simplest incarnation, easy to comprehend. As an example, let's say we have a commentary that wishes to reference James 1:19. OSIS includes a &amp;lt;code&amp;gt;reference&amp;lt;/code&amp;gt; element for this purpose, and for our example, an instance may look something like:&lt;br /&gt;
 Please see &amp;amp;lt;reference osisRef=&amp;quot;Jas.1.19&amp;quot;&amp;gt;James 1:19&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The counterpart, &amp;lt;code&amp;gt;osisID&amp;lt;/code&amp;gt;, is very similar. Let's say a Bible wishes to mark a section as ''being'' James 1:19. OSIS provides a &amp;lt;code&amp;gt;verse&amp;lt;/code&amp;gt; element for this, and our Bible may include something like:&lt;br /&gt;
 &amp;amp;lt;verse osisID=&amp;quot;Jas.1.19&amp;quot;&amp;gt;Wherefore, my beloved brethren, let every man be swift to hear, slow to speak, slow to wrath:&amp;amp;lt;/verse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Text Divisions==&lt;br /&gt;
OSIS works can be subdivided into arbitrary smaller sections, if desired. For Bibles, it usually makes sense to keep the traditional divisions that have been used for decades: Testament, Book, Chapter, Verse. We will use these for our text. OSIS provides a &amp;lt;code&amp;gt;div&amp;lt;/code&amp;gt; element to facilitate some of these divisions; other divisions are more specifically supported. Here are our 3 divisions, at the beginning of our work to get us down to Genesis, chapter 1.&lt;br /&gt;
     &amp;amp;lt;div type=&amp;quot;x-testament&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;amp;lt;div type=&amp;quot;book&amp;quot; osisID=&amp;quot;Gen&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;amp;lt;chapter osisID=&amp;quot;Gen.1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Actual Text==&lt;br /&gt;
Now ''finally'' we're ready to start including our actual Bible text in the document. The first verse is Genesis 1:1. We'd like to let the world know the identification of this part of our document, so we'll include the text in a &amp;lt;code&amp;gt;verse&amp;lt;/code&amp;gt; element with an appropriate &amp;lt;code&amp;gt;osisID&amp;lt;/code&amp;gt; attribute. Here it is:&lt;br /&gt;
           &amp;amp;lt;verse osisID=&amp;quot;Gen.1.1&amp;quot;&amp;gt;In the beginning God created the Heauen and the Earth.&amp;amp;lt;/verse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Literal Translations==&lt;br /&gt;
The text that we've chosen to encode claims to be a special type of Bible translation, sometimes referred to as a ''literal'' translation. Translations of these type attempt to preserve --as best they can-- the wording of the text from their original language. These works all tend to use similar mechanisms to indicate where they have needed to deviate from what was presented in the original source, for the purpose of clear target language understanding. Our second verse includes one such anomaly-- the second instance of the word ''was''. Most printed editions of the KJV will ''italicize'' this word, indicating that there was no such Hebrew counterpart that was translated into the English ''&amp;quot;was&amp;quot;'', but without this word, the sentence would not represent correct English. Since OSIS is ''presentation-agnostic'', instead of delegating a display type like ''italic'' for this purpose, we will mark the anomaly and let the publisher choose how they would like it displayed. OSIS provides a &amp;lt;code&amp;gt;transChange&amp;lt;/code&amp;gt; element to allow these translations to mark deviations such as these, and a &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; attribute on this element to indicate the type of change made. Here is our Genesis 1:2, which includes this markup.&lt;br /&gt;
           &amp;amp;lt;verse osisID=&amp;quot;Gen.1.2&amp;quot;&amp;gt;&lt;br /&gt;
             And the earth was without forme , and voyd;and darkeneſſe&lt;br /&gt;
             &amp;amp;lt;transChange type=&amp;quot;added&amp;quot;&amp;gt;was&amp;amp;lt;/transChange&amp;gt;&lt;br /&gt;
             vpon the face of the deepe : And the Spirit of God mooued&lt;br /&gt;
             vpon the face of the waters.&lt;br /&gt;
           &amp;amp;lt;/verse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Quotes==&lt;br /&gt;
Our last verse that we will markup includes a quote by God, Himself! Let's be sure to get this one correct. In OSIS, quotes can be marked with a &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt; element. A &amp;lt;code&amp;gt;who&amp;lt;/code&amp;gt; attribute is also optionally allowed, which we will use to designate who is speaking in this portion of Scripture. Since the orthography of the KJV had no quotation marks, this is indicated with an empty &amp;lt;code&amp;gt;marker&amp;lt;/code&amp;gt; attribute.&lt;br /&gt;
           &amp;amp;lt;verse osisID=&amp;quot;Gen.1.3&amp;quot;&amp;gt;&lt;br /&gt;
             And God ſaid, *&amp;amp;lt;q who=&amp;quot;God&amp;quot; marker=&amp;quot;&amp;quot;&amp;gt;Let there be light&amp;amp;lt;/q&amp;gt; : and there was light.&lt;br /&gt;
           &amp;amp;lt;/verse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
Genesis 1:3 has a note that still needs to be included. In OSIS, notes are inlined at the point of inclusion. Notes also have various types. In this instance, the note is a cross-reference. To retain the original orthography we use the &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; attribute to provide the original marker.&lt;br /&gt;
 &amp;amp;lt;note type=&amp;quot;crossReference&amp;quot; n=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;amp;lt;reference osisRef=&amp;quot;Ps.33.6&amp;quot;&amp;gt;Pſal.33.6.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
   and&lt;br /&gt;
   &amp;amp;lt;reference osisRef=&amp;quot;Ps.136.5&amp;quot;&amp;gt;136.5.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
   &amp;amp;lt;reference osisRef=&amp;quot;Acts.14.15&amp;quot;&amp;gt;acts.14.15.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
   and&lt;br /&gt;
   &amp;amp;lt;reference osisRef=&amp;quot;Acts.17.24&amp;quot;&amp;gt;17.24.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
   &amp;amp;lt;reference osisRef=&amp;quot;Heb.11.3&amp;quot;&amp;gt;hebr.11.3.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
 &amp;amp;lt;/note&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The entire verse would be:&lt;br /&gt;
           &amp;amp;lt;verse osisID=&amp;quot;Gen.1.3&amp;quot;&amp;gt;&lt;br /&gt;
             And God ſaid, &lt;br /&gt;
             &amp;amp;lt;note type=&amp;quot;crossReference&amp;quot; n=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;amp;lt;reference osisRef=&amp;quot;Ps.33.6&amp;quot;&amp;gt;Pſal.33.6.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
               and&lt;br /&gt;
               &amp;amp;lt;reference osisRef=&amp;quot;Ps.136.5&amp;quot;&amp;gt;136.5.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
               &amp;amp;lt;reference osisRef=&amp;quot;Acts.14.15&amp;quot;&amp;gt;acts.14.15.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
               and&lt;br /&gt;
               &amp;amp;lt;reference osisRef=&amp;quot;Acts.17.24&amp;quot;&amp;gt;17.24.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
               &amp;amp;lt;reference osisRef=&amp;quot;Heb.11.3&amp;quot;&amp;gt;hebr.11.3.&amp;amp;lt;/reference&amp;gt;&lt;br /&gt;
             &amp;amp;lt;/note&amp;gt;&lt;br /&gt;
             &amp;amp;lt;q who=&amp;quot;God&amp;quot; marker=&amp;quot;&amp;quot;&amp;gt;Let there be light&amp;amp;lt;/q&amp;gt;&lt;br /&gt;
             : and there was light.&lt;br /&gt;
           &amp;amp;lt;/verse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Finishing up==&lt;br /&gt;
Remember, in XML, we must have closing marks for every opening mark of an element. Let's be sure to close all of our elements before finishing up our OSIS text. First we'll close our Chapter, then Book, then Testament.&lt;br /&gt;
         &amp;amp;lt;/chapter&amp;gt;&lt;br /&gt;
       &amp;amp;lt;/div&amp;gt;&lt;br /&gt;
     &amp;amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then we'll close our &amp;lt;code&amp;gt;osisText&amp;lt;/code&amp;gt;.&lt;br /&gt;
   &amp;amp;lt;/osisText&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and finally, our root &amp;lt;code&amp;gt;osis&amp;lt;/code&amp;gt; element&lt;br /&gt;
 &amp;amp;lt;/osis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Complete example==&lt;br /&gt;
Neglecting the cross reference illustration for James, here is the complete example of the OSIS Tutorial:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;osis xmlns=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace&amp;quot; &lt;br /&gt;
      xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
      xsi:schemaLocation=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace http://www.bibletechnologies.net/osisCore.2.1.1.xsd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;osisText osisIDWork=&amp;quot;KJV&amp;quot; osisRefWork=&amp;quot;defaultReferenceScheme&amp;quot; xml:lang=&amp;quot;en&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;header&amp;gt;&lt;br /&gt;
        &amp;lt;work osisWork=&amp;quot;KJV&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;title&amp;gt;King James Version of 1611&amp;lt;/title&amp;gt;&lt;br /&gt;
            &amp;lt;identifier type=&amp;quot;OSIS&amp;quot;&amp;gt;KJV.TutorEncoding&amp;lt;/identifier&amp;gt;&lt;br /&gt;
            &amp;lt;refSystem&amp;gt;Bible.KJV&amp;lt;/refSystem&amp;gt;&lt;br /&gt;
        &amp;lt;/work&amp;gt;&lt;br /&gt;
        &amp;lt;work osisWork=&amp;quot;defaultReferenceScheme&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;refSystem&amp;gt;Bible.KJV&amp;lt;/refSystem&amp;gt;&lt;br /&gt;
        &amp;lt;/work&amp;gt;&lt;br /&gt;
    &amp;lt;/header&amp;gt;&lt;br /&gt;
    &amp;lt;div type=&amp;quot;x-testament&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;div type=&amp;quot;book&amp;quot; osisID=&amp;quot;Gen&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;chapter osisID=&amp;quot;Gen.1&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;verse osisID=&amp;quot;Gen.1.1&amp;quot;&amp;gt;In the beginning God created the Heauen and the Earth.&amp;lt;/verse&amp;gt;&lt;br /&gt;
          &amp;lt;verse osisID=&amp;quot;Gen.1.2&amp;quot;&amp;gt;&lt;br /&gt;
            And the earth was without forme , and voyd;and darkeneſſe&lt;br /&gt;
            &amp;lt;transChange type=&amp;quot;added&amp;quot;&amp;gt;was&amp;lt;/transChange&amp;gt;&lt;br /&gt;
            vpon the face of the deepe : And the Spirit of God mooued&lt;br /&gt;
            vpon the face of the waters.&lt;br /&gt;
          &amp;lt;/verse&amp;gt;&lt;br /&gt;
          &amp;lt;verse osisID=&amp;quot;Gen.1.3&amp;quot;&amp;gt;&lt;br /&gt;
            And God ſaid, &lt;br /&gt;
            &amp;lt;note type=&amp;quot;crossReference&amp;quot; n=&amp;quot;*&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;reference osisRef=&amp;quot;Ps.33.6&amp;quot;&amp;gt;Pſal.33.6.&amp;lt;/reference&amp;gt;&lt;br /&gt;
              and&lt;br /&gt;
              &amp;lt;reference osisRef=&amp;quot;Ps.136.5&amp;quot;&amp;gt;136.5.&amp;lt;/reference&amp;gt;&lt;br /&gt;
              &amp;lt;reference osisRef=&amp;quot;Acts.14.15&amp;quot;&amp;gt;acts.14.15.&amp;lt;/reference&amp;gt;&lt;br /&gt;
              and&lt;br /&gt;
              &amp;lt;reference osisRef=&amp;quot;Acts.17.24&amp;quot;&amp;gt;17.24.&amp;lt;/reference&amp;gt;&lt;br /&gt;
              &amp;lt;reference osisRef=&amp;quot;Heb.11.3&amp;quot;&amp;gt;hebr.11.3.&amp;lt;/reference&amp;gt;&lt;br /&gt;
            &amp;lt;/note&amp;gt;&lt;br /&gt;
            &amp;lt;q who=&amp;quot;God&amp;quot; marker=&amp;quot;&amp;quot;&amp;gt;Let there be light&amp;lt;/q&amp;gt;&lt;br /&gt;
            : and there was light.&lt;br /&gt;
          &amp;lt;/verse&amp;gt;&lt;br /&gt;
        &amp;lt;/chapter&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/osisText&amp;gt;&lt;br /&gt;
&amp;lt;/osis&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This has been validated using [http://xml-copy-editor.sourceforge.net/ XML Copy Editor].&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
And that's it!!! Congratulations, you've just walked through your first entire OSIS document. With power comes complexity, so there is much more to learn if you wish to unlock the features of OSIS that will allow you to more richly markup your texts. But some people may prefer to keep the more intricate aspects of OSIS under lock and key, depending on their needs. With OSIS, the choice is yours, and you now know everything necessary to start encoding your own texts, making them usable by organizations all around the world in a variety of presentation venues. Blessings in your endeavours.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:OSIS]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=File_Formats&amp;diff=13142</id>
		<title>File Formats</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=File_Formats&amp;diff=13142"/>
				<updated>2014-02-07T21:14:39Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* SWORD Input formats */ TEI info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bible study programs use a plethora of markup formats. Even more have been suggested for use in creating Bibles and other religious material.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
This page lists some of the more common file formats ''relevant'' to The SWORD Project, associated utilities, and other CrossWire projects.&lt;br /&gt;
&lt;br /&gt;
== SWORD modules ==&lt;br /&gt;
Other than the source code for the SWORD API, there is no documentation for the file format of a '''SWORD module'''. There is no other documentation. The intention is that the [[DevTools:SWORD|SWORD API]] (or the [[DevTools:JSword|JSword]] implementation) is used directly or via other [http://en.wikipedia.org/wiki/Language_binding language bindings].&lt;br /&gt;
&lt;br /&gt;
Whilst our software is [http://en.wikipedia.org/wiki/Open_source ''open source''], our module file format is [http://en.wikipedia.org/wiki/Proprietary_format ''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.&lt;br /&gt;
&lt;br /&gt;
==SWORD Input formats==&lt;br /&gt;
The SWORD Project supports the following markup: OSIS, TEI, ThML, GBF and plain text.&lt;br /&gt;
&lt;br /&gt;
===OSIS===&lt;br /&gt;
''Open Scripture Information Standard''&lt;br /&gt;
&lt;br /&gt;
The Open Scripture Information Standard (OSIS) is &amp;quot;a common format for many visions.&amp;quot; It is an XML format for marking up scripture and related text, part of an initiative composed of translators, publishers, scholars, software manufacturers, and technical experts, coordinated by the [http://www.bibletechnologies.net/ Bible Technologies Group]. It is co-sponsored by the [http://www.americanbible.org/ American Bible Society] and the [http://www.sbl-site.org/ Society of Biblical Literature]. &lt;br /&gt;
&lt;br /&gt;
The most recent XML schema is [http://www.bibletechnologies.net/osisCore.2.1.1.xsd OSIS 2.1.1], and a [http://www.bibletechnologies.net/20Manual.dsp manual]  is also available.&lt;br /&gt;
&lt;br /&gt;
This markup format is recommended by the CrossWire Bible Society and can be used for creating all types of resources for The SWORD Project. Support for OSIS is actively maintained and support for any unsupported elements or features needed for a module you may be working on may be requested.&lt;br /&gt;
&lt;br /&gt;
[http://www.princexml.com/ Prince XML] is a proprietary software program that converts XML and HTML documents into PDF files by applying Cascading Style Sheets (CSS). It is developed by YesLogic, a small company based in Melbourne, Australia. It can be used to create high quality PDF Bibles from OSIS files[http://www.princexml.com/samples/]. A paper by [http://www.bibletechconference.com/speakers/ Jim Albright] of Wycliffe Bible Translators was presented at [http://www.bibletechconference.com/ BibleTech 2010] on using the open-source GUI companion for Prince XML, called [http://code.google.com/p/princess-2010/ Princess].&lt;br /&gt;
&lt;br /&gt;
===TEI P5===&lt;br /&gt;
''Text Encoding Initiative''&lt;br /&gt;
&lt;br /&gt;
TEI is an text encoding standard used broadly in the humanities. It is developed by the [http://www.tei-c.org/ TEI Consortium].&lt;br /&gt;
&lt;br /&gt;
A manual for the latest edition of TEI P5 can be found at [http://www.tei-c.org/release/doc/tei-p5-doc/en/html/ P5: Guidelines for Electronic Text Encoding and Interchange].&lt;br /&gt;
&lt;br /&gt;
CrossWire supports use of TEI for the encoding of dictionaries, encyclopedias, and similar works, as well as for free form books (GenBooks). We have developed our own version of the TEI P5 schema, available at http://www.crosswire.org/osis/teiP5osis.latest.xsd (http://www.crosswire.org/osis/teiP5osis.2.5.0.xsd is the latest at the time of writing). CrossWire's additions to the standard schema include the ability to create osisRefs and osisIDs to facilitate interoperability with OSIS documents and Bible reference tagging.&lt;br /&gt;
&lt;br /&gt;
Further information can be found at the [[TEI Dictionaries]] page.&lt;br /&gt;
&lt;br /&gt;
===VPL===&lt;br /&gt;
''Verse-Per-Line''&lt;br /&gt;
&lt;br /&gt;
This plain-text format is used for by SWORD for import of Bibles. It consists of one verse per line, with an optional verse reference at the beginning. The [[#VPL_Tools|vpl2mod]] utility may be used for import. VPL is deprecated in favor of the IMP format, which is more widely useful. The [[#VPL_Tools|mod2vpl]] utility may be used for export to VPL. There is a command line switch to prepend the verse reference to each line.&lt;br /&gt;
&lt;br /&gt;
===IMP===&lt;br /&gt;
''Import Format''&lt;br /&gt;
&lt;br /&gt;
This proprietary file format is used by SWORD for import of all types of modules. The three utilities '''imp2vs''' (for Bibles and verse-indexed commentaries), '''imp2ld''' (for lexicons, dictionaries, and daily-devotionals), and '''imp2gbs''' (for all other types of books) can be used to import IMP files to SWORD's native formats.&lt;br /&gt;
&lt;br /&gt;
An IMP file consists of any number of entries. Each entry consists of a key line and any number of content lines. The key line consists of a line beginning with &amp;quot;$$$&amp;quot;. For example, &amp;quot;$$$Gen 1:1&amp;quot; would be the key line for the Genesis 1:1 entry of a Bible or commentary module.&lt;br /&gt;
&lt;br /&gt;
The content lines of an entry may consist of any text (provided that the first three characters of the line are not &amp;quot;$$$&amp;quot;). The internal markup of the content may be in any format supported by SWORD, namely OSIS for any module type or ThML for freeform books from CCEL.&lt;br /&gt;
&lt;br /&gt;
See also [[DevTools:Modules#IMP_Format]].&lt;br /&gt;
&lt;br /&gt;
==== imp2osis ====&lt;br /&gt;
CrossWire has a Perl script called [http://crosswire.org/ftpmirror/pub/sword/utils/perl/imp2osis.pl imp2osis.pl], which will convert IMP to OSIS fairly well (except a few 'corner cases'). Whenever CrossWire receives an IMP submission, this is the first thing that is run, allowing CrossWire to do validation and other OSIS sanity checks. Some editing is usually necessary after converting an IMP file to an OSIS XML file. For example, the attribute '''canonical''' is omitted from the osisText and all &amp;amp;lt;div&amp;gt; elements, and the language attribute '''xml:lang''' defaults to &amp;quot;en&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===ThML===&lt;br /&gt;
''Theological Markup Language'' '''(deprecated)'''&lt;br /&gt;
&lt;br /&gt;
This format is a variant of XML based on TEI and ThML, developed by and for the [http://www.ccel.org/ Christian Classics Ethereal Library]. The specifications for this markup format are available at http://www.ccel.org/ThML/. &lt;br /&gt;
&lt;br /&gt;
This markup format is used in some SWORD resources, but only the creation of free-form &amp;quot;General book&amp;quot; modules based on existing CCEL resources is currently supported. Other works and new works should be created using the OSIS or TEI format.&lt;br /&gt;
&lt;br /&gt;
===GBF===&lt;br /&gt;
''General Bible Format'' '''(deprecated)'''&lt;br /&gt;
&lt;br /&gt;
This markup format is intended as an aid to preparing Bible texts (specifically the WEB and WEB:ME) for use with various Bible search programs. The complete specification is at http://www.ebible.org/bible/gbf.htm. &lt;br /&gt;
&lt;br /&gt;
This markup format was previously used for some SWORD modules but is now [http://en.wikipedia.org/wiki/Deprecation deprecated] in favor of OSIS. The rudimentary [http://crosswire.org/ftpmirror/pub/sword/utils/perl/gbf2osis.pl gbf2osis.pl] Perl utility may be used to convert GBF to OSIS for import to SWORD's native format. Adyeth hosts a [http://sites.google.com/site/adyeths/theswordproject/gbf2osis.py?attredirects=0 gbf2osis] Python utility that he wrote to convert the GBF texts from [http://ebible.org/ ebible.org] to OSIS. See [http://sites.google.com/site/adyeths/theswordproject].&lt;br /&gt;
&lt;br /&gt;
==The SWORD Project Utilities==&lt;br /&gt;
Precompiled versions of many of these programs are available in most Linux distributions, using the distribution's package installer. For Windows, they can be found [http://crosswire.org/ftpmirror/pub/sword/utils/win32 here].&amp;lt;ref&amp;gt;If you have Xiphos installed in Windows, the Sword utilities are available in the Xiphos\bin folder.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;The latest binaries may be found [http://dl.thehellings.com/sword-utils/ here], though currently without emptyvss.exe&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Module Creation Tools===&lt;br /&gt;
It is recommended that Unicode text files used for module creation be [[Encoding|encoded]] as UTF-8.&amp;lt;ref&amp;gt;[http://en.wikipedia.org/wiki/Newline 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.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* imp2gbs - imports free-form General books in IMP format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* imp2ld - imports lexicons, dictionaries, and daily devotionals in IMP format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* imp2vs - imports Bibles and commentaries in IMP format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* vpl2mod - imports Bibles and commentaries in Verse-Per-Line format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* [[osis2mod]] - imports Bibles and commentaries in OSIS format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* xml2gbs - imports free-form General books in OSIS or ThML format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===Diagnostic Tools===&lt;br /&gt;
* mod2imp - creates an IMP file&amp;lt;ref&amp;gt;The IMP file may contain a residue of XML markup&amp;lt;/ref&amp;gt; from an installed module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* stepdump - dumps the contents of a STEP book [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* emptyvss - exports a list of verses missing from the module (useful for testing modules during development) [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===Conversion Tools===&lt;br /&gt;
* gbf2osis.pl - a PERL utility for converting GBF to OSIS [http://crosswire.org/ftpmirror/pub/sword/utils/perl/gbf2osis.pl &amp;amp;dagger;]&lt;br /&gt;
* step2vpl - export a STEP book in Verse-Per-Line (VPL) format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* [[DevTools:Misc#thml2osis|thml2osis]] - converts ThML to OSIS format.&lt;br /&gt;
* zef2osis.pl - a PERL utility for converting Zefania XML to OSIS [http://crosswire.org/ftpmirror/pub/sword/utils/perl/zef2osis.pl &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===OSIS Utilities===&lt;br /&gt;
* [[mod2osis]] - creates an OSIS file from an installed module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* vs2osisref - returns the osisRef of a given (text form) verse reference [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* xml2gbs - imports free-form General books in OSIS or ThML format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===Miscellaneous===&lt;br /&gt;
* cipherraw - used to encipher SWORD modules [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* diatheke - a basic CLI SWORD front-end [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* mkfastmod - creates a search index for a module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* [[mod2zmod]] - creates a compressed module from an installed module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* mod2vpl - exports the module to VPL format&amp;lt;ref&amp;gt;The VPL file may contain a residue of XML markup&amp;lt;/ref&amp;gt; [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* modwrite - outputs the module contents in VPL format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* treeidxutil - ''needs a description'' [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* genbookutil - ''needs a description'' [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
==== Notes on SWORD Tools ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Recommended Non-SWORD Utilities===&lt;br /&gt;
* uconv - a utility from [http://icu-project.org/ 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 [http://crosswire.org/ftpmirror/pub/sword/utils/win32 sword utilities]&lt;br /&gt;
* xmllint - a utility (part of the [http://xmlsoft.org/ libxml2] distribution) for validating XML documents [http://crosswire.org/ftpmirror/pub/sword/utils/win32 *]&lt;br /&gt;
&lt;br /&gt;
==Formats for which CrossWire maintains converters==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Unbound Bible Format===&lt;br /&gt;
''Unbound Bible Format''&lt;br /&gt;
&lt;br /&gt;
The [http://unbound.biola.edu/ BIOLA's Unbound Bible] offers many of their resources for download in a proprietary, but relatively simple [http://en.wikipedia.org/wiki/Tab_delimited tab-delimited] plain-text format (TDT). There are usually two variants, one with versification mapping to the [http://en.wikipedia.org/wiki/American_Standard_Version ASV], and the other without verse mapping. All available downloads may be found on Unbound Bible's [http://unbound.biola.edu/index.cfm?method=downloads.showDownloadMain download page].&lt;br /&gt;
&lt;br /&gt;
There is no widespread use of this format, but the rudimentary [http://crosswire.org/ftpmirror/pub/sword/utils/perl/unb2osis.pl unb2osis.pl] utility may be used to convert Unbound Bible format to OSIS for import to SWORD's native format.&lt;br /&gt;
&lt;br /&gt;
===USFM===&lt;br /&gt;
[http://paratext.org/usfm ''Unified Standard Format Markers'']&lt;br /&gt;
&lt;br /&gt;
This plain-text format is a common internal-use format within Bible translation agencies and Bible societies. It is the native format of [http://paratext.org/ ParaTExt]. Paratext is used by more than 60% of all Bible translators world-wide. The current release is Paratext 7.4.&lt;br /&gt;
&lt;br /&gt;
CrossWire now has a Python script called usf2m2osis.py&amp;lt;ref&amp;gt;This replaces our earlier Perl script [http://crosswire.org/ftpmirror/pub/sword/utils/perl/usfm2osis.pl usfm2osis.pl].&amp;lt;/ref&amp;gt; which converts USFM to OSIS for subsequent import to SWORD's native format. See [[Converting SFM Bibles to OSIS]].&lt;br /&gt;
&lt;br /&gt;
USFM uses a separate file for each Bible book. USFM is also supported by the open-source program called [http://sites.google.com/site/bibledit/ Bibledit]. There are examples of Bibles in USFM format available for download at [http://ebible.org/]. These include the [http://ebible.org/bible/kjv/kjvsf.zip KJV], [http://ebible.org/bible/asv/asvsf.zip ASV], and [http://ebible.org/bible/web/websf.zip WEB] Bibles.&lt;br /&gt;
&lt;br /&gt;
USFM is one of the formats that can be used by [[Projects:Go Bible/Go Bible Creator|Go Bible Creator]].&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Zefania XML===&lt;br /&gt;
Zefania is an XML format for Bible markup with only the most simple structural tags for book/chapter/verse, notes, etc. &lt;br /&gt;
The project is now hosted on [http://sourceforge.net/projects/zefania-sharp/ SourceForge].&lt;br /&gt;
The [http://sourceforge.net/projects/zefbiblereader/ Zefania Bible Reader] may be used to display Zefania XML Bibles through XSL transformation in browsers.&lt;br /&gt;
See also the related [http://zefania.blogspot.com/ Bible Resources Archive].&lt;br /&gt;
&lt;br /&gt;
The CrossWire utility [http://crosswire.org/ftpmirror/pub/sword/utils/perl/zef2osis.pl zef2osis.pl] may be used to convert Zefania XML to OSIS for import to SWORD's native format.&lt;br /&gt;
&lt;br /&gt;
===Go Bible===&lt;br /&gt;
Following an agreement made in July 2008 with the program's author Jolon Faichney, [[Projects:Go Bible|Go Bible]] was adopted by CrossWire as its Java ME software project.&lt;br /&gt;
&lt;br /&gt;
To achieve the navigation speed and general ease of use on even the simplest of Java mobile phones, Go Bible data is fully indexed, as well as being compressed (as are all JAR files).  The format is described in [http://code.google.com/p/gobible/wiki/GoBibleDataFormat Go Bible data format]. Go Bible data is structured as Book | Chapter | Verse text and does not support notes, headings and cross-references, etc. The developer kit [http://gobible.jolon.org/developer/welcome.html Go Bible Creator] can take either USFM, ThML or OSIS as the source text format, but they usually have to be made specially suitable. For example, OSIS files produced by Snowfall Software's SFMToOSIS script are not structured the same. Work has begun to make an [http://en.wikipedia.org/wiki/XSL_Transformations XSLT] script to convert such OSIS XML files to the format suitable for Go Bible. [[Projects:Go Bible/Go Bible Creator|Go Bible Creator]] version 2.3.2 and onwards can take a folder of USFM files as the source text format.&lt;br /&gt;
&lt;br /&gt;
Go Bible source code is now available [https://crosswire.org/svn/gobible/ here] on the CrossWire Repository. ''To access this you will need to have an account''.&lt;br /&gt;
&lt;br /&gt;
GoBibleDataFormat is being extended in the [[Projects:Go Bible/SymScroll|SymScroll]] branch.&lt;br /&gt;
&lt;br /&gt;
==Formats for which CrossWire has no intention of creating a converter==&lt;br /&gt;
===STEP===&lt;br /&gt;
''[http://en.wikipedia.org/wiki/STEP_Library Standard Template for Electronic Publishing]''&lt;br /&gt;
&lt;br /&gt;
This file format was formerly used by QuickVerse and WORDsearch, and is currently used for some e-Sword books.&lt;br /&gt;
&lt;br /&gt;
While not an open standard, the publicly released documentation and specifications for this format can be found partially mirrored at &lt;br /&gt;
http://www.crosswire.org/bsisg/. Some utilities for working with this format are listed below. The SWORD Project will not support this dead format.&lt;br /&gt;
&lt;br /&gt;
''Not to be confused with STEP (Scripture Tools for Every Pastor) &amp;amp;ndash; and the new front-end application ([[Frontends:TyndaleStep|Tyndale STEP]]) being developed by Tyndale House, Cambridge in collaboration with CrossWire''.&lt;br /&gt;
&lt;br /&gt;
===USX===&lt;br /&gt;
'''USX''' is an XML schema that is the underlying data structure in the latest release of [http://paratext.org/ UBS Paratext]. SIL's Language Software Development team is working with UBS on this. This version of Paratext can take in USFM projects and export USX files.&lt;br /&gt;
&lt;br /&gt;
USX was defined to support the [http://everytribeeverynation.org/ Every Tribe Every Nation] alliance '''Digital Bible Library''' (DBL). The alliance brings together the United Bible Society, SIL/WBT, American Bible Society, Biblica and other Bible Agencies. Under the ETEN framework, Bible translations made publication ready in the DBL for access by approved End User Ministry Partners (EUMP) will be stored in USX format.&lt;br /&gt;
&lt;br /&gt;
The [https://bitbucket.org/paratext/dblvalidation/src/tip/source/text USX schema] is available in the compact [http://relaxng.org/ Relax NG] Schema language. [https://bitbucket.org/paratext/dblvalidation dblvalidation] for the Digital Bible Library is hosted on the same site.&lt;br /&gt;
&lt;br /&gt;
==Other Utilities==&lt;br /&gt;
These are not part of The SWORD Project, but may be useful. A link is given for each.&lt;br /&gt;
&lt;br /&gt;
===Go Bible utilities===&lt;br /&gt;
* [[Projects:Go Bible/Go Bible Creator|Go Bible Creator]] - a Java SE program for converting either ThML or OSIS or USFM to [[Projects:Go Bible|Go Bible]]. It is being enhanced by SIL to be capable of converting source text in [[File Formats#XHTML|XHTML-TE]] format.&lt;br /&gt;
&lt;br /&gt;
* [http://gbcpreprocessor.codeplex.com/ Go Bible Creator USFM Preprocessor] &amp;amp;ndash; 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.&lt;br /&gt;
&lt;br /&gt;
===STEP Utilities===&lt;br /&gt;
* step2rtf - extracts the internal RTF text from STEP books  [http://www.customconsulting.us/step2rtf.zip]&lt;br /&gt;
* stepr - a rudimentary STEP reader [http://www.customconsulting.us/stepr-0.3.1.tgz]&lt;br /&gt;
&lt;br /&gt;
===ThML Utilities===&lt;br /&gt;
* CCEL Desktop - a program for viewing and developing CCEL books [http://ccel-desktop.sourceforge.net/]&lt;br /&gt;
&lt;br /&gt;
== Optical Character Recognition ==&lt;br /&gt;
[[Non-CrossWire Text-Development Projects|Text development]] activities may be greatly assisted by using [http://en.wikipedia.org/wiki/Optical_character_recognition OCR] software. This section will list OCR programs that CrossWire volunteers have found useful. Proprietary programs should not be listed here, the preference at CrossWire being to use free and/or open-source software.&lt;br /&gt;
&lt;br /&gt;
=== Tessaract ===&lt;br /&gt;
&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Tesseract_(software) Tesseract] is a free optical character recognition engine. It was originally developed at Hewlett-Packard from 1985 until 1995. After ten years with no development, Hewlett Packard and UNLV released it in 2005. Tesseract is currently developed by Google and released under the Apache License, Version 2.0. Tesseract is considered one of the the most accurate free software OCR engines currently available.&lt;br /&gt;
&lt;br /&gt;
* [http://vietocr.sourceforge.net/ VietOCR] &amp;amp;ndash; A Java/.NET GUI frontend for Tesseract OCR engine. Supports optical character recognition for Vietnamese language. Tip: Visit [http://www.moheb.de/ocr.html] to read how Moheb Mekhaiel adapted VietOCR to scan Coptic documents. &lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Frontends:Bookmarks Standard]]&lt;br /&gt;
* [[File Formats Cruft]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development tools]]&lt;br /&gt;
[[Category:File formats]]&lt;br /&gt;
[[Category:OSIS]]&lt;br /&gt;
[[Category:ThML]]&lt;br /&gt;
[[Category:Utilities]]&lt;br /&gt;
[[Category:USFM]]&lt;br /&gt;
[[Category:Unicode]]&lt;br /&gt;
[[Category:Bibledit]]&lt;br /&gt;
[[Category:Paratext]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=File_Formats&amp;diff=13141</id>
		<title>File Formats</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=File_Formats&amp;diff=13141"/>
				<updated>2014-02-07T21:02:11Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* SWORD Input formats */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bible study programs use a plethora of markup formats. Even more have been suggested for use in creating Bibles and other religious material.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
This page lists some of the more common file formats ''relevant'' to The SWORD Project, associated utilities, and other CrossWire projects.&lt;br /&gt;
&lt;br /&gt;
== SWORD modules ==&lt;br /&gt;
Other than the source code for the SWORD API, there is no documentation for the file format of a '''SWORD module'''. There is no other documentation. The intention is that the [[DevTools:SWORD|SWORD API]] (or the [[DevTools:JSword|JSword]] implementation) is used directly or via other [http://en.wikipedia.org/wiki/Language_binding language bindings].&lt;br /&gt;
&lt;br /&gt;
Whilst our software is [http://en.wikipedia.org/wiki/Open_source ''open source''], our module file format is [http://en.wikipedia.org/wiki/Proprietary_format ''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.&lt;br /&gt;
&lt;br /&gt;
==SWORD Input formats==&lt;br /&gt;
The SWORD Project supports the following markup: OSIS, ThML, GBF and plain text.&lt;br /&gt;
&lt;br /&gt;
===OSIS===&lt;br /&gt;
''Open Scripture Information Standard''&lt;br /&gt;
&lt;br /&gt;
The Open Scripture Information Standard (OSIS) is &amp;quot;a common format for many visions.&amp;quot; It is an XML format for marking up scripture and related text, part of an initiative composed of translators, publishers, scholars, software manufacturers, and technical experts, coordinated by the [http://www.bibletechnologies.net/ Bible Technologies Group]. It is co-sponsored by the [http://www.americanbible.org/ American Bible Society] and the [http://www.sbl-site.org/ Society of Biblical Literature]. &lt;br /&gt;
&lt;br /&gt;
The most recent XML schema is [http://www.bibletechnologies.net/osisCore.2.1.1.xsd OSIS 2.1.1], and a [http://www.bibletechnologies.net/20Manual.dsp manual]  is also available.&lt;br /&gt;
&lt;br /&gt;
This markup format is recommended by the CrossWire Bible Society and can be used for creating all types of resources for The SWORD Project. Support for OSIS is actively maintained and support for any unsupported elements or features needed for a module you may be working on may be requested.&lt;br /&gt;
&lt;br /&gt;
[http://www.princexml.com/ Prince XML] is a proprietary software program that converts XML and HTML documents into PDF files by applying Cascading Style Sheets (CSS). It is developed by YesLogic, a small company based in Melbourne, Australia. It can be used to create high quality PDF Bibles from OSIS files[http://www.princexml.com/samples/]. A paper by [http://www.bibletechconference.com/speakers/ Jim Albright] of Wycliffe Bible Translators was presented at [http://www.bibletechconference.com/ BibleTech 2010] on using the open-source GUI companion for Prince XML, called [http://code.google.com/p/princess-2010/ Princess].&lt;br /&gt;
&lt;br /&gt;
===VPL===&lt;br /&gt;
''Verse-Per-Line''&lt;br /&gt;
&lt;br /&gt;
This plain-text format is used for by SWORD for import of Bibles. It consists of one verse per line, with an optional verse reference at the beginning. The [[#VPL_Tools|vpl2mod]] utility may be used for import. VPL is deprecated in favor of the IMP format, which is more widely useful. The [[#VPL_Tools|mod2vpl]] utility may be used for export to VPL. There is a command line switch to prepend the verse reference to each line.&lt;br /&gt;
&lt;br /&gt;
===IMP===&lt;br /&gt;
''Import Format''&lt;br /&gt;
&lt;br /&gt;
This proprietary file format is used by SWORD for import of all types of modules. The three utilities '''imp2vs''' (for Bibles and verse-indexed commentaries), '''imp2ld''' (for lexicons, dictionaries, and daily-devotionals), and '''imp2gbs''' (for all other types of books) can be used to import IMP files to SWORD's native formats.&lt;br /&gt;
&lt;br /&gt;
An IMP file consists of any number of entries. Each entry consists of a key line and any number of content lines. The key line consists of a line beginning with &amp;quot;$$$&amp;quot;. For example, &amp;quot;$$$Gen 1:1&amp;quot; would be the key line for the Genesis 1:1 entry of a Bible or commentary module.&lt;br /&gt;
&lt;br /&gt;
The content lines of an entry may consist of any text (provided that the first three characters of the line are not &amp;quot;$$$&amp;quot;). The internal markup of the content may be in any format supported by SWORD, namely OSIS for any module type or ThML for freeform books from CCEL.&lt;br /&gt;
&lt;br /&gt;
See also [[DevTools:Modules#IMP_Format]].&lt;br /&gt;
&lt;br /&gt;
==== imp2osis ====&lt;br /&gt;
CrossWire has a Perl script called [http://crosswire.org/ftpmirror/pub/sword/utils/perl/imp2osis.pl imp2osis.pl], which will convert IMP to OSIS fairly well (except a few 'corner cases'). Whenever CrossWire receives an IMP submission, this is the first thing that is run, allowing CrossWire to do validation and other OSIS sanity checks. Some editing is usually necessary after converting an IMP file to an OSIS XML file. For example, the attribute '''canonical''' is omitted from the osisText and all &amp;amp;lt;div&amp;gt; elements, and the language attribute '''xml:lang''' defaults to &amp;quot;en&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===ThML===&lt;br /&gt;
''Theological Markup Language'' '''(deprecated)'''&lt;br /&gt;
&lt;br /&gt;
This format is a variant of XML based on TEI and ThML, developed by and for the [http://www.ccel.org/ Christian Classics Ethereal Library]. The specifications for this markup format are available at http://www.ccel.org/ThML/. &lt;br /&gt;
&lt;br /&gt;
This markup format is used in some SWORD resources, but only the creation of free-form &amp;quot;General book&amp;quot; modules based on existing CCEL resources is currently supported. Other works and new works should be created using the OSIS or TEI format.&lt;br /&gt;
&lt;br /&gt;
===GBF===&lt;br /&gt;
''General Bible Format'' '''(deprecated)'''&lt;br /&gt;
&lt;br /&gt;
This markup format is intended as an aid to preparing Bible texts (specifically the WEB and WEB:ME) for use with various Bible search programs. The complete specification is at http://www.ebible.org/bible/gbf.htm. &lt;br /&gt;
&lt;br /&gt;
This markup format was previously used for some SWORD modules but is now [http://en.wikipedia.org/wiki/Deprecation deprecated] in favor of OSIS. The rudimentary [http://crosswire.org/ftpmirror/pub/sword/utils/perl/gbf2osis.pl gbf2osis.pl] Perl utility may be used to convert GBF to OSIS for import to SWORD's native format. Adyeth hosts a [http://sites.google.com/site/adyeths/theswordproject/gbf2osis.py?attredirects=0 gbf2osis] Python utility that he wrote to convert the GBF texts from [http://ebible.org/ ebible.org] to OSIS. See [http://sites.google.com/site/adyeths/theswordproject].&lt;br /&gt;
&lt;br /&gt;
==The SWORD Project Utilities==&lt;br /&gt;
Precompiled versions of many of these programs are available in most Linux distributions, using the distribution's package installer. For Windows, they can be found [http://crosswire.org/ftpmirror/pub/sword/utils/win32 here].&amp;lt;ref&amp;gt;If you have Xiphos installed in Windows, the Sword utilities are available in the Xiphos\bin folder.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;The latest binaries may be found [http://dl.thehellings.com/sword-utils/ here], though currently without emptyvss.exe&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Module Creation Tools===&lt;br /&gt;
It is recommended that Unicode text files used for module creation be [[Encoding|encoded]] as UTF-8.&amp;lt;ref&amp;gt;[http://en.wikipedia.org/wiki/Newline 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.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* imp2gbs - imports free-form General books in IMP format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* imp2ld - imports lexicons, dictionaries, and daily devotionals in IMP format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* imp2vs - imports Bibles and commentaries in IMP format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* vpl2mod - imports Bibles and commentaries in Verse-Per-Line format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* [[osis2mod]] - imports Bibles and commentaries in OSIS format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* xml2gbs - imports free-form General books in OSIS or ThML format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===Diagnostic Tools===&lt;br /&gt;
* mod2imp - creates an IMP file&amp;lt;ref&amp;gt;The IMP file may contain a residue of XML markup&amp;lt;/ref&amp;gt; from an installed module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* stepdump - dumps the contents of a STEP book [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* emptyvss - exports a list of verses missing from the module (useful for testing modules during development) [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===Conversion Tools===&lt;br /&gt;
* gbf2osis.pl - a PERL utility for converting GBF to OSIS [http://crosswire.org/ftpmirror/pub/sword/utils/perl/gbf2osis.pl &amp;amp;dagger;]&lt;br /&gt;
* step2vpl - export a STEP book in Verse-Per-Line (VPL) format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* [[DevTools:Misc#thml2osis|thml2osis]] - converts ThML to OSIS format.&lt;br /&gt;
* zef2osis.pl - a PERL utility for converting Zefania XML to OSIS [http://crosswire.org/ftpmirror/pub/sword/utils/perl/zef2osis.pl &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===OSIS Utilities===&lt;br /&gt;
* [[mod2osis]] - creates an OSIS file from an installed module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* vs2osisref - returns the osisRef of a given (text form) verse reference [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* xml2gbs - imports free-form General books in OSIS or ThML format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===Miscellaneous===&lt;br /&gt;
* cipherraw - used to encipher SWORD modules [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* diatheke - a basic CLI SWORD front-end [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* mkfastmod - creates a search index for a module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* [[mod2zmod]] - creates a compressed module from an installed module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* mod2vpl - exports the module to VPL format&amp;lt;ref&amp;gt;The VPL file may contain a residue of XML markup&amp;lt;/ref&amp;gt; [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* modwrite - outputs the module contents in VPL format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* treeidxutil - ''needs a description'' [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* genbookutil - ''needs a description'' [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
==== Notes on SWORD Tools ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Recommended Non-SWORD Utilities===&lt;br /&gt;
* uconv - a utility from [http://icu-project.org/ 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 [http://crosswire.org/ftpmirror/pub/sword/utils/win32 sword utilities]&lt;br /&gt;
* xmllint - a utility (part of the [http://xmlsoft.org/ libxml2] distribution) for validating XML documents [http://crosswire.org/ftpmirror/pub/sword/utils/win32 *]&lt;br /&gt;
&lt;br /&gt;
==Formats for which CrossWire maintains converters==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Unbound Bible Format===&lt;br /&gt;
''Unbound Bible Format''&lt;br /&gt;
&lt;br /&gt;
The [http://unbound.biola.edu/ BIOLA's Unbound Bible] offers many of their resources for download in a proprietary, but relatively simple [http://en.wikipedia.org/wiki/Tab_delimited tab-delimited] plain-text format (TDT). There are usually two variants, one with versification mapping to the [http://en.wikipedia.org/wiki/American_Standard_Version ASV], and the other without verse mapping. All available downloads may be found on Unbound Bible's [http://unbound.biola.edu/index.cfm?method=downloads.showDownloadMain download page].&lt;br /&gt;
&lt;br /&gt;
There is no widespread use of this format, but the rudimentary [http://crosswire.org/ftpmirror/pub/sword/utils/perl/unb2osis.pl unb2osis.pl] utility may be used to convert Unbound Bible format to OSIS for import to SWORD's native format.&lt;br /&gt;
&lt;br /&gt;
===USFM===&lt;br /&gt;
[http://paratext.org/usfm ''Unified Standard Format Markers'']&lt;br /&gt;
&lt;br /&gt;
This plain-text format is a common internal-use format within Bible translation agencies and Bible societies. It is the native format of [http://paratext.org/ ParaTExt]. Paratext is used by more than 60% of all Bible translators world-wide. The current release is Paratext 7.4.&lt;br /&gt;
&lt;br /&gt;
CrossWire now has a Python script called usf2m2osis.py&amp;lt;ref&amp;gt;This replaces our earlier Perl script [http://crosswire.org/ftpmirror/pub/sword/utils/perl/usfm2osis.pl usfm2osis.pl].&amp;lt;/ref&amp;gt; which converts USFM to OSIS for subsequent import to SWORD's native format. See [[Converting SFM Bibles to OSIS]].&lt;br /&gt;
&lt;br /&gt;
USFM uses a separate file for each Bible book. USFM is also supported by the open-source program called [http://sites.google.com/site/bibledit/ Bibledit]. There are examples of Bibles in USFM format available for download at [http://ebible.org/]. These include the [http://ebible.org/bible/kjv/kjvsf.zip KJV], [http://ebible.org/bible/asv/asvsf.zip ASV], and [http://ebible.org/bible/web/websf.zip WEB] Bibles.&lt;br /&gt;
&lt;br /&gt;
USFM is one of the formats that can be used by [[Projects:Go Bible/Go Bible Creator|Go Bible Creator]].&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Zefania XML===&lt;br /&gt;
Zefania is an XML format for Bible markup with only the most simple structural tags for book/chapter/verse, notes, etc. &lt;br /&gt;
The project is now hosted on [http://sourceforge.net/projects/zefania-sharp/ SourceForge].&lt;br /&gt;
The [http://sourceforge.net/projects/zefbiblereader/ Zefania Bible Reader] may be used to display Zefania XML Bibles through XSL transformation in browsers.&lt;br /&gt;
See also the related [http://zefania.blogspot.com/ Bible Resources Archive].&lt;br /&gt;
&lt;br /&gt;
The CrossWire utility [http://crosswire.org/ftpmirror/pub/sword/utils/perl/zef2osis.pl zef2osis.pl] may be used to convert Zefania XML to OSIS for import to SWORD's native format.&lt;br /&gt;
&lt;br /&gt;
===Go Bible===&lt;br /&gt;
Following an agreement made in July 2008 with the program's author Jolon Faichney, [[Projects:Go Bible|Go Bible]] was adopted by CrossWire as its Java ME software project.&lt;br /&gt;
&lt;br /&gt;
To achieve the navigation speed and general ease of use on even the simplest of Java mobile phones, Go Bible data is fully indexed, as well as being compressed (as are all JAR files).  The format is described in [http://code.google.com/p/gobible/wiki/GoBibleDataFormat Go Bible data format]. Go Bible data is structured as Book | Chapter | Verse text and does not support notes, headings and cross-references, etc. The developer kit [http://gobible.jolon.org/developer/welcome.html Go Bible Creator] can take either USFM, ThML or OSIS as the source text format, but they usually have to be made specially suitable. For example, OSIS files produced by Snowfall Software's SFMToOSIS script are not structured the same. Work has begun to make an [http://en.wikipedia.org/wiki/XSL_Transformations XSLT] script to convert such OSIS XML files to the format suitable for Go Bible. [[Projects:Go Bible/Go Bible Creator|Go Bible Creator]] version 2.3.2 and onwards can take a folder of USFM files as the source text format.&lt;br /&gt;
&lt;br /&gt;
Go Bible source code is now available [https://crosswire.org/svn/gobible/ here] on the CrossWire Repository. ''To access this you will need to have an account''.&lt;br /&gt;
&lt;br /&gt;
GoBibleDataFormat is being extended in the [[Projects:Go Bible/SymScroll|SymScroll]] branch.&lt;br /&gt;
&lt;br /&gt;
==Formats for which CrossWire has no intention of creating a converter==&lt;br /&gt;
===STEP===&lt;br /&gt;
''[http://en.wikipedia.org/wiki/STEP_Library Standard Template for Electronic Publishing]''&lt;br /&gt;
&lt;br /&gt;
This file format was formerly used by QuickVerse and WORDsearch, and is currently used for some e-Sword books.&lt;br /&gt;
&lt;br /&gt;
While not an open standard, the publicly released documentation and specifications for this format can be found partially mirrored at &lt;br /&gt;
http://www.crosswire.org/bsisg/. Some utilities for working with this format are listed below. The SWORD Project will not support this dead format.&lt;br /&gt;
&lt;br /&gt;
''Not to be confused with STEP (Scripture Tools for Every Pastor) &amp;amp;ndash; and the new front-end application ([[Frontends:TyndaleStep|Tyndale STEP]]) being developed by Tyndale House, Cambridge in collaboration with CrossWire''.&lt;br /&gt;
&lt;br /&gt;
===USX===&lt;br /&gt;
'''USX''' is an XML schema that is the underlying data structure in the latest release of [http://paratext.org/ UBS Paratext]. SIL's Language Software Development team is working with UBS on this. This version of Paratext can take in USFM projects and export USX files.&lt;br /&gt;
&lt;br /&gt;
USX was defined to support the [http://everytribeeverynation.org/ Every Tribe Every Nation] alliance '''Digital Bible Library''' (DBL). The alliance brings together the United Bible Society, SIL/WBT, American Bible Society, Biblica and other Bible Agencies. Under the ETEN framework, Bible translations made publication ready in the DBL for access by approved End User Ministry Partners (EUMP) will be stored in USX format.&lt;br /&gt;
&lt;br /&gt;
The [https://bitbucket.org/paratext/dblvalidation/src/tip/source/text USX schema] is available in the compact [http://relaxng.org/ Relax NG] Schema language. [https://bitbucket.org/paratext/dblvalidation dblvalidation] for the Digital Bible Library is hosted on the same site.&lt;br /&gt;
&lt;br /&gt;
==Other Utilities==&lt;br /&gt;
These are not part of The SWORD Project, but may be useful. A link is given for each.&lt;br /&gt;
&lt;br /&gt;
===Go Bible utilities===&lt;br /&gt;
* [[Projects:Go Bible/Go Bible Creator|Go Bible Creator]] - a Java SE program for converting either ThML or OSIS or USFM to [[Projects:Go Bible|Go Bible]]. It is being enhanced by SIL to be capable of converting source text in [[File Formats#XHTML|XHTML-TE]] format.&lt;br /&gt;
&lt;br /&gt;
* [http://gbcpreprocessor.codeplex.com/ Go Bible Creator USFM Preprocessor] &amp;amp;ndash; 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.&lt;br /&gt;
&lt;br /&gt;
===STEP Utilities===&lt;br /&gt;
* step2rtf - extracts the internal RTF text from STEP books  [http://www.customconsulting.us/step2rtf.zip]&lt;br /&gt;
* stepr - a rudimentary STEP reader [http://www.customconsulting.us/stepr-0.3.1.tgz]&lt;br /&gt;
&lt;br /&gt;
===ThML Utilities===&lt;br /&gt;
* CCEL Desktop - a program for viewing and developing CCEL books [http://ccel-desktop.sourceforge.net/]&lt;br /&gt;
&lt;br /&gt;
== Optical Character Recognition ==&lt;br /&gt;
[[Non-CrossWire Text-Development Projects|Text development]] activities may be greatly assisted by using [http://en.wikipedia.org/wiki/Optical_character_recognition OCR] software. This section will list OCR programs that CrossWire volunteers have found useful. Proprietary programs should not be listed here, the preference at CrossWire being to use free and/or open-source software.&lt;br /&gt;
&lt;br /&gt;
=== Tessaract ===&lt;br /&gt;
&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Tesseract_(software) Tesseract] is a free optical character recognition engine. It was originally developed at Hewlett-Packard from 1985 until 1995. After ten years with no development, Hewlett Packard and UNLV released it in 2005. Tesseract is currently developed by Google and released under the Apache License, Version 2.0. Tesseract is considered one of the the most accurate free software OCR engines currently available.&lt;br /&gt;
&lt;br /&gt;
* [http://vietocr.sourceforge.net/ VietOCR] &amp;amp;ndash; A Java/.NET GUI frontend for Tesseract OCR engine. Supports optical character recognition for Vietnamese language. Tip: Visit [http://www.moheb.de/ocr.html] to read how Moheb Mekhaiel adapted VietOCR to scan Coptic documents. &lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Frontends:Bookmarks Standard]]&lt;br /&gt;
* [[File Formats Cruft]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development tools]]&lt;br /&gt;
[[Category:File formats]]&lt;br /&gt;
[[Category:OSIS]]&lt;br /&gt;
[[Category:ThML]]&lt;br /&gt;
[[Category:Utilities]]&lt;br /&gt;
[[Category:USFM]]&lt;br /&gt;
[[Category:Unicode]]&lt;br /&gt;
[[Category:Bibledit]]&lt;br /&gt;
[[Category:Paratext]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=File_Formats&amp;diff=13140</id>
		<title>File Formats</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=File_Formats&amp;diff=13140"/>
				<updated>2014-02-07T20:59:46Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* USFM */ dead links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bible study programs use a plethora of markup formats. Even more have been suggested for use in creating Bibles and other religious material.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
This page lists some of the more common file formats ''relevant'' to The SWORD Project, associated utilities, and other CrossWire projects.&lt;br /&gt;
&lt;br /&gt;
== SWORD modules ==&lt;br /&gt;
Other than the source code for the SWORD API, there is no documentation for the file format of a '''SWORD module'''. There is no other documentation. The intention is that the [[DevTools:SWORD|SWORD API]] (or the [[DevTools:JSword|JSword]] implementation) is used directly or via other [http://en.wikipedia.org/wiki/Language_binding language bindings].&lt;br /&gt;
&lt;br /&gt;
Whilst our software is [http://en.wikipedia.org/wiki/Open_source ''open source''], our module file format is [http://en.wikipedia.org/wiki/Proprietary_format ''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.&lt;br /&gt;
&lt;br /&gt;
==SWORD Input formats==&lt;br /&gt;
The SWORD Project supports the following markup: OSIS, ThML, GBF and plain text.&lt;br /&gt;
&lt;br /&gt;
===OSIS===&lt;br /&gt;
''Open Scripture Information Standard''&lt;br /&gt;
&lt;br /&gt;
The Open Scripture Information Standard (OSIS) is &amp;quot;a common format for many visions.&amp;quot; It is an XML format for marking up scripture and related text, part of an initiative composed of translators, publishers, scholars, software manufacturers, and technical experts, coordinated by the [http://www.bibletechnologies.net/ Bible Technologies Group]. It is co-sponsored by the [http://www.americanbible.org/ American Bible Society] and the [http://www.sbl-site.org/ Society of Biblical Literature]. &lt;br /&gt;
&lt;br /&gt;
The most recent XML schema is [http://www.bibletechnologies.net/osisCore.2.1.1.xsd OSIS 2.1.1], and a [http://www.bibletechnologies.net/20Manual.dsp manual]  is also available.&lt;br /&gt;
&lt;br /&gt;
This markup format is recommended by the CrossWire Bible Society and can be used for creating all types of resources for The SWORD Project. Support for OSIS is actively maintained and support for any unsupported elements or features needed for a module you may be working on may be requested.&lt;br /&gt;
&lt;br /&gt;
[http://www.princexml.com/ Prince XML] is a proprietary software program that converts XML and HTML documents into PDF files by applying Cascading Style Sheets (CSS). It is developed by YesLogic, a small company based in Melbourne, Australia. It can be used to create high quality PDF Bibles from OSIS files[http://www.princexml.com/samples/]. A paper by [http://www.bibletechconference.com/speakers/ Jim Albright] of Wycliffe Bible Translators was presented at [http://www.bibletechconference.com/ BibleTech 2010] on using the open-source GUI companion for Prince XML, called [http://code.google.com/p/princess-2010/ Princess].&lt;br /&gt;
&lt;br /&gt;
===ThML===&lt;br /&gt;
''Theological Markup Language''&lt;br /&gt;
&lt;br /&gt;
This format is a variant of XML based on TEI and ThML, developed by and for the [http://www.ccel.org/ Christian Classics Ethereal Library]. The specifications for this markup format are available at http://www.ccel.org/ThML/. &lt;br /&gt;
&lt;br /&gt;
This markup format is used in some SWORD resources, but only the creation of free-form &amp;quot;General book&amp;quot; modules based on existing CCEL resources is currently supported. Other works and new works should be created using the OSIS or TEI format.&lt;br /&gt;
&lt;br /&gt;
===GBF===&lt;br /&gt;
''General Bible Format''&lt;br /&gt;
&lt;br /&gt;
This markup format is intended as an aid to preparing Bible texts (specifically the WEB and WEB:ME) for use with various Bible search programs. The complete specification is at http://www.ebible.org/bible/gbf.htm. &lt;br /&gt;
&lt;br /&gt;
This markup format was previously used for some SWORD modules but is now [http://en.wikipedia.org/wiki/Deprecation deprecated] in favor of OSIS. The rudimentary [http://crosswire.org/ftpmirror/pub/sword/utils/perl/gbf2osis.pl gbf2osis.pl] Perl utility may be used to convert GBF to OSIS for import to SWORD's native format. Adyeth hosts a [http://sites.google.com/site/adyeths/theswordproject/gbf2osis.py?attredirects=0 gbf2osis] Python utility that he wrote to convert the GBF texts from [http://ebible.org/ ebible.org] to OSIS. See [http://sites.google.com/site/adyeths/theswordproject].&lt;br /&gt;
&lt;br /&gt;
===VPL===&lt;br /&gt;
''Verse-Per-Line''&lt;br /&gt;
&lt;br /&gt;
This plain-text format is used for by SWORD for import of Bibles. It consists of one verse per line, with an optional verse reference at the beginning. The [[#VPL_Tools|vpl2mod]] utility may be used for import. VPL is deprecated in favor of the IMP format, which is more widely useful. The [[#VPL_Tools|mod2vpl]] utility may be used for export to VPL. There is a command line switch to prepend the verse reference to each line.&lt;br /&gt;
&lt;br /&gt;
===IMP===&lt;br /&gt;
''Import Format''&lt;br /&gt;
&lt;br /&gt;
This proprietary file format is used by SWORD for import of all types of modules. The three utilities '''imp2vs''' (for Bibles and verse-indexed commentaries), '''imp2ld''' (for lexicons, dictionaries, and daily-devotionals), and '''imp2gbs''' (for all other types of books) can be used to import IMP files to SWORD's native formats.&lt;br /&gt;
&lt;br /&gt;
An IMP file consists of any number of entries. Each entry consists of a key line and any number of content lines. The key line consists of a line beginning with &amp;quot;$$$&amp;quot;. For example, &amp;quot;$$$Gen 1:1&amp;quot; would be the key line for the Genesis 1:1 entry of a Bible or commentary module.&lt;br /&gt;
&lt;br /&gt;
The content lines of an entry may consist of any text (provided that the first three characters of the line are not &amp;quot;$$$&amp;quot;). The internal markup of the content may be in any format supported by SWORD, namely OSIS for any module type or ThML for freeform books from CCEL.&lt;br /&gt;
&lt;br /&gt;
See also [[DevTools:Modules#IMP_Format]].&lt;br /&gt;
&lt;br /&gt;
==== imp2osis ====&lt;br /&gt;
CrossWire has a Perl script called [http://crosswire.org/ftpmirror/pub/sword/utils/perl/imp2osis.pl imp2osis.pl], which will convert IMP to OSIS fairly well (except a few 'corner cases'). Whenever CrossWire receives an IMP submission, this is the first thing that is run, allowing CrossWire to do validation and other OSIS sanity checks. Some editing is usually necessary after converting an IMP file to an OSIS XML file. For example, the attribute '''canonical''' is omitted from the osisText and all &amp;amp;lt;div&amp;gt; elements, and the language attribute '''xml:lang''' defaults to &amp;quot;en&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==The SWORD Project Utilities==&lt;br /&gt;
Precompiled versions of many of these programs are available in most Linux distributions, using the distribution's package installer. For Windows, they can be found [http://crosswire.org/ftpmirror/pub/sword/utils/win32 here].&amp;lt;ref&amp;gt;If you have Xiphos installed in Windows, the Sword utilities are available in the Xiphos\bin folder.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;The latest binaries may be found [http://dl.thehellings.com/sword-utils/ here], though currently without emptyvss.exe&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Module Creation Tools===&lt;br /&gt;
It is recommended that Unicode text files used for module creation be [[Encoding|encoded]] as UTF-8.&amp;lt;ref&amp;gt;[http://en.wikipedia.org/wiki/Newline 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.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* imp2gbs - imports free-form General books in IMP format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* imp2ld - imports lexicons, dictionaries, and daily devotionals in IMP format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* imp2vs - imports Bibles and commentaries in IMP format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* vpl2mod - imports Bibles and commentaries in Verse-Per-Line format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* [[osis2mod]] - imports Bibles and commentaries in OSIS format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* xml2gbs - imports free-form General books in OSIS or ThML format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===Diagnostic Tools===&lt;br /&gt;
* mod2imp - creates an IMP file&amp;lt;ref&amp;gt;The IMP file may contain a residue of XML markup&amp;lt;/ref&amp;gt; from an installed module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* stepdump - dumps the contents of a STEP book [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* emptyvss - exports a list of verses missing from the module (useful for testing modules during development) [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===Conversion Tools===&lt;br /&gt;
* gbf2osis.pl - a PERL utility for converting GBF to OSIS [http://crosswire.org/ftpmirror/pub/sword/utils/perl/gbf2osis.pl &amp;amp;dagger;]&lt;br /&gt;
* step2vpl - export a STEP book in Verse-Per-Line (VPL) format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* [[DevTools:Misc#thml2osis|thml2osis]] - converts ThML to OSIS format.&lt;br /&gt;
* zef2osis.pl - a PERL utility for converting Zefania XML to OSIS [http://crosswire.org/ftpmirror/pub/sword/utils/perl/zef2osis.pl &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===OSIS Utilities===&lt;br /&gt;
* [[mod2osis]] - creates an OSIS file from an installed module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* vs2osisref - returns the osisRef of a given (text form) verse reference [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* xml2gbs - imports free-form General books in OSIS or ThML format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===Miscellaneous===&lt;br /&gt;
* cipherraw - used to encipher SWORD modules [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* diatheke - a basic CLI SWORD front-end [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* mkfastmod - creates a search index for a module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* [[mod2zmod]] - creates a compressed module from an installed module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* mod2vpl - exports the module to VPL format&amp;lt;ref&amp;gt;The VPL file may contain a residue of XML markup&amp;lt;/ref&amp;gt; [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* modwrite - outputs the module contents in VPL format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* treeidxutil - ''needs a description'' [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* genbookutil - ''needs a description'' [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
==== Notes on SWORD Tools ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Recommended Non-SWORD Utilities===&lt;br /&gt;
* uconv - a utility from [http://icu-project.org/ 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 [http://crosswire.org/ftpmirror/pub/sword/utils/win32 sword utilities]&lt;br /&gt;
* xmllint - a utility (part of the [http://xmlsoft.org/ libxml2] distribution) for validating XML documents [http://crosswire.org/ftpmirror/pub/sword/utils/win32 *]&lt;br /&gt;
&lt;br /&gt;
==Formats for which CrossWire maintains converters==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Unbound Bible Format===&lt;br /&gt;
''Unbound Bible Format''&lt;br /&gt;
&lt;br /&gt;
The [http://unbound.biola.edu/ BIOLA's Unbound Bible] offers many of their resources for download in a proprietary, but relatively simple [http://en.wikipedia.org/wiki/Tab_delimited tab-delimited] plain-text format (TDT). There are usually two variants, one with versification mapping to the [http://en.wikipedia.org/wiki/American_Standard_Version ASV], and the other without verse mapping. All available downloads may be found on Unbound Bible's [http://unbound.biola.edu/index.cfm?method=downloads.showDownloadMain download page].&lt;br /&gt;
&lt;br /&gt;
There is no widespread use of this format, but the rudimentary [http://crosswire.org/ftpmirror/pub/sword/utils/perl/unb2osis.pl unb2osis.pl] utility may be used to convert Unbound Bible format to OSIS for import to SWORD's native format.&lt;br /&gt;
&lt;br /&gt;
===USFM===&lt;br /&gt;
[http://paratext.org/usfm ''Unified Standard Format Markers'']&lt;br /&gt;
&lt;br /&gt;
This plain-text format is a common internal-use format within Bible translation agencies and Bible societies. It is the native format of [http://paratext.org/ ParaTExt]. Paratext is used by more than 60% of all Bible translators world-wide. The current release is Paratext 7.4.&lt;br /&gt;
&lt;br /&gt;
CrossWire now has a Python script called usf2m2osis.py&amp;lt;ref&amp;gt;This replaces our earlier Perl script [http://crosswire.org/ftpmirror/pub/sword/utils/perl/usfm2osis.pl usfm2osis.pl].&amp;lt;/ref&amp;gt; which converts USFM to OSIS for subsequent import to SWORD's native format. See [[Converting SFM Bibles to OSIS]].&lt;br /&gt;
&lt;br /&gt;
USFM uses a separate file for each Bible book. USFM is also supported by the open-source program called [http://sites.google.com/site/bibledit/ Bibledit]. There are examples of Bibles in USFM format available for download at [http://ebible.org/]. These include the [http://ebible.org/bible/kjv/kjvsf.zip KJV], [http://ebible.org/bible/asv/asvsf.zip ASV], and [http://ebible.org/bible/web/websf.zip WEB] Bibles.&lt;br /&gt;
&lt;br /&gt;
USFM is one of the formats that can be used by [[Projects:Go Bible/Go Bible Creator|Go Bible Creator]].&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Zefania XML===&lt;br /&gt;
Zefania is an XML format for Bible markup with only the most simple structural tags for book/chapter/verse, notes, etc. &lt;br /&gt;
The project is now hosted on [http://sourceforge.net/projects/zefania-sharp/ SourceForge].&lt;br /&gt;
The [http://sourceforge.net/projects/zefbiblereader/ Zefania Bible Reader] may be used to display Zefania XML Bibles through XSL transformation in browsers.&lt;br /&gt;
See also the related [http://zefania.blogspot.com/ Bible Resources Archive].&lt;br /&gt;
&lt;br /&gt;
The CrossWire utility [http://crosswire.org/ftpmirror/pub/sword/utils/perl/zef2osis.pl zef2osis.pl] may be used to convert Zefania XML to OSIS for import to SWORD's native format.&lt;br /&gt;
&lt;br /&gt;
===Go Bible===&lt;br /&gt;
Following an agreement made in July 2008 with the program's author Jolon Faichney, [[Projects:Go Bible|Go Bible]] was adopted by CrossWire as its Java ME software project.&lt;br /&gt;
&lt;br /&gt;
To achieve the navigation speed and general ease of use on even the simplest of Java mobile phones, Go Bible data is fully indexed, as well as being compressed (as are all JAR files).  The format is described in [http://code.google.com/p/gobible/wiki/GoBibleDataFormat Go Bible data format]. Go Bible data is structured as Book | Chapter | Verse text and does not support notes, headings and cross-references, etc. The developer kit [http://gobible.jolon.org/developer/welcome.html Go Bible Creator] can take either USFM, ThML or OSIS as the source text format, but they usually have to be made specially suitable. For example, OSIS files produced by Snowfall Software's SFMToOSIS script are not structured the same. Work has begun to make an [http://en.wikipedia.org/wiki/XSL_Transformations XSLT] script to convert such OSIS XML files to the format suitable for Go Bible. [[Projects:Go Bible/Go Bible Creator|Go Bible Creator]] version 2.3.2 and onwards can take a folder of USFM files as the source text format.&lt;br /&gt;
&lt;br /&gt;
Go Bible source code is now available [https://crosswire.org/svn/gobible/ here] on the CrossWire Repository. ''To access this you will need to have an account''.&lt;br /&gt;
&lt;br /&gt;
GoBibleDataFormat is being extended in the [[Projects:Go Bible/SymScroll|SymScroll]] branch.&lt;br /&gt;
&lt;br /&gt;
==Formats for which CrossWire has no intention of creating a converter==&lt;br /&gt;
===STEP===&lt;br /&gt;
''[http://en.wikipedia.org/wiki/STEP_Library Standard Template for Electronic Publishing]''&lt;br /&gt;
&lt;br /&gt;
This file format was formerly used by QuickVerse and WORDsearch, and is currently used for some e-Sword books.&lt;br /&gt;
&lt;br /&gt;
While not an open standard, the publicly released documentation and specifications for this format can be found partially mirrored at &lt;br /&gt;
http://www.crosswire.org/bsisg/. Some utilities for working with this format are listed below. The SWORD Project will not support this dead format.&lt;br /&gt;
&lt;br /&gt;
''Not to be confused with STEP (Scripture Tools for Every Pastor) &amp;amp;ndash; and the new front-end application ([[Frontends:TyndaleStep|Tyndale STEP]]) being developed by Tyndale House, Cambridge in collaboration with CrossWire''.&lt;br /&gt;
&lt;br /&gt;
===USX===&lt;br /&gt;
'''USX''' is an XML schema that is the underlying data structure in the latest release of [http://paratext.org/ UBS Paratext]. SIL's Language Software Development team is working with UBS on this. This version of Paratext can take in USFM projects and export USX files.&lt;br /&gt;
&lt;br /&gt;
USX was defined to support the [http://everytribeeverynation.org/ Every Tribe Every Nation] alliance '''Digital Bible Library''' (DBL). The alliance brings together the United Bible Society, SIL/WBT, American Bible Society, Biblica and other Bible Agencies. Under the ETEN framework, Bible translations made publication ready in the DBL for access by approved End User Ministry Partners (EUMP) will be stored in USX format.&lt;br /&gt;
&lt;br /&gt;
The [https://bitbucket.org/paratext/dblvalidation/src/tip/source/text USX schema] is available in the compact [http://relaxng.org/ Relax NG] Schema language. [https://bitbucket.org/paratext/dblvalidation dblvalidation] for the Digital Bible Library is hosted on the same site.&lt;br /&gt;
&lt;br /&gt;
==Other Utilities==&lt;br /&gt;
These are not part of The SWORD Project, but may be useful. A link is given for each.&lt;br /&gt;
&lt;br /&gt;
===Go Bible utilities===&lt;br /&gt;
* [[Projects:Go Bible/Go Bible Creator|Go Bible Creator]] - a Java SE program for converting either ThML or OSIS or USFM to [[Projects:Go Bible|Go Bible]]. It is being enhanced by SIL to be capable of converting source text in [[File Formats#XHTML|XHTML-TE]] format.&lt;br /&gt;
&lt;br /&gt;
* [http://gbcpreprocessor.codeplex.com/ Go Bible Creator USFM Preprocessor] &amp;amp;ndash; 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.&lt;br /&gt;
&lt;br /&gt;
===STEP Utilities===&lt;br /&gt;
* step2rtf - extracts the internal RTF text from STEP books  [http://www.customconsulting.us/step2rtf.zip]&lt;br /&gt;
* stepr - a rudimentary STEP reader [http://www.customconsulting.us/stepr-0.3.1.tgz]&lt;br /&gt;
&lt;br /&gt;
===ThML Utilities===&lt;br /&gt;
* CCEL Desktop - a program for viewing and developing CCEL books [http://ccel-desktop.sourceforge.net/]&lt;br /&gt;
&lt;br /&gt;
== Optical Character Recognition ==&lt;br /&gt;
[[Non-CrossWire Text-Development Projects|Text development]] activities may be greatly assisted by using [http://en.wikipedia.org/wiki/Optical_character_recognition OCR] software. This section will list OCR programs that CrossWire volunteers have found useful. Proprietary programs should not be listed here, the preference at CrossWire being to use free and/or open-source software.&lt;br /&gt;
&lt;br /&gt;
=== Tessaract ===&lt;br /&gt;
&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Tesseract_(software) Tesseract] is a free optical character recognition engine. It was originally developed at Hewlett-Packard from 1985 until 1995. After ten years with no development, Hewlett Packard and UNLV released it in 2005. Tesseract is currently developed by Google and released under the Apache License, Version 2.0. Tesseract is considered one of the the most accurate free software OCR engines currently available.&lt;br /&gt;
&lt;br /&gt;
* [http://vietocr.sourceforge.net/ VietOCR] &amp;amp;ndash; A Java/.NET GUI frontend for Tesseract OCR engine. Supports optical character recognition for Vietnamese language. Tip: Visit [http://www.moheb.de/ocr.html] to read how Moheb Mekhaiel adapted VietOCR to scan Coptic documents. &lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Frontends:Bookmarks Standard]]&lt;br /&gt;
* [[File Formats Cruft]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development tools]]&lt;br /&gt;
[[Category:File formats]]&lt;br /&gt;
[[Category:OSIS]]&lt;br /&gt;
[[Category:ThML]]&lt;br /&gt;
[[Category:Utilities]]&lt;br /&gt;
[[Category:USFM]]&lt;br /&gt;
[[Category:Unicode]]&lt;br /&gt;
[[Category:Bibledit]]&lt;br /&gt;
[[Category:Paratext]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=File_Formats&amp;diff=13139</id>
		<title>File Formats</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=File_Formats&amp;diff=13139"/>
				<updated>2014-02-07T20:58:50Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* STEP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bible study programs use a plethora of markup formats. Even more have been suggested for use in creating Bibles and other religious material.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
This page lists some of the more common file formats ''relevant'' to The SWORD Project, associated utilities, and other CrossWire projects.&lt;br /&gt;
&lt;br /&gt;
== SWORD modules ==&lt;br /&gt;
Other than the source code for the SWORD API, there is no documentation for the file format of a '''SWORD module'''. There is no other documentation. The intention is that the [[DevTools:SWORD|SWORD API]] (or the [[DevTools:JSword|JSword]] implementation) is used directly or via other [http://en.wikipedia.org/wiki/Language_binding language bindings].&lt;br /&gt;
&lt;br /&gt;
Whilst our software is [http://en.wikipedia.org/wiki/Open_source ''open source''], our module file format is [http://en.wikipedia.org/wiki/Proprietary_format ''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.&lt;br /&gt;
&lt;br /&gt;
==SWORD Input formats==&lt;br /&gt;
The SWORD Project supports the following markup: OSIS, ThML, GBF and plain text.&lt;br /&gt;
&lt;br /&gt;
===OSIS===&lt;br /&gt;
''Open Scripture Information Standard''&lt;br /&gt;
&lt;br /&gt;
The Open Scripture Information Standard (OSIS) is &amp;quot;a common format for many visions.&amp;quot; It is an XML format for marking up scripture and related text, part of an initiative composed of translators, publishers, scholars, software manufacturers, and technical experts, coordinated by the [http://www.bibletechnologies.net/ Bible Technologies Group]. It is co-sponsored by the [http://www.americanbible.org/ American Bible Society] and the [http://www.sbl-site.org/ Society of Biblical Literature]. &lt;br /&gt;
&lt;br /&gt;
The most recent XML schema is [http://www.bibletechnologies.net/osisCore.2.1.1.xsd OSIS 2.1.1], and a [http://www.bibletechnologies.net/20Manual.dsp manual]  is also available.&lt;br /&gt;
&lt;br /&gt;
This markup format is recommended by the CrossWire Bible Society and can be used for creating all types of resources for The SWORD Project. Support for OSIS is actively maintained and support for any unsupported elements or features needed for a module you may be working on may be requested.&lt;br /&gt;
&lt;br /&gt;
[http://www.princexml.com/ Prince XML] is a proprietary software program that converts XML and HTML documents into PDF files by applying Cascading Style Sheets (CSS). It is developed by YesLogic, a small company based in Melbourne, Australia. It can be used to create high quality PDF Bibles from OSIS files[http://www.princexml.com/samples/]. A paper by [http://www.bibletechconference.com/speakers/ Jim Albright] of Wycliffe Bible Translators was presented at [http://www.bibletechconference.com/ BibleTech 2010] on using the open-source GUI companion for Prince XML, called [http://code.google.com/p/princess-2010/ Princess].&lt;br /&gt;
&lt;br /&gt;
===ThML===&lt;br /&gt;
''Theological Markup Language''&lt;br /&gt;
&lt;br /&gt;
This format is a variant of XML based on TEI and ThML, developed by and for the [http://www.ccel.org/ Christian Classics Ethereal Library]. The specifications for this markup format are available at http://www.ccel.org/ThML/. &lt;br /&gt;
&lt;br /&gt;
This markup format is used in some SWORD resources, but only the creation of free-form &amp;quot;General book&amp;quot; modules based on existing CCEL resources is currently supported. Other works and new works should be created using the OSIS or TEI format.&lt;br /&gt;
&lt;br /&gt;
===GBF===&lt;br /&gt;
''General Bible Format''&lt;br /&gt;
&lt;br /&gt;
This markup format is intended as an aid to preparing Bible texts (specifically the WEB and WEB:ME) for use with various Bible search programs. The complete specification is at http://www.ebible.org/bible/gbf.htm. &lt;br /&gt;
&lt;br /&gt;
This markup format was previously used for some SWORD modules but is now [http://en.wikipedia.org/wiki/Deprecation deprecated] in favor of OSIS. The rudimentary [http://crosswire.org/ftpmirror/pub/sword/utils/perl/gbf2osis.pl gbf2osis.pl] Perl utility may be used to convert GBF to OSIS for import to SWORD's native format. Adyeth hosts a [http://sites.google.com/site/adyeths/theswordproject/gbf2osis.py?attredirects=0 gbf2osis] Python utility that he wrote to convert the GBF texts from [http://ebible.org/ ebible.org] to OSIS. See [http://sites.google.com/site/adyeths/theswordproject].&lt;br /&gt;
&lt;br /&gt;
===VPL===&lt;br /&gt;
''Verse-Per-Line''&lt;br /&gt;
&lt;br /&gt;
This plain-text format is used for by SWORD for import of Bibles. It consists of one verse per line, with an optional verse reference at the beginning. The [[#VPL_Tools|vpl2mod]] utility may be used for import. VPL is deprecated in favor of the IMP format, which is more widely useful. The [[#VPL_Tools|mod2vpl]] utility may be used for export to VPL. There is a command line switch to prepend the verse reference to each line.&lt;br /&gt;
&lt;br /&gt;
===IMP===&lt;br /&gt;
''Import Format''&lt;br /&gt;
&lt;br /&gt;
This proprietary file format is used by SWORD for import of all types of modules. The three utilities '''imp2vs''' (for Bibles and verse-indexed commentaries), '''imp2ld''' (for lexicons, dictionaries, and daily-devotionals), and '''imp2gbs''' (for all other types of books) can be used to import IMP files to SWORD's native formats.&lt;br /&gt;
&lt;br /&gt;
An IMP file consists of any number of entries. Each entry consists of a key line and any number of content lines. The key line consists of a line beginning with &amp;quot;$$$&amp;quot;. For example, &amp;quot;$$$Gen 1:1&amp;quot; would be the key line for the Genesis 1:1 entry of a Bible or commentary module.&lt;br /&gt;
&lt;br /&gt;
The content lines of an entry may consist of any text (provided that the first three characters of the line are not &amp;quot;$$$&amp;quot;). The internal markup of the content may be in any format supported by SWORD, namely OSIS for any module type or ThML for freeform books from CCEL.&lt;br /&gt;
&lt;br /&gt;
See also [[DevTools:Modules#IMP_Format]].&lt;br /&gt;
&lt;br /&gt;
==== imp2osis ====&lt;br /&gt;
CrossWire has a Perl script called [http://crosswire.org/ftpmirror/pub/sword/utils/perl/imp2osis.pl imp2osis.pl], which will convert IMP to OSIS fairly well (except a few 'corner cases'). Whenever CrossWire receives an IMP submission, this is the first thing that is run, allowing CrossWire to do validation and other OSIS sanity checks. Some editing is usually necessary after converting an IMP file to an OSIS XML file. For example, the attribute '''canonical''' is omitted from the osisText and all &amp;amp;lt;div&amp;gt; elements, and the language attribute '''xml:lang''' defaults to &amp;quot;en&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==The SWORD Project Utilities==&lt;br /&gt;
Precompiled versions of many of these programs are available in most Linux distributions, using the distribution's package installer. For Windows, they can be found [http://crosswire.org/ftpmirror/pub/sword/utils/win32 here].&amp;lt;ref&amp;gt;If you have Xiphos installed in Windows, the Sword utilities are available in the Xiphos\bin folder.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;The latest binaries may be found [http://dl.thehellings.com/sword-utils/ here], though currently without emptyvss.exe&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Module Creation Tools===&lt;br /&gt;
It is recommended that Unicode text files used for module creation be [[Encoding|encoded]] as UTF-8.&amp;lt;ref&amp;gt;[http://en.wikipedia.org/wiki/Newline 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.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* imp2gbs - imports free-form General books in IMP format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* imp2ld - imports lexicons, dictionaries, and daily devotionals in IMP format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* imp2vs - imports Bibles and commentaries in IMP format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* vpl2mod - imports Bibles and commentaries in Verse-Per-Line format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* [[osis2mod]] - imports Bibles and commentaries in OSIS format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* xml2gbs - imports free-form General books in OSIS or ThML format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===Diagnostic Tools===&lt;br /&gt;
* mod2imp - creates an IMP file&amp;lt;ref&amp;gt;The IMP file may contain a residue of XML markup&amp;lt;/ref&amp;gt; from an installed module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* stepdump - dumps the contents of a STEP book [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* emptyvss - exports a list of verses missing from the module (useful for testing modules during development) [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===Conversion Tools===&lt;br /&gt;
* gbf2osis.pl - a PERL utility for converting GBF to OSIS [http://crosswire.org/ftpmirror/pub/sword/utils/perl/gbf2osis.pl &amp;amp;dagger;]&lt;br /&gt;
* step2vpl - export a STEP book in Verse-Per-Line (VPL) format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* [[DevTools:Misc#thml2osis|thml2osis]] - converts ThML to OSIS format.&lt;br /&gt;
* zef2osis.pl - a PERL utility for converting Zefania XML to OSIS [http://crosswire.org/ftpmirror/pub/sword/utils/perl/zef2osis.pl &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===OSIS Utilities===&lt;br /&gt;
* [[mod2osis]] - creates an OSIS file from an installed module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* vs2osisref - returns the osisRef of a given (text form) verse reference [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* xml2gbs - imports free-form General books in OSIS or ThML format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===Miscellaneous===&lt;br /&gt;
* cipherraw - used to encipher SWORD modules [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* diatheke - a basic CLI SWORD front-end [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* mkfastmod - creates a search index for a module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* [[mod2zmod]] - creates a compressed module from an installed module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* mod2vpl - exports the module to VPL format&amp;lt;ref&amp;gt;The VPL file may contain a residue of XML markup&amp;lt;/ref&amp;gt; [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* modwrite - outputs the module contents in VPL format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* treeidxutil - ''needs a description'' [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* genbookutil - ''needs a description'' [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
==== Notes on SWORD Tools ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Recommended Non-SWORD Utilities===&lt;br /&gt;
* uconv - a utility from [http://icu-project.org/ 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 [http://crosswire.org/ftpmirror/pub/sword/utils/win32 sword utilities]&lt;br /&gt;
* xmllint - a utility (part of the [http://xmlsoft.org/ libxml2] distribution) for validating XML documents [http://crosswire.org/ftpmirror/pub/sword/utils/win32 *]&lt;br /&gt;
&lt;br /&gt;
==Formats for which CrossWire maintains converters==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Unbound Bible Format===&lt;br /&gt;
''Unbound Bible Format''&lt;br /&gt;
&lt;br /&gt;
The [http://unbound.biola.edu/ BIOLA's Unbound Bible] offers many of their resources for download in a proprietary, but relatively simple [http://en.wikipedia.org/wiki/Tab_delimited tab-delimited] plain-text format (TDT). There are usually two variants, one with versification mapping to the [http://en.wikipedia.org/wiki/American_Standard_Version ASV], and the other without verse mapping. All available downloads may be found on Unbound Bible's [http://unbound.biola.edu/index.cfm?method=downloads.showDownloadMain download page].&lt;br /&gt;
&lt;br /&gt;
There is no widespread use of this format, but the rudimentary [http://crosswire.org/ftpmirror/pub/sword/utils/perl/unb2osis.pl unb2osis.pl] utility may be used to convert Unbound Bible format to OSIS for import to SWORD's native format.&lt;br /&gt;
&lt;br /&gt;
===USFM===&lt;br /&gt;
[http://paratext.org/usfm ''Unified Standard Format Markers'']&lt;br /&gt;
&lt;br /&gt;
This plain-text format is a common internal-use format within Bible translation agencies and Bible societies. It is the native format of [http://paratext.org/ ParaTExt]. Paratext is used by more than 60% of all Bible translators world-wide. The current release is Paratext 7.4.&lt;br /&gt;
&lt;br /&gt;
CrossWire now has a Python script called usf2m2osis.py&amp;lt;ref&amp;gt;This replaces our earlier Perl script [http://crosswire.org/ftpmirror/pub/sword/utils/perl/usfm2osis.pl usfm2osis.pl].&amp;lt;/ref&amp;gt; which converts USFM to OSIS for subsequent import to SWORD's native format. See [[Converting SFM Bibles to OSIS]].&lt;br /&gt;
&lt;br /&gt;
USFM uses a separate file for each Bible book. USFM is also supported by the open-source program called [http://sites.google.com/site/bibledit/ Bibledit]. There are examples of Bibles in USFM format available for download at [http://ebible.org/]. These include the [http://ebible.org/bible/kjv/kjvsf.zip KJV], [http://ebible.org/bible/asv/asvsf.zip ASV], [http://ebible.org/bible/web/websf.zip WEB], [http://ebible.org/bible/hnv/hnvsf.zip HNV] and [http://ebible.org/pdg/tokpisinsf.zip PNG] Bibles.&lt;br /&gt;
&lt;br /&gt;
USFM is one of the formats that can be used by [[Projects:Go Bible/Go Bible Creator|Go Bible Creator]].&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Zefania XML===&lt;br /&gt;
Zefania is an XML format for Bible markup with only the most simple structural tags for book/chapter/verse, notes, etc. &lt;br /&gt;
The project is now hosted on [http://sourceforge.net/projects/zefania-sharp/ SourceForge].&lt;br /&gt;
The [http://sourceforge.net/projects/zefbiblereader/ Zefania Bible Reader] may be used to display Zefania XML Bibles through XSL transformation in browsers.&lt;br /&gt;
See also the related [http://zefania.blogspot.com/ Bible Resources Archive].&lt;br /&gt;
&lt;br /&gt;
The CrossWire utility [http://crosswire.org/ftpmirror/pub/sword/utils/perl/zef2osis.pl zef2osis.pl] may be used to convert Zefania XML to OSIS for import to SWORD's native format.&lt;br /&gt;
&lt;br /&gt;
===Go Bible===&lt;br /&gt;
Following an agreement made in July 2008 with the program's author Jolon Faichney, [[Projects:Go Bible|Go Bible]] was adopted by CrossWire as its Java ME software project.&lt;br /&gt;
&lt;br /&gt;
To achieve the navigation speed and general ease of use on even the simplest of Java mobile phones, Go Bible data is fully indexed, as well as being compressed (as are all JAR files).  The format is described in [http://code.google.com/p/gobible/wiki/GoBibleDataFormat Go Bible data format]. Go Bible data is structured as Book | Chapter | Verse text and does not support notes, headings and cross-references, etc. The developer kit [http://gobible.jolon.org/developer/welcome.html Go Bible Creator] can take either USFM, ThML or OSIS as the source text format, but they usually have to be made specially suitable. For example, OSIS files produced by Snowfall Software's SFMToOSIS script are not structured the same. Work has begun to make an [http://en.wikipedia.org/wiki/XSL_Transformations XSLT] script to convert such OSIS XML files to the format suitable for Go Bible. [[Projects:Go Bible/Go Bible Creator|Go Bible Creator]] version 2.3.2 and onwards can take a folder of USFM files as the source text format.&lt;br /&gt;
&lt;br /&gt;
Go Bible source code is now available [https://crosswire.org/svn/gobible/ here] on the CrossWire Repository. ''To access this you will need to have an account''.&lt;br /&gt;
&lt;br /&gt;
GoBibleDataFormat is being extended in the [[Projects:Go Bible/SymScroll|SymScroll]] branch.&lt;br /&gt;
&lt;br /&gt;
==Formats for which CrossWire has no intention of creating a converter==&lt;br /&gt;
===STEP===&lt;br /&gt;
''[http://en.wikipedia.org/wiki/STEP_Library Standard Template for Electronic Publishing]''&lt;br /&gt;
&lt;br /&gt;
This file format was formerly used by QuickVerse and WORDsearch, and is currently used for some e-Sword books.&lt;br /&gt;
&lt;br /&gt;
While not an open standard, the publicly released documentation and specifications for this format can be found partially mirrored at &lt;br /&gt;
http://www.crosswire.org/bsisg/. Some utilities for working with this format are listed below. The SWORD Project will not support this dead format.&lt;br /&gt;
&lt;br /&gt;
''Not to be confused with STEP (Scripture Tools for Every Pastor) &amp;amp;ndash; and the new front-end application ([[Frontends:TyndaleStep|Tyndale STEP]]) being developed by Tyndale House, Cambridge in collaboration with CrossWire''.&lt;br /&gt;
&lt;br /&gt;
===USX===&lt;br /&gt;
'''USX''' is an XML schema that is the underlying data structure in the latest release of [http://paratext.org/ UBS Paratext]. SIL's Language Software Development team is working with UBS on this. This version of Paratext can take in USFM projects and export USX files.&lt;br /&gt;
&lt;br /&gt;
USX was defined to support the [http://everytribeeverynation.org/ Every Tribe Every Nation] alliance '''Digital Bible Library''' (DBL). The alliance brings together the United Bible Society, SIL/WBT, American Bible Society, Biblica and other Bible Agencies. Under the ETEN framework, Bible translations made publication ready in the DBL for access by approved End User Ministry Partners (EUMP) will be stored in USX format.&lt;br /&gt;
&lt;br /&gt;
The [https://bitbucket.org/paratext/dblvalidation/src/tip/source/text USX schema] is available in the compact [http://relaxng.org/ Relax NG] Schema language. [https://bitbucket.org/paratext/dblvalidation dblvalidation] for the Digital Bible Library is hosted on the same site.&lt;br /&gt;
&lt;br /&gt;
==Other Utilities==&lt;br /&gt;
These are not part of The SWORD Project, but may be useful. A link is given for each.&lt;br /&gt;
&lt;br /&gt;
===Go Bible utilities===&lt;br /&gt;
* [[Projects:Go Bible/Go Bible Creator|Go Bible Creator]] - a Java SE program for converting either ThML or OSIS or USFM to [[Projects:Go Bible|Go Bible]]. It is being enhanced by SIL to be capable of converting source text in [[File Formats#XHTML|XHTML-TE]] format.&lt;br /&gt;
&lt;br /&gt;
* [http://gbcpreprocessor.codeplex.com/ Go Bible Creator USFM Preprocessor] &amp;amp;ndash; 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.&lt;br /&gt;
&lt;br /&gt;
===STEP Utilities===&lt;br /&gt;
* step2rtf - extracts the internal RTF text from STEP books  [http://www.customconsulting.us/step2rtf.zip]&lt;br /&gt;
* stepr - a rudimentary STEP reader [http://www.customconsulting.us/stepr-0.3.1.tgz]&lt;br /&gt;
&lt;br /&gt;
===ThML Utilities===&lt;br /&gt;
* CCEL Desktop - a program for viewing and developing CCEL books [http://ccel-desktop.sourceforge.net/]&lt;br /&gt;
&lt;br /&gt;
== Optical Character Recognition ==&lt;br /&gt;
[[Non-CrossWire Text-Development Projects|Text development]] activities may be greatly assisted by using [http://en.wikipedia.org/wiki/Optical_character_recognition OCR] software. This section will list OCR programs that CrossWire volunteers have found useful. Proprietary programs should not be listed here, the preference at CrossWire being to use free and/or open-source software.&lt;br /&gt;
&lt;br /&gt;
=== Tessaract ===&lt;br /&gt;
&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Tesseract_(software) Tesseract] is a free optical character recognition engine. It was originally developed at Hewlett-Packard from 1985 until 1995. After ten years with no development, Hewlett Packard and UNLV released it in 2005. Tesseract is currently developed by Google and released under the Apache License, Version 2.0. Tesseract is considered one of the the most accurate free software OCR engines currently available.&lt;br /&gt;
&lt;br /&gt;
* [http://vietocr.sourceforge.net/ VietOCR] &amp;amp;ndash; A Java/.NET GUI frontend for Tesseract OCR engine. Supports optical character recognition for Vietnamese language. Tip: Visit [http://www.moheb.de/ocr.html] to read how Moheb Mekhaiel adapted VietOCR to scan Coptic documents. &lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Frontends:Bookmarks Standard]]&lt;br /&gt;
* [[File Formats Cruft]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development tools]]&lt;br /&gt;
[[Category:File formats]]&lt;br /&gt;
[[Category:OSIS]]&lt;br /&gt;
[[Category:ThML]]&lt;br /&gt;
[[Category:Utilities]]&lt;br /&gt;
[[Category:USFM]]&lt;br /&gt;
[[Category:Unicode]]&lt;br /&gt;
[[Category:Bibledit]]&lt;br /&gt;
[[Category:Paratext]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=File_Formats&amp;diff=13138</id>
		<title>File Formats</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=File_Formats&amp;diff=13138"/>
				<updated>2014-02-07T20:57:41Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: We don't actually have a STEP converter, just an exporter, and we&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bible study programs use a plethora of markup formats. Even more have been suggested for use in creating Bibles and other religious material.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
This page lists some of the more common file formats ''relevant'' to The SWORD Project, associated utilities, and other CrossWire projects.&lt;br /&gt;
&lt;br /&gt;
== SWORD modules ==&lt;br /&gt;
Other than the source code for the SWORD API, there is no documentation for the file format of a '''SWORD module'''. There is no other documentation. The intention is that the [[DevTools:SWORD|SWORD API]] (or the [[DevTools:JSword|JSword]] implementation) is used directly or via other [http://en.wikipedia.org/wiki/Language_binding language bindings].&lt;br /&gt;
&lt;br /&gt;
Whilst our software is [http://en.wikipedia.org/wiki/Open_source ''open source''], our module file format is [http://en.wikipedia.org/wiki/Proprietary_format ''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.&lt;br /&gt;
&lt;br /&gt;
==SWORD Input formats==&lt;br /&gt;
The SWORD Project supports the following markup: OSIS, ThML, GBF and plain text.&lt;br /&gt;
&lt;br /&gt;
===OSIS===&lt;br /&gt;
''Open Scripture Information Standard''&lt;br /&gt;
&lt;br /&gt;
The Open Scripture Information Standard (OSIS) is &amp;quot;a common format for many visions.&amp;quot; It is an XML format for marking up scripture and related text, part of an initiative composed of translators, publishers, scholars, software manufacturers, and technical experts, coordinated by the [http://www.bibletechnologies.net/ Bible Technologies Group]. It is co-sponsored by the [http://www.americanbible.org/ American Bible Society] and the [http://www.sbl-site.org/ Society of Biblical Literature]. &lt;br /&gt;
&lt;br /&gt;
The most recent XML schema is [http://www.bibletechnologies.net/osisCore.2.1.1.xsd OSIS 2.1.1], and a [http://www.bibletechnologies.net/20Manual.dsp manual]  is also available.&lt;br /&gt;
&lt;br /&gt;
This markup format is recommended by the CrossWire Bible Society and can be used for creating all types of resources for The SWORD Project. Support for OSIS is actively maintained and support for any unsupported elements or features needed for a module you may be working on may be requested.&lt;br /&gt;
&lt;br /&gt;
[http://www.princexml.com/ Prince XML] is a proprietary software program that converts XML and HTML documents into PDF files by applying Cascading Style Sheets (CSS). It is developed by YesLogic, a small company based in Melbourne, Australia. It can be used to create high quality PDF Bibles from OSIS files[http://www.princexml.com/samples/]. A paper by [http://www.bibletechconference.com/speakers/ Jim Albright] of Wycliffe Bible Translators was presented at [http://www.bibletechconference.com/ BibleTech 2010] on using the open-source GUI companion for Prince XML, called [http://code.google.com/p/princess-2010/ Princess].&lt;br /&gt;
&lt;br /&gt;
===ThML===&lt;br /&gt;
''Theological Markup Language''&lt;br /&gt;
&lt;br /&gt;
This format is a variant of XML based on TEI and ThML, developed by and for the [http://www.ccel.org/ Christian Classics Ethereal Library]. The specifications for this markup format are available at http://www.ccel.org/ThML/. &lt;br /&gt;
&lt;br /&gt;
This markup format is used in some SWORD resources, but only the creation of free-form &amp;quot;General book&amp;quot; modules based on existing CCEL resources is currently supported. Other works and new works should be created using the OSIS or TEI format.&lt;br /&gt;
&lt;br /&gt;
===GBF===&lt;br /&gt;
''General Bible Format''&lt;br /&gt;
&lt;br /&gt;
This markup format is intended as an aid to preparing Bible texts (specifically the WEB and WEB:ME) for use with various Bible search programs. The complete specification is at http://www.ebible.org/bible/gbf.htm. &lt;br /&gt;
&lt;br /&gt;
This markup format was previously used for some SWORD modules but is now [http://en.wikipedia.org/wiki/Deprecation deprecated] in favor of OSIS. The rudimentary [http://crosswire.org/ftpmirror/pub/sword/utils/perl/gbf2osis.pl gbf2osis.pl] Perl utility may be used to convert GBF to OSIS for import to SWORD's native format. Adyeth hosts a [http://sites.google.com/site/adyeths/theswordproject/gbf2osis.py?attredirects=0 gbf2osis] Python utility that he wrote to convert the GBF texts from [http://ebible.org/ ebible.org] to OSIS. See [http://sites.google.com/site/adyeths/theswordproject].&lt;br /&gt;
&lt;br /&gt;
===VPL===&lt;br /&gt;
''Verse-Per-Line''&lt;br /&gt;
&lt;br /&gt;
This plain-text format is used for by SWORD for import of Bibles. It consists of one verse per line, with an optional verse reference at the beginning. The [[#VPL_Tools|vpl2mod]] utility may be used for import. VPL is deprecated in favor of the IMP format, which is more widely useful. The [[#VPL_Tools|mod2vpl]] utility may be used for export to VPL. There is a command line switch to prepend the verse reference to each line.&lt;br /&gt;
&lt;br /&gt;
===IMP===&lt;br /&gt;
''Import Format''&lt;br /&gt;
&lt;br /&gt;
This proprietary file format is used by SWORD for import of all types of modules. The three utilities '''imp2vs''' (for Bibles and verse-indexed commentaries), '''imp2ld''' (for lexicons, dictionaries, and daily-devotionals), and '''imp2gbs''' (for all other types of books) can be used to import IMP files to SWORD's native formats.&lt;br /&gt;
&lt;br /&gt;
An IMP file consists of any number of entries. Each entry consists of a key line and any number of content lines. The key line consists of a line beginning with &amp;quot;$$$&amp;quot;. For example, &amp;quot;$$$Gen 1:1&amp;quot; would be the key line for the Genesis 1:1 entry of a Bible or commentary module.&lt;br /&gt;
&lt;br /&gt;
The content lines of an entry may consist of any text (provided that the first three characters of the line are not &amp;quot;$$$&amp;quot;). The internal markup of the content may be in any format supported by SWORD, namely OSIS for any module type or ThML for freeform books from CCEL.&lt;br /&gt;
&lt;br /&gt;
See also [[DevTools:Modules#IMP_Format]].&lt;br /&gt;
&lt;br /&gt;
==== imp2osis ====&lt;br /&gt;
CrossWire has a Perl script called [http://crosswire.org/ftpmirror/pub/sword/utils/perl/imp2osis.pl imp2osis.pl], which will convert IMP to OSIS fairly well (except a few 'corner cases'). Whenever CrossWire receives an IMP submission, this is the first thing that is run, allowing CrossWire to do validation and other OSIS sanity checks. Some editing is usually necessary after converting an IMP file to an OSIS XML file. For example, the attribute '''canonical''' is omitted from the osisText and all &amp;amp;lt;div&amp;gt; elements, and the language attribute '''xml:lang''' defaults to &amp;quot;en&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==The SWORD Project Utilities==&lt;br /&gt;
Precompiled versions of many of these programs are available in most Linux distributions, using the distribution's package installer. For Windows, they can be found [http://crosswire.org/ftpmirror/pub/sword/utils/win32 here].&amp;lt;ref&amp;gt;If you have Xiphos installed in Windows, the Sword utilities are available in the Xiphos\bin folder.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;The latest binaries may be found [http://dl.thehellings.com/sword-utils/ here], though currently without emptyvss.exe&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Module Creation Tools===&lt;br /&gt;
It is recommended that Unicode text files used for module creation be [[Encoding|encoded]] as UTF-8.&amp;lt;ref&amp;gt;[http://en.wikipedia.org/wiki/Newline 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.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* imp2gbs - imports free-form General books in IMP format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* imp2ld - imports lexicons, dictionaries, and daily devotionals in IMP format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* imp2vs - imports Bibles and commentaries in IMP format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* vpl2mod - imports Bibles and commentaries in Verse-Per-Line format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* [[osis2mod]] - imports Bibles and commentaries in OSIS format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* xml2gbs - imports free-form General books in OSIS or ThML format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===Diagnostic Tools===&lt;br /&gt;
* mod2imp - creates an IMP file&amp;lt;ref&amp;gt;The IMP file may contain a residue of XML markup&amp;lt;/ref&amp;gt; from an installed module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* stepdump - dumps the contents of a STEP book [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* emptyvss - exports a list of verses missing from the module (useful for testing modules during development) [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===Conversion Tools===&lt;br /&gt;
* gbf2osis.pl - a PERL utility for converting GBF to OSIS [http://crosswire.org/ftpmirror/pub/sword/utils/perl/gbf2osis.pl &amp;amp;dagger;]&lt;br /&gt;
* step2vpl - export a STEP book in Verse-Per-Line (VPL) format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* [[DevTools:Misc#thml2osis|thml2osis]] - converts ThML to OSIS format.&lt;br /&gt;
* zef2osis.pl - a PERL utility for converting Zefania XML to OSIS [http://crosswire.org/ftpmirror/pub/sword/utils/perl/zef2osis.pl &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===OSIS Utilities===&lt;br /&gt;
* [[mod2osis]] - creates an OSIS file from an installed module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* vs2osisref - returns the osisRef of a given (text form) verse reference [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* xml2gbs - imports free-form General books in OSIS or ThML format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===Miscellaneous===&lt;br /&gt;
* cipherraw - used to encipher SWORD modules [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* diatheke - a basic CLI SWORD front-end [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* mkfastmod - creates a search index for a module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* [[mod2zmod]] - creates a compressed module from an installed module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* mod2vpl - exports the module to VPL format&amp;lt;ref&amp;gt;The VPL file may contain a residue of XML markup&amp;lt;/ref&amp;gt; [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* modwrite - outputs the module contents in VPL format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* treeidxutil - ''needs a description'' [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* genbookutil - ''needs a description'' [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
==== Notes on SWORD Tools ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Recommended Non-SWORD Utilities===&lt;br /&gt;
* uconv - a utility from [http://icu-project.org/ 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 [http://crosswire.org/ftpmirror/pub/sword/utils/win32 sword utilities]&lt;br /&gt;
* xmllint - a utility (part of the [http://xmlsoft.org/ libxml2] distribution) for validating XML documents [http://crosswire.org/ftpmirror/pub/sword/utils/win32 *]&lt;br /&gt;
&lt;br /&gt;
==Formats for which CrossWire maintains converters==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Unbound Bible Format===&lt;br /&gt;
''Unbound Bible Format''&lt;br /&gt;
&lt;br /&gt;
The [http://unbound.biola.edu/ BIOLA's Unbound Bible] offers many of their resources for download in a proprietary, but relatively simple [http://en.wikipedia.org/wiki/Tab_delimited tab-delimited] plain-text format (TDT). There are usually two variants, one with versification mapping to the [http://en.wikipedia.org/wiki/American_Standard_Version ASV], and the other without verse mapping. All available downloads may be found on Unbound Bible's [http://unbound.biola.edu/index.cfm?method=downloads.showDownloadMain download page].&lt;br /&gt;
&lt;br /&gt;
There is no widespread use of this format, but the rudimentary [http://crosswire.org/ftpmirror/pub/sword/utils/perl/unb2osis.pl unb2osis.pl] utility may be used to convert Unbound Bible format to OSIS for import to SWORD's native format.&lt;br /&gt;
&lt;br /&gt;
===USFM===&lt;br /&gt;
[http://paratext.org/usfm ''Unified Standard Format Markers'']&lt;br /&gt;
&lt;br /&gt;
This plain-text format is a common internal-use format within Bible translation agencies and Bible societies. It is the native format of [http://paratext.org/ ParaTExt]. Paratext is used by more than 60% of all Bible translators world-wide. The current release is Paratext 7.4.&lt;br /&gt;
&lt;br /&gt;
CrossWire now has a Python script called usf2m2osis.py&amp;lt;ref&amp;gt;This replaces our earlier Perl script [http://crosswire.org/ftpmirror/pub/sword/utils/perl/usfm2osis.pl usfm2osis.pl].&amp;lt;/ref&amp;gt; which converts USFM to OSIS for subsequent import to SWORD's native format. See [[Converting SFM Bibles to OSIS]].&lt;br /&gt;
&lt;br /&gt;
USFM uses a separate file for each Bible book. USFM is also supported by the open-source program called [http://sites.google.com/site/bibledit/ Bibledit]. There are examples of Bibles in USFM format available for download at [http://ebible.org/]. These include the [http://ebible.org/bible/kjv/kjvsf.zip KJV], [http://ebible.org/bible/asv/asvsf.zip ASV], [http://ebible.org/bible/web/websf.zip WEB], [http://ebible.org/bible/hnv/hnvsf.zip HNV] and [http://ebible.org/pdg/tokpisinsf.zip PNG] Bibles.&lt;br /&gt;
&lt;br /&gt;
USFM is one of the formats that can be used by [[Projects:Go Bible/Go Bible Creator|Go Bible Creator]].&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Zefania XML===&lt;br /&gt;
Zefania is an XML format for Bible markup with only the most simple structural tags for book/chapter/verse, notes, etc. &lt;br /&gt;
The project is now hosted on [http://sourceforge.net/projects/zefania-sharp/ SourceForge].&lt;br /&gt;
The [http://sourceforge.net/projects/zefbiblereader/ Zefania Bible Reader] may be used to display Zefania XML Bibles through XSL transformation in browsers.&lt;br /&gt;
See also the related [http://zefania.blogspot.com/ Bible Resources Archive].&lt;br /&gt;
&lt;br /&gt;
The CrossWire utility [http://crosswire.org/ftpmirror/pub/sword/utils/perl/zef2osis.pl zef2osis.pl] may be used to convert Zefania XML to OSIS for import to SWORD's native format.&lt;br /&gt;
&lt;br /&gt;
===Go Bible===&lt;br /&gt;
Following an agreement made in July 2008 with the program's author Jolon Faichney, [[Projects:Go Bible|Go Bible]] was adopted by CrossWire as its Java ME software project.&lt;br /&gt;
&lt;br /&gt;
To achieve the navigation speed and general ease of use on even the simplest of Java mobile phones, Go Bible data is fully indexed, as well as being compressed (as are all JAR files).  The format is described in [http://code.google.com/p/gobible/wiki/GoBibleDataFormat Go Bible data format]. Go Bible data is structured as Book | Chapter | Verse text and does not support notes, headings and cross-references, etc. The developer kit [http://gobible.jolon.org/developer/welcome.html Go Bible Creator] can take either USFM, ThML or OSIS as the source text format, but they usually have to be made specially suitable. For example, OSIS files produced by Snowfall Software's SFMToOSIS script are not structured the same. Work has begun to make an [http://en.wikipedia.org/wiki/XSL_Transformations XSLT] script to convert such OSIS XML files to the format suitable for Go Bible. [[Projects:Go Bible/Go Bible Creator|Go Bible Creator]] version 2.3.2 and onwards can take a folder of USFM files as the source text format.&lt;br /&gt;
&lt;br /&gt;
Go Bible source code is now available [https://crosswire.org/svn/gobible/ here] on the CrossWire Repository. ''To access this you will need to have an account''.&lt;br /&gt;
&lt;br /&gt;
GoBibleDataFormat is being extended in the [[Projects:Go Bible/SymScroll|SymScroll]] branch.&lt;br /&gt;
&lt;br /&gt;
==Formats for which CrossWire has no intention of creating a converter==&lt;br /&gt;
===STEP===&lt;br /&gt;
''[http://en.wikipedia.org/wiki/STEP_Library Standard Template for Electronic Publishing]''&lt;br /&gt;
&lt;br /&gt;
This file format was formerly used by QuickVerse and WORDsearch, and is currently used for some e-Sword books.&lt;br /&gt;
&lt;br /&gt;
While not an open standard, the publicly released documentation and specifications for this format can be found partially mirrored at &lt;br /&gt;
http://www.crosswire.org/bsisg/. Some utilities for working with this format are listed below. It is unlikely that the SWORD Project will support this format in the future as it is largely dead.&lt;br /&gt;
&lt;br /&gt;
''Not to be confused with STEP (Scripture Tools for Every Pastor) &amp;amp;ndash; and the new front-end application ([[Frontends:TyndaleStep|Tyndale STEP]]) being developed by Tyndale House, Cambridge in collaboration with CrossWire''.&lt;br /&gt;
&lt;br /&gt;
===USX===&lt;br /&gt;
'''USX''' is an XML schema that is the underlying data structure in the latest release of [http://paratext.org/ UBS Paratext]. SIL's Language Software Development team is working with UBS on this. This version of Paratext can take in USFM projects and export USX files.&lt;br /&gt;
&lt;br /&gt;
USX was defined to support the [http://everytribeeverynation.org/ Every Tribe Every Nation] alliance '''Digital Bible Library''' (DBL). The alliance brings together the United Bible Society, SIL/WBT, American Bible Society, Biblica and other Bible Agencies. Under the ETEN framework, Bible translations made publication ready in the DBL for access by approved End User Ministry Partners (EUMP) will be stored in USX format.&lt;br /&gt;
&lt;br /&gt;
The [https://bitbucket.org/paratext/dblvalidation/src/tip/source/text USX schema] is available in the compact [http://relaxng.org/ Relax NG] Schema language. [https://bitbucket.org/paratext/dblvalidation dblvalidation] for the Digital Bible Library is hosted on the same site.&lt;br /&gt;
&lt;br /&gt;
==Other Utilities==&lt;br /&gt;
These are not part of The SWORD Project, but may be useful. A link is given for each.&lt;br /&gt;
&lt;br /&gt;
===Go Bible utilities===&lt;br /&gt;
* [[Projects:Go Bible/Go Bible Creator|Go Bible Creator]] - a Java SE program for converting either ThML or OSIS or USFM to [[Projects:Go Bible|Go Bible]]. It is being enhanced by SIL to be capable of converting source text in [[File Formats#XHTML|XHTML-TE]] format.&lt;br /&gt;
&lt;br /&gt;
* [http://gbcpreprocessor.codeplex.com/ Go Bible Creator USFM Preprocessor] &amp;amp;ndash; 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.&lt;br /&gt;
&lt;br /&gt;
===STEP Utilities===&lt;br /&gt;
* step2rtf - extracts the internal RTF text from STEP books  [http://www.customconsulting.us/step2rtf.zip]&lt;br /&gt;
* stepr - a rudimentary STEP reader [http://www.customconsulting.us/stepr-0.3.1.tgz]&lt;br /&gt;
&lt;br /&gt;
===ThML Utilities===&lt;br /&gt;
* CCEL Desktop - a program for viewing and developing CCEL books [http://ccel-desktop.sourceforge.net/]&lt;br /&gt;
&lt;br /&gt;
== Optical Character Recognition ==&lt;br /&gt;
[[Non-CrossWire Text-Development Projects|Text development]] activities may be greatly assisted by using [http://en.wikipedia.org/wiki/Optical_character_recognition OCR] software. This section will list OCR programs that CrossWire volunteers have found useful. Proprietary programs should not be listed here, the preference at CrossWire being to use free and/or open-source software.&lt;br /&gt;
&lt;br /&gt;
=== Tessaract ===&lt;br /&gt;
&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Tesseract_(software) Tesseract] is a free optical character recognition engine. It was originally developed at Hewlett-Packard from 1985 until 1995. After ten years with no development, Hewlett Packard and UNLV released it in 2005. Tesseract is currently developed by Google and released under the Apache License, Version 2.0. Tesseract is considered one of the the most accurate free software OCR engines currently available.&lt;br /&gt;
&lt;br /&gt;
* [http://vietocr.sourceforge.net/ VietOCR] &amp;amp;ndash; A Java/.NET GUI frontend for Tesseract OCR engine. Supports optical character recognition for Vietnamese language. Tip: Visit [http://www.moheb.de/ocr.html] to read how Moheb Mekhaiel adapted VietOCR to scan Coptic documents. &lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Frontends:Bookmarks Standard]]&lt;br /&gt;
* [[File Formats Cruft]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development tools]]&lt;br /&gt;
[[Category:File formats]]&lt;br /&gt;
[[Category:OSIS]]&lt;br /&gt;
[[Category:ThML]]&lt;br /&gt;
[[Category:Utilities]]&lt;br /&gt;
[[Category:USFM]]&lt;br /&gt;
[[Category:Unicode]]&lt;br /&gt;
[[Category:Bibledit]]&lt;br /&gt;
[[Category:Paratext]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=File_Formats&amp;diff=13137</id>
		<title>File Formats</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=File_Formats&amp;diff=13137"/>
				<updated>2014-02-07T20:54:01Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* Zefania Utilities */ dead link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bible study programs use a plethora of markup formats. Even more have been suggested for use in creating Bibles and other religious material.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
This page lists some of the more common file formats ''relevant'' to The SWORD Project, associated utilities, and other CrossWire projects.&lt;br /&gt;
&lt;br /&gt;
== SWORD modules ==&lt;br /&gt;
Other than the source code for the SWORD API, there is no documentation for the file format of a '''SWORD module'''. There is no other documentation. The intention is that the [[DevTools:SWORD|SWORD API]] (or the [[DevTools:JSword|JSword]] implementation) is used directly or via other [http://en.wikipedia.org/wiki/Language_binding language bindings].&lt;br /&gt;
&lt;br /&gt;
Whilst our software is [http://en.wikipedia.org/wiki/Open_source ''open source''], our module file format is [http://en.wikipedia.org/wiki/Proprietary_format ''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.&lt;br /&gt;
&lt;br /&gt;
==SWORD Input formats==&lt;br /&gt;
The SWORD Project supports the following markup: OSIS, ThML, GBF and plain text.&lt;br /&gt;
&lt;br /&gt;
===OSIS===&lt;br /&gt;
''Open Scripture Information Standard''&lt;br /&gt;
&lt;br /&gt;
The Open Scripture Information Standard (OSIS) is &amp;quot;a common format for many visions.&amp;quot; It is an XML format for marking up scripture and related text, part of an initiative composed of translators, publishers, scholars, software manufacturers, and technical experts, coordinated by the [http://www.bibletechnologies.net/ Bible Technologies Group]. It is co-sponsored by the [http://www.americanbible.org/ American Bible Society] and the [http://www.sbl-site.org/ Society of Biblical Literature]. &lt;br /&gt;
&lt;br /&gt;
The most recent XML schema is [http://www.bibletechnologies.net/osisCore.2.1.1.xsd OSIS 2.1.1], and a [http://www.bibletechnologies.net/20Manual.dsp manual]  is also available.&lt;br /&gt;
&lt;br /&gt;
This markup format is recommended by the CrossWire Bible Society and can be used for creating all types of resources for The SWORD Project. Support for OSIS is actively maintained and support for any unsupported elements or features needed for a module you may be working on may be requested.&lt;br /&gt;
&lt;br /&gt;
[http://www.princexml.com/ Prince XML] is a proprietary software program that converts XML and HTML documents into PDF files by applying Cascading Style Sheets (CSS). It is developed by YesLogic, a small company based in Melbourne, Australia. It can be used to create high quality PDF Bibles from OSIS files[http://www.princexml.com/samples/]. A paper by [http://www.bibletechconference.com/speakers/ Jim Albright] of Wycliffe Bible Translators was presented at [http://www.bibletechconference.com/ BibleTech 2010] on using the open-source GUI companion for Prince XML, called [http://code.google.com/p/princess-2010/ Princess].&lt;br /&gt;
&lt;br /&gt;
===ThML===&lt;br /&gt;
''Theological Markup Language''&lt;br /&gt;
&lt;br /&gt;
This format is a variant of XML based on TEI and ThML, developed by and for the [http://www.ccel.org/ Christian Classics Ethereal Library]. The specifications for this markup format are available at http://www.ccel.org/ThML/. &lt;br /&gt;
&lt;br /&gt;
This markup format is used in some SWORD resources, but only the creation of free-form &amp;quot;General book&amp;quot; modules based on existing CCEL resources is currently supported. Other works and new works should be created using the OSIS or TEI format.&lt;br /&gt;
&lt;br /&gt;
===GBF===&lt;br /&gt;
''General Bible Format''&lt;br /&gt;
&lt;br /&gt;
This markup format is intended as an aid to preparing Bible texts (specifically the WEB and WEB:ME) for use with various Bible search programs. The complete specification is at http://www.ebible.org/bible/gbf.htm. &lt;br /&gt;
&lt;br /&gt;
This markup format was previously used for some SWORD modules but is now [http://en.wikipedia.org/wiki/Deprecation deprecated] in favor of OSIS. The rudimentary [http://crosswire.org/ftpmirror/pub/sword/utils/perl/gbf2osis.pl gbf2osis.pl] Perl utility may be used to convert GBF to OSIS for import to SWORD's native format. Adyeth hosts a [http://sites.google.com/site/adyeths/theswordproject/gbf2osis.py?attredirects=0 gbf2osis] Python utility that he wrote to convert the GBF texts from [http://ebible.org/ ebible.org] to OSIS. See [http://sites.google.com/site/adyeths/theswordproject].&lt;br /&gt;
&lt;br /&gt;
===VPL===&lt;br /&gt;
''Verse-Per-Line''&lt;br /&gt;
&lt;br /&gt;
This plain-text format is used for by SWORD for import of Bibles. It consists of one verse per line, with an optional verse reference at the beginning. The [[#VPL_Tools|vpl2mod]] utility may be used for import. VPL is deprecated in favor of the IMP format, which is more widely useful. The [[#VPL_Tools|mod2vpl]] utility may be used for export to VPL. There is a command line switch to prepend the verse reference to each line.&lt;br /&gt;
&lt;br /&gt;
===IMP===&lt;br /&gt;
''Import Format''&lt;br /&gt;
&lt;br /&gt;
This proprietary file format is used by SWORD for import of all types of modules. The three utilities '''imp2vs''' (for Bibles and verse-indexed commentaries), '''imp2ld''' (for lexicons, dictionaries, and daily-devotionals), and '''imp2gbs''' (for all other types of books) can be used to import IMP files to SWORD's native formats.&lt;br /&gt;
&lt;br /&gt;
An IMP file consists of any number of entries. Each entry consists of a key line and any number of content lines. The key line consists of a line beginning with &amp;quot;$$$&amp;quot;. For example, &amp;quot;$$$Gen 1:1&amp;quot; would be the key line for the Genesis 1:1 entry of a Bible or commentary module.&lt;br /&gt;
&lt;br /&gt;
The content lines of an entry may consist of any text (provided that the first three characters of the line are not &amp;quot;$$$&amp;quot;). The internal markup of the content may be in any format supported by SWORD, namely OSIS for any module type or ThML for freeform books from CCEL.&lt;br /&gt;
&lt;br /&gt;
See also [[DevTools:Modules#IMP_Format]].&lt;br /&gt;
&lt;br /&gt;
==== imp2osis ====&lt;br /&gt;
CrossWire has a Perl script called [http://crosswire.org/ftpmirror/pub/sword/utils/perl/imp2osis.pl imp2osis.pl], which will convert IMP to OSIS fairly well (except a few 'corner cases'). Whenever CrossWire receives an IMP submission, this is the first thing that is run, allowing CrossWire to do validation and other OSIS sanity checks. Some editing is usually necessary after converting an IMP file to an OSIS XML file. For example, the attribute '''canonical''' is omitted from the osisText and all &amp;amp;lt;div&amp;gt; elements, and the language attribute '''xml:lang''' defaults to &amp;quot;en&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==The SWORD Project Utilities==&lt;br /&gt;
Precompiled versions of many of these programs are available in most Linux distributions, using the distribution's package installer. For Windows, they can be found [http://crosswire.org/ftpmirror/pub/sword/utils/win32 here].&amp;lt;ref&amp;gt;If you have Xiphos installed in Windows, the Sword utilities are available in the Xiphos\bin folder.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;The latest binaries may be found [http://dl.thehellings.com/sword-utils/ here], though currently without emptyvss.exe&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Module Creation Tools===&lt;br /&gt;
It is recommended that Unicode text files used for module creation be [[Encoding|encoded]] as UTF-8.&amp;lt;ref&amp;gt;[http://en.wikipedia.org/wiki/Newline 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.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* imp2gbs - imports free-form General books in IMP format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* imp2ld - imports lexicons, dictionaries, and daily devotionals in IMP format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* imp2vs - imports Bibles and commentaries in IMP format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* vpl2mod - imports Bibles and commentaries in Verse-Per-Line format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* [[osis2mod]] - imports Bibles and commentaries in OSIS format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* xml2gbs - imports free-form General books in OSIS or ThML format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===Diagnostic Tools===&lt;br /&gt;
* mod2imp - creates an IMP file&amp;lt;ref&amp;gt;The IMP file may contain a residue of XML markup&amp;lt;/ref&amp;gt; from an installed module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* stepdump - dumps the contents of a STEP book [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* emptyvss - exports a list of verses missing from the module (useful for testing modules during development) [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===Conversion Tools===&lt;br /&gt;
* gbf2osis.pl - a PERL utility for converting GBF to OSIS [http://crosswire.org/ftpmirror/pub/sword/utils/perl/gbf2osis.pl &amp;amp;dagger;]&lt;br /&gt;
* step2vpl - export a STEP book in Verse-Per-Line (VPL) format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* [[DevTools:Misc#thml2osis|thml2osis]] - converts ThML to OSIS format.&lt;br /&gt;
* zef2osis.pl - a PERL utility for converting Zefania XML to OSIS [http://crosswire.org/ftpmirror/pub/sword/utils/perl/zef2osis.pl &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===OSIS Utilities===&lt;br /&gt;
* [[mod2osis]] - creates an OSIS file from an installed module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* vs2osisref - returns the osisRef of a given (text form) verse reference [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* xml2gbs - imports free-form General books in OSIS or ThML format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===Miscellaneous===&lt;br /&gt;
* cipherraw - used to encipher SWORD modules [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* diatheke - a basic CLI SWORD front-end [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* mkfastmod - creates a search index for a module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* [[mod2zmod]] - creates a compressed module from an installed module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* mod2vpl - exports the module to VPL format&amp;lt;ref&amp;gt;The VPL file may contain a residue of XML markup&amp;lt;/ref&amp;gt; [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* modwrite - outputs the module contents in VPL format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* treeidxutil - ''needs a description'' [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* genbookutil - ''needs a description'' [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
==== Notes on SWORD Tools ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Recommended Non-SWORD Utilities===&lt;br /&gt;
* uconv - a utility from [http://icu-project.org/ 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 [http://crosswire.org/ftpmirror/pub/sword/utils/win32 sword utilities]&lt;br /&gt;
* xmllint - a utility (part of the [http://xmlsoft.org/ libxml2] distribution) for validating XML documents [http://crosswire.org/ftpmirror/pub/sword/utils/win32 *]&lt;br /&gt;
&lt;br /&gt;
==Formats for which CrossWire maintains converters==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===STEP===&lt;br /&gt;
''[http://en.wikipedia.org/wiki/STEP_Library Standard Template for Electronic Publishing]''&lt;br /&gt;
&lt;br /&gt;
This file format was formerly used by [http://www.quickverse.com/ QuickVerse] and [http://www.wordsearchbible.com/ WORDsearch], and is currently used for some [http://www.e-sword.net/ e-Sword] books.&lt;br /&gt;
&lt;br /&gt;
While not an open standard, the publicly released documentation and specifications for this format can be found partially mirrored at &lt;br /&gt;
http://www.crosswire.org/bsisg/. Some utilities for working with this format are listed below. It is unlikely that the SWORD Project will support this format in the future as it is largely dead.&lt;br /&gt;
&lt;br /&gt;
''Not to be confused with STEP (Scripture Tools for Every Pastor) &amp;amp;ndash; and the new front-end application ([[Frontends:TyndaleStep|Tyndale STEP]]) being developed by Tyndale House, Cambridge in collaboration with CrossWire''.&lt;br /&gt;
&lt;br /&gt;
===Unbound Bible Format===&lt;br /&gt;
''Unbound Bible Format''&lt;br /&gt;
&lt;br /&gt;
The [http://unbound.biola.edu/ BIOLA's Unbound Bible] offers many of their resources for download in a proprietary, but relatively simple [http://en.wikipedia.org/wiki/Tab_delimited tab-delimited] plain-text format (TDT). There are usually two variants, one with versification mapping to the [http://en.wikipedia.org/wiki/American_Standard_Version ASV], and the other without verse mapping. All available downloads may be found on Unbound Bible's [http://unbound.biola.edu/index.cfm?method=downloads.showDownloadMain download page].&lt;br /&gt;
&lt;br /&gt;
There is no widespread use of this format, but the rudimentary [http://crosswire.org/ftpmirror/pub/sword/utils/perl/unb2osis.pl unb2osis.pl] utility may be used to convert Unbound Bible format to OSIS for import to SWORD's native format.&lt;br /&gt;
&lt;br /&gt;
===USFM===&lt;br /&gt;
[http://paratext.org/usfm ''Unified Standard Format Markers'']&lt;br /&gt;
&lt;br /&gt;
This plain-text format is a common internal-use format within Bible translation agencies and Bible societies. It is the native format of [http://paratext.org/ ParaTExt]. Paratext is used by more than 60% of all Bible translators world-wide. The current release is Paratext 7.4.&lt;br /&gt;
&lt;br /&gt;
CrossWire now has a Python script called usf2m2osis.py&amp;lt;ref&amp;gt;This replaces our earlier Perl script [http://crosswire.org/ftpmirror/pub/sword/utils/perl/usfm2osis.pl usfm2osis.pl].&amp;lt;/ref&amp;gt; which converts USFM to OSIS for subsequent import to SWORD's native format. See [[Converting SFM Bibles to OSIS]].&lt;br /&gt;
&lt;br /&gt;
USFM uses a separate file for each Bible book. USFM is also supported by the open-source program called [http://sites.google.com/site/bibledit/ Bibledit]. There are examples of Bibles in USFM format available for download at [http://ebible.org/]. These include the [http://ebible.org/bible/kjv/kjvsf.zip KJV], [http://ebible.org/bible/asv/asvsf.zip ASV], [http://ebible.org/bible/web/websf.zip WEB], [http://ebible.org/bible/hnv/hnvsf.zip HNV] and [http://ebible.org/pdg/tokpisinsf.zip PNG] Bibles.&lt;br /&gt;
&lt;br /&gt;
USFM is one of the formats that can be used by [[Projects:Go Bible/Go Bible Creator|Go Bible Creator]].&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Zefania XML===&lt;br /&gt;
Zefania is an XML format for Bible markup with only the most simple structural tags for book/chapter/verse, notes, etc. &lt;br /&gt;
The project is now hosted on [http://sourceforge.net/projects/zefania-sharp/ SourceForge].&lt;br /&gt;
The [http://sourceforge.net/projects/zefbiblereader/ Zefania Bible Reader] may be used to display Zefania XML Bibles through XSL transformation in browsers.&lt;br /&gt;
See also the related [http://zefania.blogspot.com/ Bible Resources Archive].&lt;br /&gt;
&lt;br /&gt;
The CrossWire utility [http://crosswire.org/ftpmirror/pub/sword/utils/perl/zef2osis.pl zef2osis.pl] may be used to convert Zefania XML to OSIS for import to SWORD's native format.&lt;br /&gt;
&lt;br /&gt;
===Go Bible===&lt;br /&gt;
Following an agreement made in July 2008 with the program's author Jolon Faichney, [[Projects:Go Bible|Go Bible]] was adopted by CrossWire as its Java ME software project.&lt;br /&gt;
&lt;br /&gt;
To achieve the navigation speed and general ease of use on even the simplest of Java mobile phones, Go Bible data is fully indexed, as well as being compressed (as are all JAR files).  The format is described in [http://code.google.com/p/gobible/wiki/GoBibleDataFormat Go Bible data format]. Go Bible data is structured as Book | Chapter | Verse text and does not support notes, headings and cross-references, etc. The developer kit [http://gobible.jolon.org/developer/welcome.html Go Bible Creator] can take either USFM, ThML or OSIS as the source text format, but they usually have to be made specially suitable. For example, OSIS files produced by Snowfall Software's SFMToOSIS script are not structured the same. Work has begun to make an [http://en.wikipedia.org/wiki/XSL_Transformations XSLT] script to convert such OSIS XML files to the format suitable for Go Bible. [[Projects:Go Bible/Go Bible Creator|Go Bible Creator]] version 2.3.2 and onwards can take a folder of USFM files as the source text format.&lt;br /&gt;
&lt;br /&gt;
Go Bible source code is now available [https://crosswire.org/svn/gobible/ here] on the CrossWire Repository. ''To access this you will need to have an account''.&lt;br /&gt;
&lt;br /&gt;
GoBibleDataFormat is being extended in the [[Projects:Go Bible/SymScroll|SymScroll]] branch.&lt;br /&gt;
&lt;br /&gt;
==Formats for which CrossWire has no intention of creating a converter==&lt;br /&gt;
===USX===&lt;br /&gt;
&lt;br /&gt;
'''USX''' is an XML schema that is the underlying data structure in the latest release of [http://paratext.org/ UBS Paratext]. SIL's Language Software Development team is working with UBS on this. This version of Paratext can take in USFM projects and export USX files.&lt;br /&gt;
&lt;br /&gt;
USX was defined to support the [http://everytribeeverynation.org/ Every Tribe Every Nation] alliance '''Digital Bible Library''' (DBL). The alliance brings together the United Bible Society, SIL/WBT, American Bible Society, Biblica and other Bible Agencies. Under the ETEN framework, Bible translations made publication ready in the DBL for access by approved End User Ministry Partners (EUMP) will be stored in USX format.&lt;br /&gt;
&lt;br /&gt;
The [https://bitbucket.org/paratext/dblvalidation/src/tip/source/text USX schema] is available in the compact [http://relaxng.org/ Relax NG] Schema language. [https://bitbucket.org/paratext/dblvalidation dblvalidation] for the Digital Bible Library is hosted on the same site.&lt;br /&gt;
&lt;br /&gt;
==Other Utilities==&lt;br /&gt;
These are not part of The SWORD Project, but may be useful. A link is given for each.&lt;br /&gt;
&lt;br /&gt;
===Go Bible utilities===&lt;br /&gt;
* [[Projects:Go Bible/Go Bible Creator|Go Bible Creator]] - a Java SE program for converting either ThML or OSIS or USFM to [[Projects:Go Bible|Go Bible]]. It is being enhanced by SIL to be capable of converting source text in [[File Formats#XHTML|XHTML-TE]] format.&lt;br /&gt;
&lt;br /&gt;
* [http://gbcpreprocessor.codeplex.com/ Go Bible Creator USFM Preprocessor] &amp;amp;ndash; 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.&lt;br /&gt;
&lt;br /&gt;
===STEP Utilities===&lt;br /&gt;
* step2rtf - extracts the internal RTF text from STEP books  [http://www.customconsulting.us/step2rtf.zip]&lt;br /&gt;
* stepr - a rudimentary STEP reader [http://www.customconsulting.us/stepr-0.3.1.tgz]&lt;br /&gt;
&lt;br /&gt;
===ThML Utilities===&lt;br /&gt;
* CCEL Desktop - a program for viewing and developing CCEL books [http://ccel-desktop.sourceforge.net/]&lt;br /&gt;
&lt;br /&gt;
== Optical Character Recognition ==&lt;br /&gt;
[[Non-CrossWire Text-Development Projects|Text development]] activities may be greatly assisted by using [http://en.wikipedia.org/wiki/Optical_character_recognition OCR] software. This section will list OCR programs that CrossWire volunteers have found useful. Proprietary programs should not be listed here, the preference at CrossWire being to use free and/or open-source software.&lt;br /&gt;
&lt;br /&gt;
=== Tessaract ===&lt;br /&gt;
&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Tesseract_(software) Tesseract] is a free optical character recognition engine. It was originally developed at Hewlett-Packard from 1985 until 1995. After ten years with no development, Hewlett Packard and UNLV released it in 2005. Tesseract is currently developed by Google and released under the Apache License, Version 2.0. Tesseract is considered one of the the most accurate free software OCR engines currently available.&lt;br /&gt;
&lt;br /&gt;
* [http://vietocr.sourceforge.net/ VietOCR] &amp;amp;ndash; A Java/.NET GUI frontend for Tesseract OCR engine. Supports optical character recognition for Vietnamese language. Tip: Visit [http://www.moheb.de/ocr.html] to read how Moheb Mekhaiel adapted VietOCR to scan Coptic documents. &lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Frontends:Bookmarks Standard]]&lt;br /&gt;
* [[File Formats Cruft]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development tools]]&lt;br /&gt;
[[Category:File formats]]&lt;br /&gt;
[[Category:OSIS]]&lt;br /&gt;
[[Category:ThML]]&lt;br /&gt;
[[Category:Utilities]]&lt;br /&gt;
[[Category:USFM]]&lt;br /&gt;
[[Category:Unicode]]&lt;br /&gt;
[[Category:Bibledit]]&lt;br /&gt;
[[Category:Paratext]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=File_Formats&amp;diff=13136</id>
		<title>File Formats</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=File_Formats&amp;diff=13136"/>
				<updated>2014-02-07T20:53:42Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* GBF Tools */ GBF is long deprecated (even by MPJ)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bible study programs use a plethora of markup formats. Even more have been suggested for use in creating Bibles and other religious material.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
This page lists some of the more common file formats ''relevant'' to The SWORD Project, associated utilities, and other CrossWire projects.&lt;br /&gt;
&lt;br /&gt;
== SWORD modules ==&lt;br /&gt;
Other than the source code for the SWORD API, there is no documentation for the file format of a '''SWORD module'''. There is no other documentation. The intention is that the [[DevTools:SWORD|SWORD API]] (or the [[DevTools:JSword|JSword]] implementation) is used directly or via other [http://en.wikipedia.org/wiki/Language_binding language bindings].&lt;br /&gt;
&lt;br /&gt;
Whilst our software is [http://en.wikipedia.org/wiki/Open_source ''open source''], our module file format is [http://en.wikipedia.org/wiki/Proprietary_format ''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.&lt;br /&gt;
&lt;br /&gt;
==SWORD Input formats==&lt;br /&gt;
The SWORD Project supports the following markup: OSIS, ThML, GBF and plain text.&lt;br /&gt;
&lt;br /&gt;
===OSIS===&lt;br /&gt;
''Open Scripture Information Standard''&lt;br /&gt;
&lt;br /&gt;
The Open Scripture Information Standard (OSIS) is &amp;quot;a common format for many visions.&amp;quot; It is an XML format for marking up scripture and related text, part of an initiative composed of translators, publishers, scholars, software manufacturers, and technical experts, coordinated by the [http://www.bibletechnologies.net/ Bible Technologies Group]. It is co-sponsored by the [http://www.americanbible.org/ American Bible Society] and the [http://www.sbl-site.org/ Society of Biblical Literature]. &lt;br /&gt;
&lt;br /&gt;
The most recent XML schema is [http://www.bibletechnologies.net/osisCore.2.1.1.xsd OSIS 2.1.1], and a [http://www.bibletechnologies.net/20Manual.dsp manual]  is also available.&lt;br /&gt;
&lt;br /&gt;
This markup format is recommended by the CrossWire Bible Society and can be used for creating all types of resources for The SWORD Project. Support for OSIS is actively maintained and support for any unsupported elements or features needed for a module you may be working on may be requested.&lt;br /&gt;
&lt;br /&gt;
[http://www.princexml.com/ Prince XML] is a proprietary software program that converts XML and HTML documents into PDF files by applying Cascading Style Sheets (CSS). It is developed by YesLogic, a small company based in Melbourne, Australia. It can be used to create high quality PDF Bibles from OSIS files[http://www.princexml.com/samples/]. A paper by [http://www.bibletechconference.com/speakers/ Jim Albright] of Wycliffe Bible Translators was presented at [http://www.bibletechconference.com/ BibleTech 2010] on using the open-source GUI companion for Prince XML, called [http://code.google.com/p/princess-2010/ Princess].&lt;br /&gt;
&lt;br /&gt;
===ThML===&lt;br /&gt;
''Theological Markup Language''&lt;br /&gt;
&lt;br /&gt;
This format is a variant of XML based on TEI and ThML, developed by and for the [http://www.ccel.org/ Christian Classics Ethereal Library]. The specifications for this markup format are available at http://www.ccel.org/ThML/. &lt;br /&gt;
&lt;br /&gt;
This markup format is used in some SWORD resources, but only the creation of free-form &amp;quot;General book&amp;quot; modules based on existing CCEL resources is currently supported. Other works and new works should be created using the OSIS or TEI format.&lt;br /&gt;
&lt;br /&gt;
===GBF===&lt;br /&gt;
''General Bible Format''&lt;br /&gt;
&lt;br /&gt;
This markup format is intended as an aid to preparing Bible texts (specifically the WEB and WEB:ME) for use with various Bible search programs. The complete specification is at http://www.ebible.org/bible/gbf.htm. &lt;br /&gt;
&lt;br /&gt;
This markup format was previously used for some SWORD modules but is now [http://en.wikipedia.org/wiki/Deprecation deprecated] in favor of OSIS. The rudimentary [http://crosswire.org/ftpmirror/pub/sword/utils/perl/gbf2osis.pl gbf2osis.pl] Perl utility may be used to convert GBF to OSIS for import to SWORD's native format. Adyeth hosts a [http://sites.google.com/site/adyeths/theswordproject/gbf2osis.py?attredirects=0 gbf2osis] Python utility that he wrote to convert the GBF texts from [http://ebible.org/ ebible.org] to OSIS. See [http://sites.google.com/site/adyeths/theswordproject].&lt;br /&gt;
&lt;br /&gt;
===VPL===&lt;br /&gt;
''Verse-Per-Line''&lt;br /&gt;
&lt;br /&gt;
This plain-text format is used for by SWORD for import of Bibles. It consists of one verse per line, with an optional verse reference at the beginning. The [[#VPL_Tools|vpl2mod]] utility may be used for import. VPL is deprecated in favor of the IMP format, which is more widely useful. The [[#VPL_Tools|mod2vpl]] utility may be used for export to VPL. There is a command line switch to prepend the verse reference to each line.&lt;br /&gt;
&lt;br /&gt;
===IMP===&lt;br /&gt;
''Import Format''&lt;br /&gt;
&lt;br /&gt;
This proprietary file format is used by SWORD for import of all types of modules. The three utilities '''imp2vs''' (for Bibles and verse-indexed commentaries), '''imp2ld''' (for lexicons, dictionaries, and daily-devotionals), and '''imp2gbs''' (for all other types of books) can be used to import IMP files to SWORD's native formats.&lt;br /&gt;
&lt;br /&gt;
An IMP file consists of any number of entries. Each entry consists of a key line and any number of content lines. The key line consists of a line beginning with &amp;quot;$$$&amp;quot;. For example, &amp;quot;$$$Gen 1:1&amp;quot; would be the key line for the Genesis 1:1 entry of a Bible or commentary module.&lt;br /&gt;
&lt;br /&gt;
The content lines of an entry may consist of any text (provided that the first three characters of the line are not &amp;quot;$$$&amp;quot;). The internal markup of the content may be in any format supported by SWORD, namely OSIS for any module type or ThML for freeform books from CCEL.&lt;br /&gt;
&lt;br /&gt;
See also [[DevTools:Modules#IMP_Format]].&lt;br /&gt;
&lt;br /&gt;
==== imp2osis ====&lt;br /&gt;
CrossWire has a Perl script called [http://crosswire.org/ftpmirror/pub/sword/utils/perl/imp2osis.pl imp2osis.pl], which will convert IMP to OSIS fairly well (except a few 'corner cases'). Whenever CrossWire receives an IMP submission, this is the first thing that is run, allowing CrossWire to do validation and other OSIS sanity checks. Some editing is usually necessary after converting an IMP file to an OSIS XML file. For example, the attribute '''canonical''' is omitted from the osisText and all &amp;amp;lt;div&amp;gt; elements, and the language attribute '''xml:lang''' defaults to &amp;quot;en&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==The SWORD Project Utilities==&lt;br /&gt;
Precompiled versions of many of these programs are available in most Linux distributions, using the distribution's package installer. For Windows, they can be found [http://crosswire.org/ftpmirror/pub/sword/utils/win32 here].&amp;lt;ref&amp;gt;If you have Xiphos installed in Windows, the Sword utilities are available in the Xiphos\bin folder.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;The latest binaries may be found [http://dl.thehellings.com/sword-utils/ here], though currently without emptyvss.exe&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Module Creation Tools===&lt;br /&gt;
It is recommended that Unicode text files used for module creation be [[Encoding|encoded]] as UTF-8.&amp;lt;ref&amp;gt;[http://en.wikipedia.org/wiki/Newline 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.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* imp2gbs - imports free-form General books in IMP format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* imp2ld - imports lexicons, dictionaries, and daily devotionals in IMP format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* imp2vs - imports Bibles and commentaries in IMP format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* vpl2mod - imports Bibles and commentaries in Verse-Per-Line format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* [[osis2mod]] - imports Bibles and commentaries in OSIS format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* xml2gbs - imports free-form General books in OSIS or ThML format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===Diagnostic Tools===&lt;br /&gt;
* mod2imp - creates an IMP file&amp;lt;ref&amp;gt;The IMP file may contain a residue of XML markup&amp;lt;/ref&amp;gt; from an installed module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* stepdump - dumps the contents of a STEP book [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* emptyvss - exports a list of verses missing from the module (useful for testing modules during development) [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===Conversion Tools===&lt;br /&gt;
* gbf2osis.pl - a PERL utility for converting GBF to OSIS [http://crosswire.org/ftpmirror/pub/sword/utils/perl/gbf2osis.pl &amp;amp;dagger;]&lt;br /&gt;
* step2vpl - export a STEP book in Verse-Per-Line (VPL) format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* [[DevTools:Misc#thml2osis|thml2osis]] - converts ThML to OSIS format.&lt;br /&gt;
* zef2osis.pl - a PERL utility for converting Zefania XML to OSIS [http://crosswire.org/ftpmirror/pub/sword/utils/perl/zef2osis.pl &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===OSIS Utilities===&lt;br /&gt;
* [[mod2osis]] - creates an OSIS file from an installed module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* vs2osisref - returns the osisRef of a given (text form) verse reference [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* xml2gbs - imports free-form General books in OSIS or ThML format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===Miscellaneous===&lt;br /&gt;
* cipherraw - used to encipher SWORD modules [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* diatheke - a basic CLI SWORD front-end [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* mkfastmod - creates a search index for a module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* [[mod2zmod]] - creates a compressed module from an installed module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* mod2vpl - exports the module to VPL format&amp;lt;ref&amp;gt;The VPL file may contain a residue of XML markup&amp;lt;/ref&amp;gt; [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* modwrite - outputs the module contents in VPL format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* treeidxutil - ''needs a description'' [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* genbookutil - ''needs a description'' [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
==== Notes on SWORD Tools ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Recommended Non-SWORD Utilities===&lt;br /&gt;
* uconv - a utility from [http://icu-project.org/ 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 [http://crosswire.org/ftpmirror/pub/sword/utils/win32 sword utilities]&lt;br /&gt;
* xmllint - a utility (part of the [http://xmlsoft.org/ libxml2] distribution) for validating XML documents [http://crosswire.org/ftpmirror/pub/sword/utils/win32 *]&lt;br /&gt;
&lt;br /&gt;
==Formats for which CrossWire maintains converters==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===STEP===&lt;br /&gt;
''[http://en.wikipedia.org/wiki/STEP_Library Standard Template for Electronic Publishing]''&lt;br /&gt;
&lt;br /&gt;
This file format was formerly used by [http://www.quickverse.com/ QuickVerse] and [http://www.wordsearchbible.com/ WORDsearch], and is currently used for some [http://www.e-sword.net/ e-Sword] books.&lt;br /&gt;
&lt;br /&gt;
While not an open standard, the publicly released documentation and specifications for this format can be found partially mirrored at &lt;br /&gt;
http://www.crosswire.org/bsisg/. Some utilities for working with this format are listed below. It is unlikely that the SWORD Project will support this format in the future as it is largely dead.&lt;br /&gt;
&lt;br /&gt;
''Not to be confused with STEP (Scripture Tools for Every Pastor) &amp;amp;ndash; and the new front-end application ([[Frontends:TyndaleStep|Tyndale STEP]]) being developed by Tyndale House, Cambridge in collaboration with CrossWire''.&lt;br /&gt;
&lt;br /&gt;
===Unbound Bible Format===&lt;br /&gt;
''Unbound Bible Format''&lt;br /&gt;
&lt;br /&gt;
The [http://unbound.biola.edu/ BIOLA's Unbound Bible] offers many of their resources for download in a proprietary, but relatively simple [http://en.wikipedia.org/wiki/Tab_delimited tab-delimited] plain-text format (TDT). There are usually two variants, one with versification mapping to the [http://en.wikipedia.org/wiki/American_Standard_Version ASV], and the other without verse mapping. All available downloads may be found on Unbound Bible's [http://unbound.biola.edu/index.cfm?method=downloads.showDownloadMain download page].&lt;br /&gt;
&lt;br /&gt;
There is no widespread use of this format, but the rudimentary [http://crosswire.org/ftpmirror/pub/sword/utils/perl/unb2osis.pl unb2osis.pl] utility may be used to convert Unbound Bible format to OSIS for import to SWORD's native format.&lt;br /&gt;
&lt;br /&gt;
===USFM===&lt;br /&gt;
[http://paratext.org/usfm ''Unified Standard Format Markers'']&lt;br /&gt;
&lt;br /&gt;
This plain-text format is a common internal-use format within Bible translation agencies and Bible societies. It is the native format of [http://paratext.org/ ParaTExt]. Paratext is used by more than 60% of all Bible translators world-wide. The current release is Paratext 7.4.&lt;br /&gt;
&lt;br /&gt;
CrossWire now has a Python script called usf2m2osis.py&amp;lt;ref&amp;gt;This replaces our earlier Perl script [http://crosswire.org/ftpmirror/pub/sword/utils/perl/usfm2osis.pl usfm2osis.pl].&amp;lt;/ref&amp;gt; which converts USFM to OSIS for subsequent import to SWORD's native format. See [[Converting SFM Bibles to OSIS]].&lt;br /&gt;
&lt;br /&gt;
USFM uses a separate file for each Bible book. USFM is also supported by the open-source program called [http://sites.google.com/site/bibledit/ Bibledit]. There are examples of Bibles in USFM format available for download at [http://ebible.org/]. These include the [http://ebible.org/bible/kjv/kjvsf.zip KJV], [http://ebible.org/bible/asv/asvsf.zip ASV], [http://ebible.org/bible/web/websf.zip WEB], [http://ebible.org/bible/hnv/hnvsf.zip HNV] and [http://ebible.org/pdg/tokpisinsf.zip PNG] Bibles.&lt;br /&gt;
&lt;br /&gt;
USFM is one of the formats that can be used by [[Projects:Go Bible/Go Bible Creator|Go Bible Creator]].&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Zefania XML===&lt;br /&gt;
Zefania is an XML format for Bible markup with only the most simple structural tags for book/chapter/verse, notes, etc. &lt;br /&gt;
The project is now hosted on [http://sourceforge.net/projects/zefania-sharp/ SourceForge].&lt;br /&gt;
The [http://sourceforge.net/projects/zefbiblereader/ Zefania Bible Reader] may be used to display Zefania XML Bibles through XSL transformation in browsers.&lt;br /&gt;
See also the related [http://zefania.blogspot.com/ Bible Resources Archive].&lt;br /&gt;
&lt;br /&gt;
The CrossWire utility [http://crosswire.org/ftpmirror/pub/sword/utils/perl/zef2osis.pl zef2osis.pl] may be used to convert Zefania XML to OSIS for import to SWORD's native format.&lt;br /&gt;
&lt;br /&gt;
===Go Bible===&lt;br /&gt;
Following an agreement made in July 2008 with the program's author Jolon Faichney, [[Projects:Go Bible|Go Bible]] was adopted by CrossWire as its Java ME software project.&lt;br /&gt;
&lt;br /&gt;
To achieve the navigation speed and general ease of use on even the simplest of Java mobile phones, Go Bible data is fully indexed, as well as being compressed (as are all JAR files).  The format is described in [http://code.google.com/p/gobible/wiki/GoBibleDataFormat Go Bible data format]. Go Bible data is structured as Book | Chapter | Verse text and does not support notes, headings and cross-references, etc. The developer kit [http://gobible.jolon.org/developer/welcome.html Go Bible Creator] can take either USFM, ThML or OSIS as the source text format, but they usually have to be made specially suitable. For example, OSIS files produced by Snowfall Software's SFMToOSIS script are not structured the same. Work has begun to make an [http://en.wikipedia.org/wiki/XSL_Transformations XSLT] script to convert such OSIS XML files to the format suitable for Go Bible. [[Projects:Go Bible/Go Bible Creator|Go Bible Creator]] version 2.3.2 and onwards can take a folder of USFM files as the source text format.&lt;br /&gt;
&lt;br /&gt;
Go Bible source code is now available [https://crosswire.org/svn/gobible/ here] on the CrossWire Repository. ''To access this you will need to have an account''.&lt;br /&gt;
&lt;br /&gt;
GoBibleDataFormat is being extended in the [[Projects:Go Bible/SymScroll|SymScroll]] branch.&lt;br /&gt;
&lt;br /&gt;
==Formats for which CrossWire has no intention of creating a converter==&lt;br /&gt;
===USX===&lt;br /&gt;
&lt;br /&gt;
'''USX''' is an XML schema that is the underlying data structure in the latest release of [http://paratext.org/ UBS Paratext]. SIL's Language Software Development team is working with UBS on this. This version of Paratext can take in USFM projects and export USX files.&lt;br /&gt;
&lt;br /&gt;
USX was defined to support the [http://everytribeeverynation.org/ Every Tribe Every Nation] alliance '''Digital Bible Library''' (DBL). The alliance brings together the United Bible Society, SIL/WBT, American Bible Society, Biblica and other Bible Agencies. Under the ETEN framework, Bible translations made publication ready in the DBL for access by approved End User Ministry Partners (EUMP) will be stored in USX format.&lt;br /&gt;
&lt;br /&gt;
The [https://bitbucket.org/paratext/dblvalidation/src/tip/source/text USX schema] is available in the compact [http://relaxng.org/ Relax NG] Schema language. [https://bitbucket.org/paratext/dblvalidation dblvalidation] for the Digital Bible Library is hosted on the same site.&lt;br /&gt;
&lt;br /&gt;
==Other Utilities==&lt;br /&gt;
These are not part of The SWORD Project, but may be useful. A link is given for each.&lt;br /&gt;
&lt;br /&gt;
===Go Bible utilities===&lt;br /&gt;
* [[Projects:Go Bible/Go Bible Creator|Go Bible Creator]] - a Java SE program for converting either ThML or OSIS or USFM to [[Projects:Go Bible|Go Bible]]. It is being enhanced by SIL to be capable of converting source text in [[File Formats#XHTML|XHTML-TE]] format.&lt;br /&gt;
&lt;br /&gt;
* [http://gbcpreprocessor.codeplex.com/ Go Bible Creator USFM Preprocessor] &amp;amp;ndash; 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.&lt;br /&gt;
&lt;br /&gt;
===STEP Utilities===&lt;br /&gt;
* step2rtf - extracts the internal RTF text from STEP books  [http://www.customconsulting.us/step2rtf.zip]&lt;br /&gt;
* stepr - a rudimentary STEP reader [http://www.customconsulting.us/stepr-0.3.1.tgz]&lt;br /&gt;
&lt;br /&gt;
===ThML Utilities===&lt;br /&gt;
* CCEL Desktop - a program for viewing and developing CCEL books [http://ccel-desktop.sourceforge.net/]&lt;br /&gt;
&lt;br /&gt;
===Zefania Utilities===&lt;br /&gt;
* Zefania_2_sword_win32 - ''sed based scripts maintained by JensG'' [http://www.grabner-online.de/download/zefania_2_sword_win32.zip]&lt;br /&gt;
&lt;br /&gt;
== Optical Character Recognition ==&lt;br /&gt;
[[Non-CrossWire Text-Development Projects|Text development]] activities may be greatly assisted by using [http://en.wikipedia.org/wiki/Optical_character_recognition OCR] software. This section will list OCR programs that CrossWire volunteers have found useful. Proprietary programs should not be listed here, the preference at CrossWire being to use free and/or open-source software.&lt;br /&gt;
&lt;br /&gt;
=== Tessaract ===&lt;br /&gt;
&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Tesseract_(software) Tesseract] is a free optical character recognition engine. It was originally developed at Hewlett-Packard from 1985 until 1995. After ten years with no development, Hewlett Packard and UNLV released it in 2005. Tesseract is currently developed by Google and released under the Apache License, Version 2.0. Tesseract is considered one of the the most accurate free software OCR engines currently available.&lt;br /&gt;
&lt;br /&gt;
* [http://vietocr.sourceforge.net/ VietOCR] &amp;amp;ndash; A Java/.NET GUI frontend for Tesseract OCR engine. Supports optical character recognition for Vietnamese language. Tip: Visit [http://www.moheb.de/ocr.html] to read how Moheb Mekhaiel adapted VietOCR to scan Coptic documents. &lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Frontends:Bookmarks Standard]]&lt;br /&gt;
* [[File Formats Cruft]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development tools]]&lt;br /&gt;
[[Category:File formats]]&lt;br /&gt;
[[Category:OSIS]]&lt;br /&gt;
[[Category:ThML]]&lt;br /&gt;
[[Category:Utilities]]&lt;br /&gt;
[[Category:USFM]]&lt;br /&gt;
[[Category:Unicode]]&lt;br /&gt;
[[Category:Bibledit]]&lt;br /&gt;
[[Category:Paratext]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=File_Formats&amp;diff=13135</id>
		<title>File Formats</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=File_Formats&amp;diff=13135"/>
				<updated>2014-02-07T20:52:37Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: 'yet' implies it is planned and will likely happen, but there is no value in USX or supporting USX&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bible study programs use a plethora of markup formats. Even more have been suggested for use in creating Bibles and other religious material.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
This page lists some of the more common file formats ''relevant'' to The SWORD Project, associated utilities, and other CrossWire projects.&lt;br /&gt;
&lt;br /&gt;
== SWORD modules ==&lt;br /&gt;
Other than the source code for the SWORD API, there is no documentation for the file format of a '''SWORD module'''. There is no other documentation. The intention is that the [[DevTools:SWORD|SWORD API]] (or the [[DevTools:JSword|JSword]] implementation) is used directly or via other [http://en.wikipedia.org/wiki/Language_binding language bindings].&lt;br /&gt;
&lt;br /&gt;
Whilst our software is [http://en.wikipedia.org/wiki/Open_source ''open source''], our module file format is [http://en.wikipedia.org/wiki/Proprietary_format ''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.&lt;br /&gt;
&lt;br /&gt;
==SWORD Input formats==&lt;br /&gt;
The SWORD Project supports the following markup: OSIS, ThML, GBF and plain text.&lt;br /&gt;
&lt;br /&gt;
===OSIS===&lt;br /&gt;
''Open Scripture Information Standard''&lt;br /&gt;
&lt;br /&gt;
The Open Scripture Information Standard (OSIS) is &amp;quot;a common format for many visions.&amp;quot; It is an XML format for marking up scripture and related text, part of an initiative composed of translators, publishers, scholars, software manufacturers, and technical experts, coordinated by the [http://www.bibletechnologies.net/ Bible Technologies Group]. It is co-sponsored by the [http://www.americanbible.org/ American Bible Society] and the [http://www.sbl-site.org/ Society of Biblical Literature]. &lt;br /&gt;
&lt;br /&gt;
The most recent XML schema is [http://www.bibletechnologies.net/osisCore.2.1.1.xsd OSIS 2.1.1], and a [http://www.bibletechnologies.net/20Manual.dsp manual]  is also available.&lt;br /&gt;
&lt;br /&gt;
This markup format is recommended by the CrossWire Bible Society and can be used for creating all types of resources for The SWORD Project. Support for OSIS is actively maintained and support for any unsupported elements or features needed for a module you may be working on may be requested.&lt;br /&gt;
&lt;br /&gt;
[http://www.princexml.com/ Prince XML] is a proprietary software program that converts XML and HTML documents into PDF files by applying Cascading Style Sheets (CSS). It is developed by YesLogic, a small company based in Melbourne, Australia. It can be used to create high quality PDF Bibles from OSIS files[http://www.princexml.com/samples/]. A paper by [http://www.bibletechconference.com/speakers/ Jim Albright] of Wycliffe Bible Translators was presented at [http://www.bibletechconference.com/ BibleTech 2010] on using the open-source GUI companion for Prince XML, called [http://code.google.com/p/princess-2010/ Princess].&lt;br /&gt;
&lt;br /&gt;
===ThML===&lt;br /&gt;
''Theological Markup Language''&lt;br /&gt;
&lt;br /&gt;
This format is a variant of XML based on TEI and ThML, developed by and for the [http://www.ccel.org/ Christian Classics Ethereal Library]. The specifications for this markup format are available at http://www.ccel.org/ThML/. &lt;br /&gt;
&lt;br /&gt;
This markup format is used in some SWORD resources, but only the creation of free-form &amp;quot;General book&amp;quot; modules based on existing CCEL resources is currently supported. Other works and new works should be created using the OSIS or TEI format.&lt;br /&gt;
&lt;br /&gt;
===GBF===&lt;br /&gt;
''General Bible Format''&lt;br /&gt;
&lt;br /&gt;
This markup format is intended as an aid to preparing Bible texts (specifically the WEB and WEB:ME) for use with various Bible search programs. The complete specification is at http://www.ebible.org/bible/gbf.htm. &lt;br /&gt;
&lt;br /&gt;
This markup format was previously used for some SWORD modules but is now [http://en.wikipedia.org/wiki/Deprecation deprecated] in favor of OSIS. The rudimentary [http://crosswire.org/ftpmirror/pub/sword/utils/perl/gbf2osis.pl gbf2osis.pl] Perl utility may be used to convert GBF to OSIS for import to SWORD's native format. Adyeth hosts a [http://sites.google.com/site/adyeths/theswordproject/gbf2osis.py?attredirects=0 gbf2osis] Python utility that he wrote to convert the GBF texts from [http://ebible.org/ ebible.org] to OSIS. See [http://sites.google.com/site/adyeths/theswordproject].&lt;br /&gt;
&lt;br /&gt;
===VPL===&lt;br /&gt;
''Verse-Per-Line''&lt;br /&gt;
&lt;br /&gt;
This plain-text format is used for by SWORD for import of Bibles. It consists of one verse per line, with an optional verse reference at the beginning. The [[#VPL_Tools|vpl2mod]] utility may be used for import. VPL is deprecated in favor of the IMP format, which is more widely useful. The [[#VPL_Tools|mod2vpl]] utility may be used for export to VPL. There is a command line switch to prepend the verse reference to each line.&lt;br /&gt;
&lt;br /&gt;
===IMP===&lt;br /&gt;
''Import Format''&lt;br /&gt;
&lt;br /&gt;
This proprietary file format is used by SWORD for import of all types of modules. The three utilities '''imp2vs''' (for Bibles and verse-indexed commentaries), '''imp2ld''' (for lexicons, dictionaries, and daily-devotionals), and '''imp2gbs''' (for all other types of books) can be used to import IMP files to SWORD's native formats.&lt;br /&gt;
&lt;br /&gt;
An IMP file consists of any number of entries. Each entry consists of a key line and any number of content lines. The key line consists of a line beginning with &amp;quot;$$$&amp;quot;. For example, &amp;quot;$$$Gen 1:1&amp;quot; would be the key line for the Genesis 1:1 entry of a Bible or commentary module.&lt;br /&gt;
&lt;br /&gt;
The content lines of an entry may consist of any text (provided that the first three characters of the line are not &amp;quot;$$$&amp;quot;). The internal markup of the content may be in any format supported by SWORD, namely OSIS for any module type or ThML for freeform books from CCEL.&lt;br /&gt;
&lt;br /&gt;
See also [[DevTools:Modules#IMP_Format]].&lt;br /&gt;
&lt;br /&gt;
==== imp2osis ====&lt;br /&gt;
CrossWire has a Perl script called [http://crosswire.org/ftpmirror/pub/sword/utils/perl/imp2osis.pl imp2osis.pl], which will convert IMP to OSIS fairly well (except a few 'corner cases'). Whenever CrossWire receives an IMP submission, this is the first thing that is run, allowing CrossWire to do validation and other OSIS sanity checks. Some editing is usually necessary after converting an IMP file to an OSIS XML file. For example, the attribute '''canonical''' is omitted from the osisText and all &amp;amp;lt;div&amp;gt; elements, and the language attribute '''xml:lang''' defaults to &amp;quot;en&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==The SWORD Project Utilities==&lt;br /&gt;
Precompiled versions of many of these programs are available in most Linux distributions, using the distribution's package installer. For Windows, they can be found [http://crosswire.org/ftpmirror/pub/sword/utils/win32 here].&amp;lt;ref&amp;gt;If you have Xiphos installed in Windows, the Sword utilities are available in the Xiphos\bin folder.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;The latest binaries may be found [http://dl.thehellings.com/sword-utils/ here], though currently without emptyvss.exe&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Module Creation Tools===&lt;br /&gt;
It is recommended that Unicode text files used for module creation be [[Encoding|encoded]] as UTF-8.&amp;lt;ref&amp;gt;[http://en.wikipedia.org/wiki/Newline 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.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* imp2gbs - imports free-form General books in IMP format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* imp2ld - imports lexicons, dictionaries, and daily devotionals in IMP format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* imp2vs - imports Bibles and commentaries in IMP format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* vpl2mod - imports Bibles and commentaries in Verse-Per-Line format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* [[osis2mod]] - imports Bibles and commentaries in OSIS format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* xml2gbs - imports free-form General books in OSIS or ThML format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===Diagnostic Tools===&lt;br /&gt;
* mod2imp - creates an IMP file&amp;lt;ref&amp;gt;The IMP file may contain a residue of XML markup&amp;lt;/ref&amp;gt; from an installed module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* stepdump - dumps the contents of a STEP book [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* emptyvss - exports a list of verses missing from the module (useful for testing modules during development) [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===Conversion Tools===&lt;br /&gt;
* gbf2osis.pl - a PERL utility for converting GBF to OSIS [http://crosswire.org/ftpmirror/pub/sword/utils/perl/gbf2osis.pl &amp;amp;dagger;]&lt;br /&gt;
* step2vpl - export a STEP book in Verse-Per-Line (VPL) format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* [[DevTools:Misc#thml2osis|thml2osis]] - converts ThML to OSIS format.&lt;br /&gt;
* zef2osis.pl - a PERL utility for converting Zefania XML to OSIS [http://crosswire.org/ftpmirror/pub/sword/utils/perl/zef2osis.pl &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===OSIS Utilities===&lt;br /&gt;
* [[mod2osis]] - creates an OSIS file from an installed module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* vs2osisref - returns the osisRef of a given (text form) verse reference [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* xml2gbs - imports free-form General books in OSIS or ThML format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===Miscellaneous===&lt;br /&gt;
* cipherraw - used to encipher SWORD modules [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* diatheke - a basic CLI SWORD front-end [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* mkfastmod - creates a search index for a module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* [[mod2zmod]] - creates a compressed module from an installed module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* mod2vpl - exports the module to VPL format&amp;lt;ref&amp;gt;The VPL file may contain a residue of XML markup&amp;lt;/ref&amp;gt; [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* modwrite - outputs the module contents in VPL format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* treeidxutil - ''needs a description'' [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* genbookutil - ''needs a description'' [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
==== Notes on SWORD Tools ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Recommended Non-SWORD Utilities===&lt;br /&gt;
* uconv - a utility from [http://icu-project.org/ 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 [http://crosswire.org/ftpmirror/pub/sword/utils/win32 sword utilities]&lt;br /&gt;
* xmllint - a utility (part of the [http://xmlsoft.org/ libxml2] distribution) for validating XML documents [http://crosswire.org/ftpmirror/pub/sword/utils/win32 *]&lt;br /&gt;
&lt;br /&gt;
==Formats for which CrossWire maintains converters==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===STEP===&lt;br /&gt;
''[http://en.wikipedia.org/wiki/STEP_Library Standard Template for Electronic Publishing]''&lt;br /&gt;
&lt;br /&gt;
This file format was formerly used by [http://www.quickverse.com/ QuickVerse] and [http://www.wordsearchbible.com/ WORDsearch], and is currently used for some [http://www.e-sword.net/ e-Sword] books.&lt;br /&gt;
&lt;br /&gt;
While not an open standard, the publicly released documentation and specifications for this format can be found partially mirrored at &lt;br /&gt;
http://www.crosswire.org/bsisg/. Some utilities for working with this format are listed below. It is unlikely that the SWORD Project will support this format in the future as it is largely dead.&lt;br /&gt;
&lt;br /&gt;
''Not to be confused with STEP (Scripture Tools for Every Pastor) &amp;amp;ndash; and the new front-end application ([[Frontends:TyndaleStep|Tyndale STEP]]) being developed by Tyndale House, Cambridge in collaboration with CrossWire''.&lt;br /&gt;
&lt;br /&gt;
===Unbound Bible Format===&lt;br /&gt;
''Unbound Bible Format''&lt;br /&gt;
&lt;br /&gt;
The [http://unbound.biola.edu/ BIOLA's Unbound Bible] offers many of their resources for download in a proprietary, but relatively simple [http://en.wikipedia.org/wiki/Tab_delimited tab-delimited] plain-text format (TDT). There are usually two variants, one with versification mapping to the [http://en.wikipedia.org/wiki/American_Standard_Version ASV], and the other without verse mapping. All available downloads may be found on Unbound Bible's [http://unbound.biola.edu/index.cfm?method=downloads.showDownloadMain download page].&lt;br /&gt;
&lt;br /&gt;
There is no widespread use of this format, but the rudimentary [http://crosswire.org/ftpmirror/pub/sword/utils/perl/unb2osis.pl unb2osis.pl] utility may be used to convert Unbound Bible format to OSIS for import to SWORD's native format.&lt;br /&gt;
&lt;br /&gt;
===USFM===&lt;br /&gt;
[http://paratext.org/usfm ''Unified Standard Format Markers'']&lt;br /&gt;
&lt;br /&gt;
This plain-text format is a common internal-use format within Bible translation agencies and Bible societies. It is the native format of [http://paratext.org/ ParaTExt]. Paratext is used by more than 60% of all Bible translators world-wide. The current release is Paratext 7.4.&lt;br /&gt;
&lt;br /&gt;
CrossWire now has a Python script called usf2m2osis.py&amp;lt;ref&amp;gt;This replaces our earlier Perl script [http://crosswire.org/ftpmirror/pub/sword/utils/perl/usfm2osis.pl usfm2osis.pl].&amp;lt;/ref&amp;gt; which converts USFM to OSIS for subsequent import to SWORD's native format. See [[Converting SFM Bibles to OSIS]].&lt;br /&gt;
&lt;br /&gt;
USFM uses a separate file for each Bible book. USFM is also supported by the open-source program called [http://sites.google.com/site/bibledit/ Bibledit]. There are examples of Bibles in USFM format available for download at [http://ebible.org/]. These include the [http://ebible.org/bible/kjv/kjvsf.zip KJV], [http://ebible.org/bible/asv/asvsf.zip ASV], [http://ebible.org/bible/web/websf.zip WEB], [http://ebible.org/bible/hnv/hnvsf.zip HNV] and [http://ebible.org/pdg/tokpisinsf.zip PNG] Bibles.&lt;br /&gt;
&lt;br /&gt;
USFM is one of the formats that can be used by [[Projects:Go Bible/Go Bible Creator|Go Bible Creator]].&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Zefania XML===&lt;br /&gt;
Zefania is an XML format for Bible markup with only the most simple structural tags for book/chapter/verse, notes, etc. &lt;br /&gt;
The project is now hosted on [http://sourceforge.net/projects/zefania-sharp/ SourceForge].&lt;br /&gt;
The [http://sourceforge.net/projects/zefbiblereader/ Zefania Bible Reader] may be used to display Zefania XML Bibles through XSL transformation in browsers.&lt;br /&gt;
See also the related [http://zefania.blogspot.com/ Bible Resources Archive].&lt;br /&gt;
&lt;br /&gt;
The CrossWire utility [http://crosswire.org/ftpmirror/pub/sword/utils/perl/zef2osis.pl zef2osis.pl] may be used to convert Zefania XML to OSIS for import to SWORD's native format.&lt;br /&gt;
&lt;br /&gt;
===Go Bible===&lt;br /&gt;
Following an agreement made in July 2008 with the program's author Jolon Faichney, [[Projects:Go Bible|Go Bible]] was adopted by CrossWire as its Java ME software project.&lt;br /&gt;
&lt;br /&gt;
To achieve the navigation speed and general ease of use on even the simplest of Java mobile phones, Go Bible data is fully indexed, as well as being compressed (as are all JAR files).  The format is described in [http://code.google.com/p/gobible/wiki/GoBibleDataFormat Go Bible data format]. Go Bible data is structured as Book | Chapter | Verse text and does not support notes, headings and cross-references, etc. The developer kit [http://gobible.jolon.org/developer/welcome.html Go Bible Creator] can take either USFM, ThML or OSIS as the source text format, but they usually have to be made specially suitable. For example, OSIS files produced by Snowfall Software's SFMToOSIS script are not structured the same. Work has begun to make an [http://en.wikipedia.org/wiki/XSL_Transformations XSLT] script to convert such OSIS XML files to the format suitable for Go Bible. [[Projects:Go Bible/Go Bible Creator|Go Bible Creator]] version 2.3.2 and onwards can take a folder of USFM files as the source text format.&lt;br /&gt;
&lt;br /&gt;
Go Bible source code is now available [https://crosswire.org/svn/gobible/ here] on the CrossWire Repository. ''To access this you will need to have an account''.&lt;br /&gt;
&lt;br /&gt;
GoBibleDataFormat is being extended in the [[Projects:Go Bible/SymScroll|SymScroll]] branch.&lt;br /&gt;
&lt;br /&gt;
==Formats for which CrossWire has no intention of creating a converter==&lt;br /&gt;
===USX===&lt;br /&gt;
&lt;br /&gt;
'''USX''' is an XML schema that is the underlying data structure in the latest release of [http://paratext.org/ UBS Paratext]. SIL's Language Software Development team is working with UBS on this. This version of Paratext can take in USFM projects and export USX files.&lt;br /&gt;
&lt;br /&gt;
USX was defined to support the [http://everytribeeverynation.org/ Every Tribe Every Nation] alliance '''Digital Bible Library''' (DBL). The alliance brings together the United Bible Society, SIL/WBT, American Bible Society, Biblica and other Bible Agencies. Under the ETEN framework, Bible translations made publication ready in the DBL for access by approved End User Ministry Partners (EUMP) will be stored in USX format.&lt;br /&gt;
&lt;br /&gt;
The [https://bitbucket.org/paratext/dblvalidation/src/tip/source/text USX schema] is available in the compact [http://relaxng.org/ Relax NG] Schema language. [https://bitbucket.org/paratext/dblvalidation dblvalidation] for the Digital Bible Library is hosted on the same site.&lt;br /&gt;
&lt;br /&gt;
==Other Utilities==&lt;br /&gt;
These are not part of The SWORD Project, but may be useful. A link is given for each.&lt;br /&gt;
&lt;br /&gt;
===Go Bible utilities===&lt;br /&gt;
* [[Projects:Go Bible/Go Bible Creator|Go Bible Creator]] - a Java SE program for converting either ThML or OSIS or USFM to [[Projects:Go Bible|Go Bible]]. It is being enhanced by SIL to be capable of converting source text in [[File Formats#XHTML|XHTML-TE]] format.&lt;br /&gt;
&lt;br /&gt;
* [http://gbcpreprocessor.codeplex.com/ Go Bible Creator USFM Preprocessor] &amp;amp;ndash; 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.&lt;br /&gt;
&lt;br /&gt;
===GBF Tools===&lt;br /&gt;
* gbfconvertor, including gbf2osis, gbf2xsem, &amp;amp; gbf2sf - utilities for converting GBF to OSIS, XSEM, and SFM [http://ebible.org/translation/gbf.html]&lt;br /&gt;
* gbfsrc - utilities for converting GBF to &amp;quot;HTML, RTF, TeX, plain ASCII text, a format readable by BibleWorks 5 or later, and a couple of less useful formats&amp;quot; [http://ebible.org/translation/gbf.html]&lt;br /&gt;
&lt;br /&gt;
===STEP Utilities===&lt;br /&gt;
* step2rtf - extracts the internal RTF text from STEP books  [http://www.customconsulting.us/step2rtf.zip]&lt;br /&gt;
* stepr - a rudimentary STEP reader [http://www.customconsulting.us/stepr-0.3.1.tgz]&lt;br /&gt;
&lt;br /&gt;
===ThML Utilities===&lt;br /&gt;
* CCEL Desktop - a program for viewing and developing CCEL books [http://ccel-desktop.sourceforge.net/]&lt;br /&gt;
&lt;br /&gt;
===Zefania Utilities===&lt;br /&gt;
* Zefania_2_sword_win32 - ''sed based scripts maintained by JensG'' [http://www.grabner-online.de/download/zefania_2_sword_win32.zip]&lt;br /&gt;
&lt;br /&gt;
== Optical Character Recognition ==&lt;br /&gt;
[[Non-CrossWire Text-Development Projects|Text development]] activities may be greatly assisted by using [http://en.wikipedia.org/wiki/Optical_character_recognition OCR] software. This section will list OCR programs that CrossWire volunteers have found useful. Proprietary programs should not be listed here, the preference at CrossWire being to use free and/or open-source software.&lt;br /&gt;
&lt;br /&gt;
=== Tessaract ===&lt;br /&gt;
&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Tesseract_(software) Tesseract] is a free optical character recognition engine. It was originally developed at Hewlett-Packard from 1985 until 1995. After ten years with no development, Hewlett Packard and UNLV released it in 2005. Tesseract is currently developed by Google and released under the Apache License, Version 2.0. Tesseract is considered one of the the most accurate free software OCR engines currently available.&lt;br /&gt;
&lt;br /&gt;
* [http://vietocr.sourceforge.net/ VietOCR] &amp;amp;ndash; A Java/.NET GUI frontend for Tesseract OCR engine. Supports optical character recognition for Vietnamese language. Tip: Visit [http://www.moheb.de/ocr.html] to read how Moheb Mekhaiel adapted VietOCR to scan Coptic documents. &lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Frontends:Bookmarks Standard]]&lt;br /&gt;
* [[File Formats Cruft]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development tools]]&lt;br /&gt;
[[Category:File formats]]&lt;br /&gt;
[[Category:OSIS]]&lt;br /&gt;
[[Category:ThML]]&lt;br /&gt;
[[Category:Utilities]]&lt;br /&gt;
[[Category:USFM]]&lt;br /&gt;
[[Category:Unicode]]&lt;br /&gt;
[[Category:Bibledit]]&lt;br /&gt;
[[Category:Paratext]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=File_Formats&amp;diff=13134</id>
		<title>File Formats</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=File_Formats&amp;diff=13134"/>
				<updated>2014-02-07T20:50:45Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* OSIS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bible study programs use a plethora of markup formats. Even more have been suggested for use in creating Bibles and other religious material.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
This page lists some of the more common file formats ''relevant'' to The SWORD Project, associated utilities, and other CrossWire projects.&lt;br /&gt;
&lt;br /&gt;
== SWORD modules ==&lt;br /&gt;
Other than the source code for the SWORD API, there is no documentation for the file format of a '''SWORD module'''. There is no other documentation. The intention is that the [[DevTools:SWORD|SWORD API]] (or the [[DevTools:JSword|JSword]] implementation) is used directly or via other [http://en.wikipedia.org/wiki/Language_binding language bindings].&lt;br /&gt;
&lt;br /&gt;
Whilst our software is [http://en.wikipedia.org/wiki/Open_source ''open source''], our module file format is [http://en.wikipedia.org/wiki/Proprietary_format ''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.&lt;br /&gt;
&lt;br /&gt;
==SWORD Input formats==&lt;br /&gt;
The SWORD Project supports the following markup: OSIS, ThML, GBF and plain text.&lt;br /&gt;
&lt;br /&gt;
===OSIS===&lt;br /&gt;
''Open Scripture Information Standard''&lt;br /&gt;
&lt;br /&gt;
The Open Scripture Information Standard (OSIS) is &amp;quot;a common format for many visions.&amp;quot; It is an XML format for marking up scripture and related text, part of an initiative composed of translators, publishers, scholars, software manufacturers, and technical experts, coordinated by the [http://www.bibletechnologies.net/ Bible Technologies Group]. It is co-sponsored by the [http://www.americanbible.org/ American Bible Society] and the [http://www.sbl-site.org/ Society of Biblical Literature]. &lt;br /&gt;
&lt;br /&gt;
The most recent XML schema is [http://www.bibletechnologies.net/osisCore.2.1.1.xsd OSIS 2.1.1], and a [http://www.bibletechnologies.net/20Manual.dsp manual]  is also available.&lt;br /&gt;
&lt;br /&gt;
This markup format is recommended by the CrossWire Bible Society and can be used for creating all types of resources for The SWORD Project. Support for OSIS is actively maintained and support for any unsupported elements or features needed for a module you may be working on may be requested.&lt;br /&gt;
&lt;br /&gt;
[http://www.princexml.com/ Prince XML] is a proprietary software program that converts XML and HTML documents into PDF files by applying Cascading Style Sheets (CSS). It is developed by YesLogic, a small company based in Melbourne, Australia. It can be used to create high quality PDF Bibles from OSIS files[http://www.princexml.com/samples/]. A paper by [http://www.bibletechconference.com/speakers/ Jim Albright] of Wycliffe Bible Translators was presented at [http://www.bibletechconference.com/ BibleTech 2010] on using the open-source GUI companion for Prince XML, called [http://code.google.com/p/princess-2010/ Princess].&lt;br /&gt;
&lt;br /&gt;
===ThML===&lt;br /&gt;
''Theological Markup Language''&lt;br /&gt;
&lt;br /&gt;
This format is a variant of XML based on TEI and ThML, developed by and for the [http://www.ccel.org/ Christian Classics Ethereal Library]. The specifications for this markup format are available at http://www.ccel.org/ThML/. &lt;br /&gt;
&lt;br /&gt;
This markup format is used in some SWORD resources, but only the creation of free-form &amp;quot;General book&amp;quot; modules based on existing CCEL resources is currently supported. Other works and new works should be created using the OSIS or TEI format.&lt;br /&gt;
&lt;br /&gt;
===GBF===&lt;br /&gt;
''General Bible Format''&lt;br /&gt;
&lt;br /&gt;
This markup format is intended as an aid to preparing Bible texts (specifically the WEB and WEB:ME) for use with various Bible search programs. The complete specification is at http://www.ebible.org/bible/gbf.htm. &lt;br /&gt;
&lt;br /&gt;
This markup format was previously used for some SWORD modules but is now [http://en.wikipedia.org/wiki/Deprecation deprecated] in favor of OSIS. The rudimentary [http://crosswire.org/ftpmirror/pub/sword/utils/perl/gbf2osis.pl gbf2osis.pl] Perl utility may be used to convert GBF to OSIS for import to SWORD's native format. Adyeth hosts a [http://sites.google.com/site/adyeths/theswordproject/gbf2osis.py?attredirects=0 gbf2osis] Python utility that he wrote to convert the GBF texts from [http://ebible.org/ ebible.org] to OSIS. See [http://sites.google.com/site/adyeths/theswordproject].&lt;br /&gt;
&lt;br /&gt;
===VPL===&lt;br /&gt;
''Verse-Per-Line''&lt;br /&gt;
&lt;br /&gt;
This plain-text format is used for by SWORD for import of Bibles. It consists of one verse per line, with an optional verse reference at the beginning. The [[#VPL_Tools|vpl2mod]] utility may be used for import. VPL is deprecated in favor of the IMP format, which is more widely useful. The [[#VPL_Tools|mod2vpl]] utility may be used for export to VPL. There is a command line switch to prepend the verse reference to each line.&lt;br /&gt;
&lt;br /&gt;
===IMP===&lt;br /&gt;
''Import Format''&lt;br /&gt;
&lt;br /&gt;
This proprietary file format is used by SWORD for import of all types of modules. The three utilities '''imp2vs''' (for Bibles and verse-indexed commentaries), '''imp2ld''' (for lexicons, dictionaries, and daily-devotionals), and '''imp2gbs''' (for all other types of books) can be used to import IMP files to SWORD's native formats.&lt;br /&gt;
&lt;br /&gt;
An IMP file consists of any number of entries. Each entry consists of a key line and any number of content lines. The key line consists of a line beginning with &amp;quot;$$$&amp;quot;. For example, &amp;quot;$$$Gen 1:1&amp;quot; would be the key line for the Genesis 1:1 entry of a Bible or commentary module.&lt;br /&gt;
&lt;br /&gt;
The content lines of an entry may consist of any text (provided that the first three characters of the line are not &amp;quot;$$$&amp;quot;). The internal markup of the content may be in any format supported by SWORD, namely OSIS for any module type or ThML for freeform books from CCEL.&lt;br /&gt;
&lt;br /&gt;
See also [[DevTools:Modules#IMP_Format]].&lt;br /&gt;
&lt;br /&gt;
==== imp2osis ====&lt;br /&gt;
CrossWire has a Perl script called [http://crosswire.org/ftpmirror/pub/sword/utils/perl/imp2osis.pl imp2osis.pl], which will convert IMP to OSIS fairly well (except a few 'corner cases'). Whenever CrossWire receives an IMP submission, this is the first thing that is run, allowing CrossWire to do validation and other OSIS sanity checks. Some editing is usually necessary after converting an IMP file to an OSIS XML file. For example, the attribute '''canonical''' is omitted from the osisText and all &amp;amp;lt;div&amp;gt; elements, and the language attribute '''xml:lang''' defaults to &amp;quot;en&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==The SWORD Project Utilities==&lt;br /&gt;
Precompiled versions of many of these programs are available in most Linux distributions, using the distribution's package installer. For Windows, they can be found [http://crosswire.org/ftpmirror/pub/sword/utils/win32 here].&amp;lt;ref&amp;gt;If you have Xiphos installed in Windows, the Sword utilities are available in the Xiphos\bin folder.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;The latest binaries may be found [http://dl.thehellings.com/sword-utils/ here], though currently without emptyvss.exe&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Module Creation Tools===&lt;br /&gt;
It is recommended that Unicode text files used for module creation be [[Encoding|encoded]] as UTF-8.&amp;lt;ref&amp;gt;[http://en.wikipedia.org/wiki/Newline 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.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* imp2gbs - imports free-form General books in IMP format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* imp2ld - imports lexicons, dictionaries, and daily devotionals in IMP format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* imp2vs - imports Bibles and commentaries in IMP format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* vpl2mod - imports Bibles and commentaries in Verse-Per-Line format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* [[osis2mod]] - imports Bibles and commentaries in OSIS format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* xml2gbs - imports free-form General books in OSIS or ThML format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===Diagnostic Tools===&lt;br /&gt;
* mod2imp - creates an IMP file&amp;lt;ref&amp;gt;The IMP file may contain a residue of XML markup&amp;lt;/ref&amp;gt; from an installed module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* stepdump - dumps the contents of a STEP book [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* emptyvss - exports a list of verses missing from the module (useful for testing modules during development) [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===Conversion Tools===&lt;br /&gt;
* gbf2osis.pl - a PERL utility for converting GBF to OSIS [http://crosswire.org/ftpmirror/pub/sword/utils/perl/gbf2osis.pl &amp;amp;dagger;]&lt;br /&gt;
* step2vpl - export a STEP book in Verse-Per-Line (VPL) format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* [[DevTools:Misc#thml2osis|thml2osis]] - converts ThML to OSIS format.&lt;br /&gt;
* zef2osis.pl - a PERL utility for converting Zefania XML to OSIS [http://crosswire.org/ftpmirror/pub/sword/utils/perl/zef2osis.pl &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===OSIS Utilities===&lt;br /&gt;
* [[mod2osis]] - creates an OSIS file from an installed module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* vs2osisref - returns the osisRef of a given (text form) verse reference [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* xml2gbs - imports free-form General books in OSIS or ThML format to SWORD format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
===Miscellaneous===&lt;br /&gt;
* cipherraw - used to encipher SWORD modules [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* diatheke - a basic CLI SWORD front-end [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* mkfastmod - creates a search index for a module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* [[mod2zmod]] - creates a compressed module from an installed module [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* mod2vpl - exports the module to VPL format&amp;lt;ref&amp;gt;The VPL file may contain a residue of XML markup&amp;lt;/ref&amp;gt; [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* modwrite - outputs the module contents in VPL format [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* treeidxutil - ''needs a description'' [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
* genbookutil - ''needs a description'' [http://crosswire.org/ftpmirror/pub/sword/utils/win32 &amp;amp;dagger;]&lt;br /&gt;
&lt;br /&gt;
==== Notes on SWORD Tools ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Recommended Non-SWORD Utilities===&lt;br /&gt;
* uconv - a utility from [http://icu-project.org/ 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 [http://crosswire.org/ftpmirror/pub/sword/utils/win32 sword utilities]&lt;br /&gt;
* xmllint - a utility (part of the [http://xmlsoft.org/ libxml2] distribution) for validating XML documents [http://crosswire.org/ftpmirror/pub/sword/utils/win32 *]&lt;br /&gt;
&lt;br /&gt;
==Formats for which CrossWire maintains converters==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===STEP===&lt;br /&gt;
''[http://en.wikipedia.org/wiki/STEP_Library Standard Template for Electronic Publishing]''&lt;br /&gt;
&lt;br /&gt;
This file format was formerly used by [http://www.quickverse.com/ QuickVerse] and [http://www.wordsearchbible.com/ WORDsearch], and is currently used for some [http://www.e-sword.net/ e-Sword] books.&lt;br /&gt;
&lt;br /&gt;
While not an open standard, the publicly released documentation and specifications for this format can be found partially mirrored at &lt;br /&gt;
http://www.crosswire.org/bsisg/. Some utilities for working with this format are listed below. It is unlikely that the SWORD Project will support this format in the future as it is largely dead.&lt;br /&gt;
&lt;br /&gt;
''Not to be confused with STEP (Scripture Tools for Every Pastor) &amp;amp;ndash; and the new front-end application ([[Frontends:TyndaleStep|Tyndale STEP]]) being developed by Tyndale House, Cambridge in collaboration with CrossWire''.&lt;br /&gt;
&lt;br /&gt;
===Unbound Bible Format===&lt;br /&gt;
''Unbound Bible Format''&lt;br /&gt;
&lt;br /&gt;
The [http://unbound.biola.edu/ BIOLA's Unbound Bible] offers many of their resources for download in a proprietary, but relatively simple [http://en.wikipedia.org/wiki/Tab_delimited tab-delimited] plain-text format (TDT). There are usually two variants, one with versification mapping to the [http://en.wikipedia.org/wiki/American_Standard_Version ASV], and the other without verse mapping. All available downloads may be found on Unbound Bible's [http://unbound.biola.edu/index.cfm?method=downloads.showDownloadMain download page].&lt;br /&gt;
&lt;br /&gt;
There is no widespread use of this format, but the rudimentary [http://crosswire.org/ftpmirror/pub/sword/utils/perl/unb2osis.pl unb2osis.pl] utility may be used to convert Unbound Bible format to OSIS for import to SWORD's native format.&lt;br /&gt;
&lt;br /&gt;
===USFM===&lt;br /&gt;
[http://paratext.org/usfm ''Unified Standard Format Markers'']&lt;br /&gt;
&lt;br /&gt;
This plain-text format is a common internal-use format within Bible translation agencies and Bible societies. It is the native format of [http://paratext.org/ ParaTExt]. Paratext is used by more than 60% of all Bible translators world-wide. The current release is Paratext 7.4.&lt;br /&gt;
&lt;br /&gt;
CrossWire now has a Python script called usf2m2osis.py&amp;lt;ref&amp;gt;This replaces our earlier Perl script [http://crosswire.org/ftpmirror/pub/sword/utils/perl/usfm2osis.pl usfm2osis.pl].&amp;lt;/ref&amp;gt; which converts USFM to OSIS for subsequent import to SWORD's native format. See [[Converting SFM Bibles to OSIS]].&lt;br /&gt;
&lt;br /&gt;
USFM uses a separate file for each Bible book. USFM is also supported by the open-source program called [http://sites.google.com/site/bibledit/ Bibledit]. There are examples of Bibles in USFM format available for download at [http://ebible.org/]. These include the [http://ebible.org/bible/kjv/kjvsf.zip KJV], [http://ebible.org/bible/asv/asvsf.zip ASV], [http://ebible.org/bible/web/websf.zip WEB], [http://ebible.org/bible/hnv/hnvsf.zip HNV] and [http://ebible.org/pdg/tokpisinsf.zip PNG] Bibles.&lt;br /&gt;
&lt;br /&gt;
USFM is one of the formats that can be used by [[Projects:Go Bible/Go Bible Creator|Go Bible Creator]].&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Zefania XML===&lt;br /&gt;
Zefania is an XML format for Bible markup with only the most simple structural tags for book/chapter/verse, notes, etc. &lt;br /&gt;
The project is now hosted on [http://sourceforge.net/projects/zefania-sharp/ SourceForge].&lt;br /&gt;
The [http://sourceforge.net/projects/zefbiblereader/ Zefania Bible Reader] may be used to display Zefania XML Bibles through XSL transformation in browsers.&lt;br /&gt;
See also the related [http://zefania.blogspot.com/ Bible Resources Archive].&lt;br /&gt;
&lt;br /&gt;
The CrossWire utility [http://crosswire.org/ftpmirror/pub/sword/utils/perl/zef2osis.pl zef2osis.pl] may be used to convert Zefania XML to OSIS for import to SWORD's native format.&lt;br /&gt;
&lt;br /&gt;
===Go Bible===&lt;br /&gt;
Following an agreement made in July 2008 with the program's author Jolon Faichney, [[Projects:Go Bible|Go Bible]] was adopted by CrossWire as its Java ME software project.&lt;br /&gt;
&lt;br /&gt;
To achieve the navigation speed and general ease of use on even the simplest of Java mobile phones, Go Bible data is fully indexed, as well as being compressed (as are all JAR files).  The format is described in [http://code.google.com/p/gobible/wiki/GoBibleDataFormat Go Bible data format]. Go Bible data is structured as Book | Chapter | Verse text and does not support notes, headings and cross-references, etc. The developer kit [http://gobible.jolon.org/developer/welcome.html Go Bible Creator] can take either USFM, ThML or OSIS as the source text format, but they usually have to be made specially suitable. For example, OSIS files produced by Snowfall Software's SFMToOSIS script are not structured the same. Work has begun to make an [http://en.wikipedia.org/wiki/XSL_Transformations XSLT] script to convert such OSIS XML files to the format suitable for Go Bible. [[Projects:Go Bible/Go Bible Creator|Go Bible Creator]] version 2.3.2 and onwards can take a folder of USFM files as the source text format.&lt;br /&gt;
&lt;br /&gt;
Go Bible source code is now available [https://crosswire.org/svn/gobible/ here] on the CrossWire Repository. ''To access this you will need to have an account''.&lt;br /&gt;
&lt;br /&gt;
GoBibleDataFormat is being extended in the [[Projects:Go Bible/SymScroll|SymScroll]] branch.&lt;br /&gt;
&lt;br /&gt;
==Formats for which CrossWire does not yet have its own converter==&lt;br /&gt;
===USX===&lt;br /&gt;
&lt;br /&gt;
'''USX''' is an XML schema that is the underlying data structure in the latest release of [http://paratext.org/ UBS Paratext]. SIL's Language Software Development team is working with UBS on this. This version of Paratext can take in USFM projects and export USX files.&lt;br /&gt;
&lt;br /&gt;
USX was defined to support the [http://everytribeeverynation.org/ Every Tribe Every Nation] alliance '''Digital Bible Library''' (DBL). The alliance brings together the United Bible Society, SIL/WBT, American Bible Society, Biblica and other Bible Agencies. Under the ETEN framework, Bible translations made publication ready in the DBL for access by approved End User Ministry Partners (EUMP) will be stored in USX format.&lt;br /&gt;
&lt;br /&gt;
The [https://bitbucket.org/paratext/dblvalidation/src/tip/source/text USX schema] is available in the compact [http://relaxng.org/ Relax NG] Schema language. [https://bitbucket.org/paratext/dblvalidation dblvalidation] for the Digital Bible Library is hosted on the same site.&lt;br /&gt;
&lt;br /&gt;
==Other Utilities==&lt;br /&gt;
These are not part of The SWORD Project, but may be useful. A link is given for each.&lt;br /&gt;
&lt;br /&gt;
===Go Bible utilities===&lt;br /&gt;
* [[Projects:Go Bible/Go Bible Creator|Go Bible Creator]] - a Java SE program for converting either ThML or OSIS or USFM to [[Projects:Go Bible|Go Bible]]. It is being enhanced by SIL to be capable of converting source text in [[File Formats#XHTML|XHTML-TE]] format.&lt;br /&gt;
&lt;br /&gt;
* [http://gbcpreprocessor.codeplex.com/ Go Bible Creator USFM Preprocessor] &amp;amp;ndash; 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.&lt;br /&gt;
&lt;br /&gt;
===GBF Tools===&lt;br /&gt;
* gbfconvertor, including gbf2osis, gbf2xsem, &amp;amp; gbf2sf - utilities for converting GBF to OSIS, XSEM, and SFM [http://ebible.org/translation/gbf.html]&lt;br /&gt;
* gbfsrc - utilities for converting GBF to &amp;quot;HTML, RTF, TeX, plain ASCII text, a format readable by BibleWorks 5 or later, and a couple of less useful formats&amp;quot; [http://ebible.org/translation/gbf.html]&lt;br /&gt;
&lt;br /&gt;
===STEP Utilities===&lt;br /&gt;
* step2rtf - extracts the internal RTF text from STEP books  [http://www.customconsulting.us/step2rtf.zip]&lt;br /&gt;
* stepr - a rudimentary STEP reader [http://www.customconsulting.us/stepr-0.3.1.tgz]&lt;br /&gt;
&lt;br /&gt;
===ThML Utilities===&lt;br /&gt;
* CCEL Desktop - a program for viewing and developing CCEL books [http://ccel-desktop.sourceforge.net/]&lt;br /&gt;
&lt;br /&gt;
===Zefania Utilities===&lt;br /&gt;
* Zefania_2_sword_win32 - ''sed based scripts maintained by JensG'' [http://www.grabner-online.de/download/zefania_2_sword_win32.zip]&lt;br /&gt;
&lt;br /&gt;
== Optical Character Recognition ==&lt;br /&gt;
[[Non-CrossWire Text-Development Projects|Text development]] activities may be greatly assisted by using [http://en.wikipedia.org/wiki/Optical_character_recognition OCR] software. This section will list OCR programs that CrossWire volunteers have found useful. Proprietary programs should not be listed here, the preference at CrossWire being to use free and/or open-source software.&lt;br /&gt;
&lt;br /&gt;
=== Tessaract ===&lt;br /&gt;
&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Tesseract_(software) Tesseract] is a free optical character recognition engine. It was originally developed at Hewlett-Packard from 1985 until 1995. After ten years with no development, Hewlett Packard and UNLV released it in 2005. Tesseract is currently developed by Google and released under the Apache License, Version 2.0. Tesseract is considered one of the the most accurate free software OCR engines currently available.&lt;br /&gt;
&lt;br /&gt;
* [http://vietocr.sourceforge.net/ VietOCR] &amp;amp;ndash; A Java/.NET GUI frontend for Tesseract OCR engine. Supports optical character recognition for Vietnamese language. Tip: Visit [http://www.moheb.de/ocr.html] to read how Moheb Mekhaiel adapted VietOCR to scan Coptic documents. &lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Frontends:Bookmarks Standard]]&lt;br /&gt;
* [[File Formats Cruft]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development tools]]&lt;br /&gt;
[[Category:File formats]]&lt;br /&gt;
[[Category:OSIS]]&lt;br /&gt;
[[Category:ThML]]&lt;br /&gt;
[[Category:Utilities]]&lt;br /&gt;
[[Category:USFM]]&lt;br /&gt;
[[Category:Unicode]]&lt;br /&gt;
[[Category:Bibledit]]&lt;br /&gt;
[[Category:Paratext]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=OSIS_Bibles&amp;diff=13133</id>
		<title>OSIS Bibles</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=OSIS_Bibles&amp;diff=13133"/>
				<updated>2014-02-07T20:48:57Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==OSIS==&lt;br /&gt;
OSIS is an XML Schema definition for Bibles and other Biblical research texts, which enables ministries and other organizations to collaborate more easily.  Traditionally, these organizations have stored their documents in disparate, proprietary markups, making it difficult when they wish to share in service with each other.  OSIS provides a common markup for multiple visions.&lt;br /&gt;
&lt;br /&gt;
CrossWire is committed to supporting the OSIS initiative.  We have developed OSIS import and export tools which work with our SWORD engine, making OSIS documents available to all of our SWORD software.&lt;br /&gt;
&lt;br /&gt;
The latest OSIS Schema definition and supporting information is available at: http://www.bibletechnologies.net &amp;lt;ref&amp;gt;Link broken. See [[OSIS Tutorial#The_Root_Element|OSIS Tutorial]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This page is for practical examples of how to encode a Bible in OSIS 2.1.1 for building a SWORD module with [[osis2mod]]. It represents CrossWire's experience and best practices in creating modules.&lt;br /&gt;
&lt;br /&gt;
Every OSIS SWORD module must be created from a well-formed and valid OSIS 2.1.1 document. While it is a desirable goal for any such document to be acceptable, SWORD has some particular requirements which are discussed here.&lt;br /&gt;
&lt;br /&gt;
The schema for OSIS 2.1.1 that was formally at http://www.bibletechnologies.net/osisCore.2.1.1.xsd is preserved at http://crosswire.org/osis/osisCore.2.1.1.xsd.&lt;br /&gt;
&lt;br /&gt;
The March 2006 version of the OSIS Manual may be found  [http://www.crosswire.org/OSIS/OSIS%202.1.1%20User%20Manual%2006March2006.pdf here] (PDF).&lt;br /&gt;
&lt;br /&gt;
A good example of an OSIS document can be found at http://www.crosswire.org/~dmsmith/kjv2006.&lt;br /&gt;
&lt;br /&gt;
See also [[OSIS Book Abbreviations|OSIS Book Name Abbreviations]].&lt;br /&gt;
&lt;br /&gt;
==General structure==&lt;br /&gt;
&lt;br /&gt;
An OSIS document is a ''well-formed XML'' document, valid according to the ''OSIS schema''.&lt;br /&gt;
You can find the full normative description on the OSIS Website [http://www.bibletechnologies.net/].&amp;lt;ref&amp;gt;Link broken. See [[OSIS Tutorial#The_Root_Element|root element]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To produce a Bible, you can use this template:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;osis&lt;br /&gt;
	xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
	xmlns=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace&amp;quot;&lt;br /&gt;
	xmlns:osis=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace&amp;quot;&lt;br /&gt;
	xsi:schemaLocation=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace http://www.bibletechnologies.net/osisCore.2.1.1.xsd&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;osisText osisIDWork=&amp;quot;{NAME}&amp;quot; osisRefWork=&amp;quot;bible&amp;quot; xml:lang=&amp;quot;{LANG}&amp;quot; canonical=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;header&amp;gt;&lt;br /&gt;
			{HEADER}&lt;br /&gt;
		&amp;lt;/header&amp;gt;&lt;br /&gt;
		&amp;lt;div type=&amp;quot;bookGroup&amp;quot;&amp;gt;&lt;br /&gt;
			{BODY}&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/osisText&amp;gt;&lt;br /&gt;
&amp;lt;/osis&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With the following values:&lt;br /&gt;
; {NAME}: Normalized name of the Bible version (Usually 3 letters for language, 3 for translation)&lt;br /&gt;
; {LANG}: IETF language code-- ISO 639-1 codes are preferred, and ISO 639-3 codes are preferred when ISO 639-1 codes do not exist for the given language. See [http://www.sil.org/iso639-3/codes.asp] for a list of codes. &lt;br /&gt;
; {HEADER}: Description of the included text; see below&lt;br /&gt;
; {BODY}: Text; see below&lt;br /&gt;
&lt;br /&gt;
For text without any character outside ASCII, you can use US-ASCII encoding (usually for english text). For every other language, please use UTF-8 and NFC. See the [[OSIS Bibles#Tools|tools]] section if you need to convert.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
===Header===&lt;br /&gt;
This is the minimum contents of the header required for validation. It is also what &amp;lt;tt&amp;gt;usfm2osis.pl&amp;lt;/tt&amp;gt; produces. A valid OSIS header may include more than this.&lt;br /&gt;
 &amp;lt;header&amp;gt;  &lt;br /&gt;
   &amp;lt;work osisWork={Name}/&amp;gt;&lt;br /&gt;
 &amp;lt;/header&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Body===&lt;br /&gt;
&lt;br /&gt;
Here is the general structure of the body content:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;div type=&amp;quot;bookGroup&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;title&amp;gt;Old Testament&amp;lt;/title&amp;gt;&lt;br /&gt;
	&amp;lt;div type=&amp;quot;book&amp;quot; osisID=&amp;quot;Gen&amp;quot; canonical=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;title type=&amp;quot;main&amp;quot; short=&amp;quot;Genesis&amp;quot;&amp;gt;Genesis&amp;lt;/title&amp;gt;&lt;br /&gt;
		&amp;lt;chapter osisID=&amp;quot;Gen.1&amp;quot; n=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;verse sID=&amp;quot;Gen.1.1&amp;quot; osisID=&amp;quot;Gen.1.1&amp;quot; n=&amp;quot;1&amp;quot;/&amp;gt;In the&lt;br /&gt;
			beginning...&amp;lt;verse eID=&amp;quot;Gen.1.1&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;verse sID=&amp;quot;Gen.1.2&amp;quot; osisID=&amp;quot;Gen.1.2&amp;quot; n=&amp;quot;2&amp;quot;/&amp;gt;The earth was&lt;br /&gt;
			formless and void...&amp;lt;verse eID=&amp;quot;Gen.1.2&amp;quot;/&amp;gt;&lt;br /&gt;
			...&lt;br /&gt;
		&amp;lt;/chapter&amp;gt;&lt;br /&gt;
	&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
# The bookGroup division for the New Testament should have a similar structure.&lt;br /&gt;
# Any &amp;lt;tt&amp;gt;&amp;amp;lt;div&amp;amp;gt;&amp;lt;/tt&amp;gt; defaults canonical to false. You need to set it to true on elements representing the structure of the original text.&lt;br /&gt;
# A quirk of the SWORD compilation process is that the only kind of content which reliably displays outside of &amp;lt;verse&amp;gt; elements are titles.&lt;br /&gt;
&lt;br /&gt;
===OSIS Milestones===&lt;br /&gt;
OSIS allows for two potentially overlapping structures: Document structure (BSP) and verse structure (BCV).&lt;br /&gt;
&lt;br /&gt;
Document structure is dominated by book, sections and paragraphs (BSP), additionally with titles, quotes and poetic material. While verse structure is indicated by book, chapter and verse numbers (BCV). While a SWORD module requires verse structure, the best way to encode a module with deep markup is with document structure. [[Osis2mod]] is responsible for transforming document structure into verse structure.&lt;br /&gt;
&lt;br /&gt;
Because these two systems can overlap and because XML does not allow for overlapping elements, OSIS defines a milestone mechanism for both document and verse structure elements.&lt;br /&gt;
&lt;br /&gt;
For:&lt;br /&gt;
 &amp;amp;lt;X  ... attribute list ...&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;amp;lt;/X&amp;gt;&lt;br /&gt;
the milestoned form is:&lt;br /&gt;
 &amp;amp;lt;X sID=&amp;quot;g1&amp;quot; ... attribute list .../&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;amp;lt;X eID=&amp;quot;g1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
According to the OSIS manual, for any given element X that defines a milestoneable form, all the instances of X in the document must use one form or the other and may not use both. The value of each sID attribute must be unique within the document.&lt;br /&gt;
&lt;br /&gt;
Verse milestone sID/eID attributes can even have values that denote a verse range. This is purely for convenience to human readers.  &lt;br /&gt;
&lt;br /&gt;
It is allowable to use milestone elements for verses alone, or for both verses and chapters. The body example above is for the former.&lt;br /&gt;
&lt;br /&gt;
==== Limitations of XML validators ====&lt;br /&gt;
&lt;br /&gt;
An [[OSIS Bibles#Valid_OSIS_test|XML validator]] cannot validate whether OSIS milestones are used properly. It cannot validate:&lt;br /&gt;
* that an element is consistently either milestoned or not.&lt;br /&gt;
* that for each element with an sID that there is a paired element with an eID.&amp;lt;ref&amp;gt;osis2mod does not crash if the eID milestones are all missing, but the resulting module may appear to be void of text.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* that each paired sID/eID have the same attribute value.&lt;br /&gt;
* that different sID/eID pairs of the same element type do not overlap.&amp;lt;ref&amp;gt;If they weren't milestones, one would say they should be properly nested.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Notes about OSIS elements ====&lt;br /&gt;
* For an OSIS document to be valid it must use the non-milestoned &amp;amp;lt;div&amp;gt; and &amp;amp;lt;lg&amp;gt; elements.&lt;br /&gt;
* There is no milestoned version of the &amp;amp;lt;p&amp;gt; element. From a practical perspective, this means that the milestoned verse element should be used when paragraphs are used.&lt;br /&gt;
* The milestoned chapter element must be used when the paragraph is spanning over a chapter.&lt;br /&gt;
* The SWORD engine cannot handle sub-identifiers separated by ! in an osisID, so osis2mod strips these off from the osisIDs for verses. They are only of use for the osisIDs for notes.&lt;br /&gt;
&lt;br /&gt;
===Recommended approach===&lt;br /&gt;
* For chapters, use &amp;amp;lt;chapter&amp;gt;...&amp;amp;lt;/chapter&amp;gt; container elements (except in the rare case that other container elements cross chapter boundaries)&lt;br /&gt;
* For verses, use milestone elements (unless container elements will suffice) &amp;amp;ndash; see [[OSIS Bibles/BSPExample]].&lt;br /&gt;
* For paragraphs, use the &amp;amp;lt;p&amp;gt;...&amp;amp;lt;/p&amp;gt; container element&lt;br /&gt;
* For poetry, use container elements &amp;amp;lt;lg&amp;gt;...&amp;amp;lt;/lg&amp;gt; to indicate stanzas (or other types of line groups) and &amp;amp;lt;l&amp;gt;...&amp;amp;lt;/l&amp;gt; to indicate lines&lt;br /&gt;
* For quoted text, use the &amp;amp;lt;q&amp;gt;...&amp;amp;lt;/q&amp;gt; container element&lt;br /&gt;
* For translation changes, use the &amp;amp;lt;transChange&amp;gt;...&amp;amp;lt;/transChange&amp;gt; container element&amp;lt;ref&amp;gt;Except where the text is within a &amp;amp;lt;w&amp;gt; which is not allowed by OSIS. For these cases use the alternative &amp;amp;lt;seg subType=&amp;quot;x-added&amp;quot; type=&amp;quot;x-transChange&amp;quot;&amp;gt;...&amp;amp;lt;/seg&amp;gt; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===Marking Paragraphs===&lt;br /&gt;
There is no milestoned version of the &amp;lt;tt&amp;gt;&amp;amp;lt;p&amp;gt;&amp;lt;/tt&amp;gt; element. Typically paragraphs surround whole verses. That is, they start and end between verses. If a paragraph begins or ends in a verse and extends beyond that verse, then the whole document must use the milestoned version of &amp;lt;tt&amp;gt;&amp;amp;lt;verse&amp;gt;&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;div type=&amp;quot;book&amp;quot; osisID=&amp;quot;Gen&amp;quot; canonical=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;title type=&amp;quot;main&amp;quot;&amp;gt;LE PREMIER LIVRE DE MOÏSE dit LA GENÈSE&amp;lt;/title&amp;gt;&lt;br /&gt;
	&amp;lt;chapter osisID=&amp;quot;Gen.1&amp;quot; chapterTitle=&amp;quot;Chapitre 1&amp;quot;&amp;gt;&amp;lt;title type=&amp;quot;chapter&amp;quot;&amp;gt;Chapitre 1&amp;lt;/title&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&lt;br /&gt;
			&amp;lt;verse sID=&amp;quot;Gen.1.1&amp;quot; osisID=&amp;quot;Gen.1.1&amp;quot; n=&amp;quot;1&amp;quot;/&amp;gt;Au commencement Dieu créa les &lt;br /&gt;
			cieux et la terre.&amp;lt;verse eID=&amp;quot;Gen.1.1&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&lt;br /&gt;
			&amp;lt;verse sID=&amp;quot;Gen.1.2&amp;quot; osisID=&amp;quot;Gen.1.2&amp;quot; n=&amp;quot;2&amp;quot;/&amp;gt;Et la terre était désolation et&lt;br /&gt;
			vide, et il y avait des ténèbres sur la face de l'abîme. Et l'Esprit de Dieu&lt;br /&gt;
			planait sur la face des eaux.&amp;lt;verse eID=&amp;quot;Gen.1.2&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&lt;br /&gt;
			&amp;lt;verse sID=&amp;quot;Gen.1.3&amp;quot; osisID=&amp;quot;Gen.1.3&amp;quot; n=&amp;quot;3&amp;quot;/&amp;gt;Et Dieu dit : Que la lumière&lt;br /&gt;
			soit. Et la lumière fut.&amp;lt;verse eID=&amp;quot;Gen.1.3&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;verse sID=&amp;quot;Gen.1.4&amp;quot; osisID=&amp;quot;Gen.1.4&amp;quot; n=&amp;quot;4&amp;quot;/&amp;gt;Et Dieu vit la lumière, qu'elle&lt;br /&gt;
			était bonne ; et Dieu sépara la lumière d'avec les ténèbres.&lt;br /&gt;
			&amp;lt;verse eID=&amp;quot;Gen.1.4&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;verse sID=&amp;quot;Gen.1.5&amp;quot; osisID=&amp;quot;Gen.1.5&amp;quot; n=&amp;quot;5&amp;quot;/&amp;gt;Et Dieu appela la lumière Jour ;&lt;br /&gt;
			et les ténèbres, il les appela Nuit. Et il y eut soir, et il y eut matin : &lt;br /&gt;
			&amp;amp;amp;#8212; premier jour.&amp;lt;verse eID=&amp;quot;Gen.1.5&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;/p&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Result&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;sup&amp;gt;'''(1)'''&amp;lt;/sup&amp;gt; Au commencement Dieu créa les cieux et la terre.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;'''(2)'''&amp;lt;/sup&amp;gt; Et la terre était désolation et vide, et il y avait des ténèbres sur la face de l'abîme. Et l'Esprit de Dieu planait sur la face des eaux.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;'''(3)''' &amp;lt;/sup&amp;gt;Et Dieu dit : Que la lumière soit. Et la lumière fut. &amp;lt;sup&amp;gt;'''(4)'''&amp;lt;/sup&amp;gt; Et Dieu vit la lumière, qu'elle était bonne ; et Dieu sépara la lumière d'avec les ténèbres. &amp;lt;sup&amp;gt;'''(5)'''&amp;lt;/sup&amp;gt; Et Dieu appela la lumière Jour ; et les ténèbres, il les appela Nuit. Et il y eut soir, et il y eut matin : &amp;amp;#8212; premier jour.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: [[osis2mod]] converts a paragraph start into &amp;lt;tt&amp;gt;&amp;amp;lt;div type=&amp;quot;paragraph&amp;quot; sID=&amp;quot;genX&amp;quot;/&amp;gt;&amp;lt;/tt&amp;gt; and a paragraph end into &amp;lt;tt&amp;gt;&amp;amp;lt;div type=&amp;quot;paragraph&amp;quot; eID=&amp;quot;genX&amp;quot;/&amp;gt;&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Marking Quotations===&lt;br /&gt;
Most of the SWORD front-end applications will show a chapter at a time and some will show isolated verses. This means that all of the SWORD applications show partial quotations, such as the Sermon on the Mount which begins in Matt 5 and ends in Matt 7.&lt;br /&gt;
&lt;br /&gt;
====Default quotation marks====&lt;br /&gt;
By default, SWORD will use &amp;lt;tt&amp;gt;&amp;quot;&amp;lt;/tt&amp;gt; for quotations. The following describes various ways to influence this.&lt;br /&gt;
&lt;br /&gt;
====Indicating the nesting of a quote====&lt;br /&gt;
When a quote is contained in a quote, it is customary to set the level attribute to indicate the depth of the nesting. For example, Jeremiah 23:38 is part of a larger quote and has a back and forth dialog of nested quotes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
But if you say,&lt;br /&gt;
&amp;lt;q level=&amp;quot;2&amp;quot; sID=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
	The burden of the Lord,&lt;br /&gt;
&amp;lt;q level=&amp;quot;2&amp;quot; eID=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
thus says the Lord,&lt;br /&gt;
&amp;lt;q level=&amp;quot;2&amp;quot; sID=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
	Because you have said these words,&lt;br /&gt;
	&amp;lt;q level=&amp;quot;3&amp;quot; sID=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
		The burden of the Lord,&lt;br /&gt;
	&amp;lt;q level=&amp;quot;3&amp;quot; eID=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
	when I sent to you, saying,&lt;br /&gt;
	&amp;lt;q level=&amp;quot;3&amp;quot; sID=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
		You shall not say,&lt;br /&gt;
		&amp;lt;q level=&amp;quot;4&amp;quot; sID=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
			The burden of the Lord,&lt;br /&gt;
		&amp;lt;q level=&amp;quot;4&amp;quot; eID=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;q level=&amp;quot;3&amp;quot; eID=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
A couple of things to note about this verse. First, the level attribute is on both the sID and the eID pair, matching in value. Second, this is an example of a verse that has a quote that starts in the middle and finishes in another verse.&lt;br /&gt;
&lt;br /&gt;
In this case, SWORD will use the level to determine whether to use &amp;lt;tt&amp;gt;&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;'&amp;lt;/tt&amp;gt; for quotes. Odd levels will use &amp;lt;tt&amp;gt;&amp;quot;&amp;lt;/tt&amp;gt; and even levels will use &amp;lt;tt&amp;gt;'&amp;lt;/tt&amp;gt;. This is in accordance with American English usage, which is the opposite of British English usage. Nesting levels up to five can be found in the Bible.&amp;lt;ref&amp;gt;Jeremiah 27:1-11; 29:1-28, 30-32; 34:1-5; and Ezekiel 1-36&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Supplying alternative quotation marks====&lt;br /&gt;
The quote element has a marker attribute that can be used to control the quotation marks. SWORD applications will always use this value when rendering the quote. When the marker attribute is present but empty, it will render no quotation mark at all.&lt;br /&gt;
&lt;br /&gt;
To specify &amp;quot;curly&amp;quot; quotes you can use the following values:&lt;br /&gt;
{|border=1&lt;br /&gt;
!Description!!Char!!HTML Entity!!Unicode&lt;br /&gt;
|-align=center&lt;br /&gt;
|Opening double quote||&amp;amp;#8220;||&amp;amp;amp;#8220;||U+201C&lt;br /&gt;
|-align=center&lt;br /&gt;
|Closing double quote||&amp;amp;#8221;||&amp;amp;amp;#8221;||U+201D&lt;br /&gt;
|-align=center&lt;br /&gt;
|Opening single quote||&amp;amp;#8216;||&amp;amp;amp;#8216;||U+2018&lt;br /&gt;
|-align=center&lt;br /&gt;
|Closing single quote||&amp;amp;#8217;||&amp;amp;amp;#8217;||U+2019&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
To use different marks to start and end a quote, use the milestoned version of the quote.&lt;br /&gt;
 &amp;amp;lt;q marker=&amp;quot;&amp;amp;#8220;&amp;quot; sID=&amp;quot;qN&amp;quot;/&amp;gt; ... &amp;amp;lt;q marker=&amp;quot;&amp;amp;#8221;&amp;quot; eID=&amp;quot;qN&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is further information about English quotation marks and their usage in [http://en.wikipedia.org/wiki/Quotation_marks].&lt;br /&gt;
&lt;br /&gt;
Quotation marks have a variety of forms in different languages and in different media. See [http://en.wikipedia.org/wiki/Quotation_mark,_non-English_usage Quotation mark, non-English usage].&amp;lt;ref&amp;gt;When modules are being converted from digitized source text used in other Bible software, it may be the case that quotation marks in the text source differ from those in the original published edition, whether due to inherent constraints of the other software, or for other causes.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Continuation quotation marks====&lt;br /&gt;
The &amp;lt;tt&amp;gt;&amp;amp;lt;milestone type=&amp;quot;cQuote&amp;quot;/&amp;amp;gt;&amp;lt;/tt&amp;gt; can be used to indicate the presence of a continued quote. If the marker attribute is present, it will use that otherwise it will use a straight double quote, &amp;quot;. Since there is no level attribute on the milestone element, it is best to specify the marker attribute.&lt;br /&gt;
&lt;br /&gt;
====Marking the Words of Christ====&lt;br /&gt;
To indicate that a quote is something that Jesus said&amp;lt;ref&amp;gt;http://en.wikipedia.org/wiki/Red_letter_edition&amp;lt;/ref&amp;gt;, use the attribute &amp;lt;tt&amp;gt;who=&amp;quot;Jesus&amp;quot;&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	&amp;lt;verse osisID=&amp;quot;Luke.22.35 sID=&amp;quot;Luke.22.35&amp;quot;/&amp;gt;&lt;br /&gt;
	Then Jesus asked them, &amp;lt;q who=&amp;quot;Jesus&amp;quot; marker=&amp;quot;&amp;quot;&amp;gt;When I sent you without purse,&lt;br /&gt;
	bag or sandals, did you lack anything?&amp;lt;/q&amp;gt;&lt;br /&gt;
	&amp;lt;verse eID=&amp;quot;Luke.22.35&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Result&lt;br /&gt;
|&lt;br /&gt;
Then Jesus asked them, &amp;lt;span style=&amp;quot;color:#A00&amp;quot;&amp;gt;When I sent you without purse, bag or sandals, did you lack anything?&amp;lt;/span&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Marking poetic material===&lt;br /&gt;
Poetry is marked up with &amp;amp;lt;lg&amp;amp;gt;, line group, and &amp;amp;lt;l&amp;amp;gt;, line, elements. The line element supports indentation with the level attribute. When the level attribute is not present or it is level=&amp;quot;1&amp;quot;, this should be interpreted as the first level of the line group. When level=&amp;quot;2&amp;quot; it is indented relative to level=&amp;quot;1&amp;quot;. The same is true for each subsequent level.  &lt;br /&gt;
&lt;br /&gt;
The level attribute is used to indicate indentation. A value of 1 means no indentation, the same as not specifying a level attribute. A value of 2 means to indent one. And so forth.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;chapter osisID=&amp;quot;Exod.15&amp;quot; chapterTitle=&amp;quot;Chapitre 15&amp;quot;&amp;gt;&amp;lt;title type=&amp;quot;chapter&amp;quot;&amp;gt;Chapter 15&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;verse sID=&amp;quot;Exod.15.1&amp;quot; osisID=&amp;quot;Exod.15.1&amp;quot; n=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
      Then sang Moses and the children of Israel this song unto the LORD, and spake, saying,&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;lg&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;1&amp;quot;&amp;gt;I will sing unto the LORD, for he hath triumphed gloriously:&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;2&amp;quot;&amp;gt;the horse and his rider hath he thrown into the sea.&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;verse eID=&amp;quot;Exod.15.1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;verse sID=&amp;quot;Exod.15.2&amp;quot; osisID=&amp;quot;Exod.15.2&amp;quot; n=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;1&amp;quot;&amp;gt;The LORD is my strength and song, and he is become my salvation:&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;2&amp;quot;&amp;gt;he is my God, and I will prepare him an habitation;&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;2&amp;quot;&amp;gt;my father's God, and I will exalt him.&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;verse eID=&amp;quot;Exod.15.2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;verse sID=&amp;quot;Exod.15.3&amp;quot; osisID=&amp;quot;Exod.15.3&amp;quot; n=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;1&amp;quot;&amp;gt;The LORD is a man of war:&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;2&amp;quot;&amp;gt;the LORD is his name.&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;verse eID=&amp;quot;Exod.15.3&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;verse sID=&amp;quot;Exod.15.4&amp;quot; osisID=&amp;quot;Exod.15.4&amp;quot; n=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;1&amp;quot;&amp;gt;Pharaoh's chariots and his host hath he cast into the sea:&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;2&amp;quot;&amp;gt;his chosen captains also are drowned in the Red sea.&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;verse eID=&amp;quot;Exod.15.4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;verse sID=&amp;quot;Exod.15.5&amp;quot; osisID=&amp;quot;Exod.15.5&amp;quot; n=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;1&amp;quot;&amp;gt;The depths have covered them:&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;2&amp;quot;&amp;gt;they sank into the bottom as a stone.&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;verse eID=&amp;quot;Exod.15.5&amp;quot;/&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Result&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;sup&amp;gt;'''(1)'''&amp;lt;/sup&amp;gt; Then sang Moses and the children of Israel this song unto the LORD, and spake, saying,&lt;br /&gt;
&lt;br /&gt;
::''I will sing unto the LORD, for he hath triumphed gloriously:''&lt;br /&gt;
::::''the horse and his rider hath he thrown into the sea.''&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;sup&amp;gt;'''(2)'''&amp;lt;/sup&amp;gt; ''The LORD is my strength and song, and he is become my salvation:''&lt;br /&gt;
::::''he is my God, and I will prepare him an habitation;''&lt;br /&gt;
::::''my father's God, and I will exalt him.''&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;sup&amp;gt;'''(3)'''&amp;lt;/sup&amp;gt; ''The LORD is a man of war:''&lt;br /&gt;
::::''the LORD is his name.''&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;sup&amp;gt;'''(4)'''&amp;lt;/sup&amp;gt; ''Pharaoh's chariots and his host hath he cast into the sea:''&lt;br /&gt;
::::''his chosen captains also are drowned in the Red sea.''&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;sup&amp;gt;'''(5)'''&amp;lt;/sup&amp;gt; ''The depths have covered them:''&lt;br /&gt;
::::''they sank into the bottom as a stone.''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&lt;br /&gt;
&lt;br /&gt;
# While OSIS defines a milestoned version of the &amp;lt;tt&amp;gt;&amp;lt;lg&amp;gt;&amp;lt;/tt&amp;gt; element, its use (rather than the container version) will not produce a valid XML document. The &amp;lt;tt&amp;gt;&amp;lt;l&amp;gt;&amp;lt;/tt&amp;gt; element can only occur within an &amp;lt;tt&amp;gt;&amp;lt;lg&amp;gt;&amp;lt;/tt&amp;gt; container, so use of &amp;lt;tt&amp;gt;&amp;lt;lg/&amp;gt;&amp;lt;/tt&amp;gt; milestones prevents use of &amp;lt;tt&amp;gt;&amp;lt;l&amp;gt;&amp;lt;/tt&amp;gt; elements.&lt;br /&gt;
&lt;br /&gt;
==== Marking acrostic poetry headings ====&lt;br /&gt;
Use &amp;lt;tt&amp;gt;type=&amp;quot;acrostic&amp;quot;&amp;lt;/tt&amp;gt; as the title attribute for the stanza headings in acrostic passages such as Psalm 119.&lt;br /&gt;
&lt;br /&gt;
=== Marking lemmas &amp;amp; morphology ===&lt;br /&gt;
====Marking Strong's numbers====&lt;br /&gt;
To mark up [http://en.wikipedia.org/wiki/Strong%27s_Concordance Strong's numbers], you first need to declare a workID in the header of the OSIS document:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;header&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;work osisWork=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;refSystem&amp;gt;Dict.Strongs&amp;lt;/refSystem&amp;gt;&lt;br /&gt;
    &amp;lt;/work&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SWORD does not actually use this declaration, but it is required to have a proper OSIS document.&lt;br /&gt;
&lt;br /&gt;
And while OSIS allows arbitrary workIDs, SWORD can only handle &amp;quot;strong&amp;quot; and a few variants.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;w lemma=&amp;quot;strong:H0853 strong:H03045&amp;quot;&amp;gt;knew&amp;lt;/w&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;amp;lt;w&amp;amp;gt; element is used to surround the text that is represented by the Strong's number. It may be that the text is a phrase and it may be that more than one Strong's number defines the text.&lt;br /&gt;
&lt;br /&gt;
When more than one Strong's number defines the text, each must be prefixed with a workID and must be separated from each other by a space. (While OSIS allows for the defining of default workIDs, SWORD requires that the workIDs be used.)&lt;br /&gt;
&lt;br /&gt;
The actual Strong's Number should indicate whether it is Hebrew (H) or Greek (G) followed by the number. The number can be 0 padded to 5 digits as in H00001.&lt;br /&gt;
&lt;br /&gt;
====Marking morphology====&lt;br /&gt;
In a similar manner to marking with Strong's numbers, morphology can also be noted. Since morphology regards the original language, Strong's numbers will be shown at the same time.&lt;br /&gt;
&lt;br /&gt;
As with Strong's numbers, a workID needs to be defined. Here we are defining one for Robinson's Morphology Codes. And while SWORD will ignore this declaration, &amp;quot;robinson&amp;quot; is hard-coded into SWORD for Greek morphology codes.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;header&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;work osisWork=&amp;quot;robinson&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;refSystem&amp;gt;Dict.Robinson&amp;lt;/refSystem&amp;gt;&lt;br /&gt;
    &amp;lt;/work&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example markup of Robinson's Morphology Codes in the KJV module:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;w lemma=&amp;quot;strong:G3588 strong:G80&amp;quot; morph=&amp;quot;robinson:T-APM robinson:N-APM&amp;quot; src=&amp;quot;7 8&amp;quot;&amp;gt;his brethren&amp;lt;/w&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In this example, lemma, morph and src form parallel arrays. The first strong: mapping to the first robinson: and the first src value.&lt;br /&gt;
&lt;br /&gt;
The workID should be name of a current, future, or potential lexicon module in which the morphology code could be looked up. For example, morph=&amp;quot;packard:D&amp;quot; represents a reference to morphology code &amp;quot;D&amp;quot; in a module named Packard, whether or not a Packard module has been created or released. (Currently, SWORD offers lexicon modules named Robinson and Packard, both for Greek morphology.)&lt;br /&gt;
&lt;br /&gt;
The src attribute is used here to indicate the word position in the original Greek.&lt;br /&gt;
&lt;br /&gt;
====Marking other lemmas====&lt;br /&gt;
The lemma attribute of the &amp;lt;tt&amp;gt;&amp;amp;lt;w&amp;amp;gt;&amp;lt;/tt&amp;gt; element can contain any number of other lemmas. Like Strong's numbers and morphology codes, these need to have a workID declared in the header. SWORD presumes that these lemma workIDs all start with &amp;quot;lemma.&amp;quot; (note the final period). The portion of the workID following &amp;quot;lemma.&amp;quot; should be name of a current, future, or potential lexicon module in which the lemma could be looked up. For example, lemma=&amp;quot;lemma.TWOT:271&amp;quot; represents a reference to lemma #271 in a module named TWOT (i.e the Theological Workbook of the Old Testament), whether or not a TWOT module has been created or released. As far as SWORD is concerned, there can be any number of these space-delimited values in a lemma attribute and they can be in any order, even interspersed among the &amp;quot;strong:&amp;quot; lemmas. &lt;br /&gt;
&lt;br /&gt;
SWORD has the ability to show or hide non-Strong's lemmas as a group. See [[DevTools:conf Files#Elements_required_for_proper_rendering|GlobalOptionFilter=OSISLemma]] &amp;amp;ndash; for OSIS texts having lemmas.&lt;br /&gt;
&lt;br /&gt;
==== Marking glosses ====&lt;br /&gt;
Gloss markup uses the &amp;lt;tt&amp;gt;gloss&amp;lt;/tt&amp;gt; attribute of the &amp;lt;tt&amp;gt;&amp;lt;w&amp;gt;&amp;lt;/tt&amp;gt; element. The syntax is illustrated by this line exported from the module JapMeiji.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;w gloss=&amp;quot;はじめ&amp;quot;&amp;gt;元始&amp;lt;/w&amp;gt;に&amp;lt;w gloss=&amp;quot;かみ&amp;quot;&amp;gt;神&amp;lt;/w&amp;gt;&amp;lt;w gloss=&amp;quot;てんち&amp;quot;&amp;gt;天地&amp;lt;/w&amp;gt;を&amp;lt;w gloss=&amp;quot;つくり&amp;quot;&amp;gt;創造&amp;lt;/w&amp;gt;たまへり&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Display of glosses can be toggled (in [[Choosing a SWORD program#Module_Support|compatible front-ends]]) by having this line in the [[DevTools:conf Files#Elements_required_for_proper_rendering|.conf file]]:&lt;br /&gt;
 GlobalOptionFilter=OSISGlosses&lt;br /&gt;
&lt;br /&gt;
===Marking the divine name===&lt;br /&gt;
The &amp;lt;tt&amp;gt;&amp;amp;lt;divineName&amp;amp;gt;&amp;lt;/tt&amp;gt; tag is reserved for representations of the tetragrammaton יהוה (YHWH). These occur in the Old Testament as &amp;lt;span style=&amp;quot;font-variant: small-caps;&amp;quot;&amp;gt;Lord&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;font-variant: small-caps;&amp;quot;&amp;gt;God&amp;lt;/span&amp;gt; and &amp;lt;span style=&amp;quot;font-variant: small-caps;&amp;quot;&amp;gt;Yah&amp;lt;/span&amp;gt;. Not every instance of Lord or God is a translation of this.&lt;br /&gt;
&lt;br /&gt;
The content of the divineName element is the word Lord, God or Yah, not in all upper case (i.e. not LORD, GOD, or YAH). SWORD will either convert it to small-caps or uppercase.&lt;br /&gt;
&lt;br /&gt;
Note, if it is the use is possessive it is permissible to have the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;divineName&amp;gt;Lord's&amp;lt;/divineName&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, it is inadvisable to include any other punctuation within the tag pair. Thus the following is '''not''' good practice (the quotation mark should ''precede'' the start tag):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;divineName&amp;gt;“God &amp;lt;/divineName&amp;gt; .....”&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When also marking with Strong's numbers you will need to do it one of two ways:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;divineName&amp;gt;&amp;lt;w lemma=&amp;quot;strong:H3068&amp;quot;&amp;gt;Lord's&amp;lt;/w&amp;gt;&amp;lt;divineName&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
   &amp;lt;w lemma=&amp;quot;strong:H3068&amp;quot;&amp;gt;of the &amp;lt;seg&amp;gt;&amp;lt;divineName&amp;gt;Lord&amp;lt;/divineName&amp;gt;&amp;lt;/seg&amp;gt;&amp;lt;/w&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The latter form uses a workaround to allow the embedding of &amp;lt;tt&amp;gt;&amp;amp;lt;divineName&amp;amp;gt;&amp;lt;/tt&amp;gt; in a &amp;lt;tt&amp;gt;&amp;amp;lt;w&amp;amp;gt;&amp;lt;/tt&amp;gt;, since OSIS does not allow for this, but does allow for &amp;lt;tt&amp;gt;&amp;amp;lt;seg&amp;amp;gt;&amp;lt;/tt&amp;gt; to be in a &amp;lt;tt&amp;gt;&amp;amp;lt;w&amp;amp;gt;&amp;lt;/tt&amp;gt; and to contain &amp;lt;tt&amp;gt;&amp;amp;lt;divineName&amp;amp;gt;&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Marking sections and titles===&lt;br /&gt;
A section is marked with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;div type=&amp;quot;section&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In OSIS the &amp;lt;tt&amp;gt;&amp;amp;lt;title&amp;amp;gt;&amp;lt;/tt&amp;gt; element is used to provide general headings. Titles should be placed at the top of the container that they title, not before.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;div type=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;title&amp;gt;A book title&amp;lt;/title&amp;gt;&lt;br /&gt;
   &amp;lt;chapter&amp;gt;&lt;br /&gt;
       &amp;lt;title type=&amp;quot;chapter&amp;quot;&amp;gt;A title chapter&amp;lt;/title&amp;gt;&lt;br /&gt;
       &amp;lt;div type=&amp;quot;section&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;title&amp;gt;A section title&amp;lt;/title&amp;gt;&lt;br /&gt;
            ...&lt;br /&gt;
       &amp;lt;/div&amp;gt;&lt;br /&gt;
       ...&lt;br /&gt;
      &amp;lt;/chapter&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Using &amp;lt;tt&amp;gt;type=&amp;quot;chapter&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;type=&amp;quot;main&amp;quot;&amp;lt;/tt&amp;gt; is needed by [[osis2mod]] to distinguish chapter titles from verse titles. When SWORD stores an OSIS document it does so as an index of verses. It has special indexes for book and chapter titles. SWORD does not store the &amp;lt;tt&amp;gt;&amp;amp;lt;verse&amp;gt;&amp;lt;/tt&amp;gt; tags. So when it comes to storing a title in the following verse, [[osis2mod]] generates special markup to indicate that the title stands before the verse. SWORD uses this to place the verse number.&lt;br /&gt;
&lt;br /&gt;
Note: The &amp;lt;tt&amp;gt;&amp;amp;lt;head&amp;amp;gt;&amp;lt;/tt&amp;gt; element is used to provide headings for tables, lists and cast groups. There are errors in the OSIS 2.1.1 manual that use the &amp;lt;tt&amp;gt;&amp;amp;lt;head&amp;amp;gt;&amp;lt;/tt&amp;gt; incorrectly.&lt;br /&gt;
&lt;br /&gt;
==== Marking pre-verse titles ====&lt;br /&gt;
There is no special markup for pre-verse titles. Osis2mod will determine what titles belong to the book, the chapter and otherwise if the above advice is followed.&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
# See also [[OSIS pre-verse titles]].&lt;br /&gt;
&lt;br /&gt;
===Marking notes===&lt;br /&gt;
NB. The examples in this section include the use of sub-identifiers in osisIDs for notes.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	&amp;lt;verse sID=&amp;quot;Gen.1.1&amp;quot; osisID=&amp;quot;Gen.1.1&amp;quot; n=&amp;quot;1&amp;quot;/&amp;gt;Au commencement &lt;br /&gt;
	Dieu&amp;lt;note osisRef=&amp;quot;Gen.1.1&amp;quot; osisID=&amp;quot;Gen.1.1!1&amp;quot; n=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;hi type=&amp;quot;italic&amp;quot;&amp;gt;en hébreu&amp;lt;/hi&amp;gt; : Élohim,&lt;br /&gt;
	(&amp;lt;hi type=&amp;quot;italic&amp;quot;&amp;gt;pluriel d&amp;lt;/hi&amp;gt;'Éloah, le Dieu suprême), la Déité, &amp;lt;hi type=&amp;quot;italic&amp;quot;&amp;gt;dans&lt;br /&gt;
	le sens absolu&amp;lt;/hi&amp;gt;.&amp;lt;/note&amp;gt; créa les cieux et la terre.&amp;lt;verse eID=&amp;quot;Gen.1.1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;verse sID=&amp;quot;Gen.1.2&amp;quot; osisID=&amp;quot;Gen.1.2&amp;quot; n=&amp;quot;2&amp;quot;/&amp;gt;Et la terre était désolation et &lt;br /&gt;
	vide&amp;lt;note osisRef=&amp;quot;Gen.1.2&amp;quot; osisID=&amp;quot;Gen.1.2!1&amp;quot; n=&amp;quot;2&amp;quot;&amp;gt;le vide.&amp;lt;/note&amp;gt;, et il y avait des ténèbres&lt;br /&gt;
	sur la face de l'abîme. Et l'Esprit de Dieu planait sur la face des eaux.&amp;lt;verse eID=&amp;quot;Gen.1.2&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Result&lt;br /&gt;
|&lt;br /&gt;
# Au commencement Dieu¹ créa les cieux et la terre.&lt;br /&gt;
# Et la terre était désolation et vide², et il y avait des ténèbres sur la face de l'abîme. Et l'Esprit de Dieu planait sur la face des eaux.&lt;br /&gt;
&lt;br /&gt;
*¹ ''en hébreu'': Élohim, (''pluriel d'''Éloah, le Dieu suprême), la Déité, ''dans le sens absolu''.&lt;br /&gt;
*² le vide.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The note should be attached to what it refers to, either after (as is the case here) or before. There should no additional space surrounding the note, but only what is in the text.&lt;br /&gt;
&lt;br /&gt;
These notes can have any type other than crossReference.&lt;br /&gt;
&lt;br /&gt;
====Marking cross-references notes====&lt;br /&gt;
SWORD provides the ability for a user to show or hide cross-references. To achieve this you embed one or more &amp;lt;tt&amp;gt;&amp;amp;lt;reference&amp;amp;gt;&amp;lt;/tt&amp;gt; elements in a &amp;lt;tt&amp;gt;&amp;amp;lt;note type=&amp;quot;crossReference&amp;quot;&amp;amp;gt;...&amp;amp;lt;/note&amp;amp;gt;&amp;lt;/tt&amp;gt;. If this is not done, then the cross-references will always show inline in the text.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;note type=&amp;quot;crossReference&amp;quot; n=&amp;quot;t&amp;quot; osisID=&amp;quot;Jer.24.7!crossReference.t&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;reference osisRef=&amp;quot;Jer.32.39&amp;quot;&amp;gt;ch. 32:39&amp;lt;/reference&amp;gt;; &lt;br /&gt;
  &amp;lt;reference osisRef=&amp;quot;Deut.30.6&amp;quot;&amp;gt;Deut. 30:6&amp;lt;/reference&amp;gt;; &lt;br /&gt;
  &amp;lt;reference osisRef=&amp;quot;Ezek.11.19&amp;quot;&amp;gt;Ezek. 11:19&amp;lt;/reference&amp;gt;; &lt;br /&gt;
  &amp;lt;reference osisRef=&amp;quot;Ezek.36.26-Ezek.36.27&amp;quot;&amp;gt;36:26, 27&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/note&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is a breakdown.&lt;br /&gt;
&lt;br /&gt;
Regarding the &amp;lt;tt&amp;gt;&amp;amp;lt;note&amp;amp;gt;&amp;lt;/tt&amp;gt; element:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;tt&amp;gt;type=&amp;quot;crossReference&amp;quot;&amp;lt;/tt&amp;gt; is one of the predefined OSIS note types. SWORD looks for this value to show/hide cross-references.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;tt&amp;gt;n=&amp;quot;t&amp;quot;&amp;lt;/tt&amp;gt; provides the author's desired footnote marker for the note. A couple of SWORD applications use this, but most manufacture their own marker.&lt;br /&gt;
&lt;br /&gt;
:The given osisID is based upon the location of the note. In order to not conflict with the verse's osisID and to construct a unique id, the ! (extension mark, ''aka'' sub-identifier) syntax is used. This is further qualified by the note's type and n value, separated by a dot.&lt;br /&gt;
&lt;br /&gt;
:This note pertains to a single verse and it is given in osisRef.&lt;br /&gt;
&lt;br /&gt;
Regarding the &amp;lt;tt&amp;gt;&amp;amp;lt;reference&amp;amp;gt;&amp;lt;/tt&amp;gt; elements:&lt;br /&gt;
&lt;br /&gt;
:The &amp;lt;tt&amp;gt;&amp;amp;lt;reference&amp;amp;gt;&amp;lt;/tt&amp;gt; element is replaced by SWORD with a link to the reference with the text of the element being shown as link text.&lt;br /&gt;
&lt;br /&gt;
:While the osisRef can point to multiple verses, most SWORD applications cannot handle a link that goes to more than one verse or a contiguous range of verses.&lt;br /&gt;
&lt;br /&gt;
:Here we see that each reference is separated by punctuation (the semicolon at the end of each line).&lt;br /&gt;
&lt;br /&gt;
===Marking variants===&lt;br /&gt;
SWORD recognizes the element &amp;lt;seg&amp;gt; with type=&amp;quot;x-variant&amp;quot; as marking variants present in different versions of a text. The attribute subType should be added, with a value of &amp;quot;x-1&amp;quot; or &amp;quot;x-2&amp;quot; to indicate whether the reading is the primary or secondary variant. At present, SWORD supports only 2 different readings per text. The method is illustrated below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The text of the Bible&lt;br /&gt;
&amp;lt;seg type=&amp;quot;x-variant&amp;quot; subType=&amp;quot;x-1&amp;quot;&amp;gt;may &amp;lt;/seg&amp;gt;&lt;br /&gt;
&amp;lt;seg type=&amp;quot;x-variant&amp;quot; subType=&amp;quot;x-2&amp;quot;&amp;gt;can &amp;lt;/seg&amp;gt;&lt;br /&gt;
contain variant readings.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This illustrates a primary reading &amp;quot;may &amp;quot; and a secondary reading &amp;quot;can &amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Filter ====&lt;br /&gt;
Variant readings in OSIS modules may be switched by the SWORD engine when the module conf file includes:&lt;br /&gt;
 GlobalOptionFilter=OSISVariants&lt;br /&gt;
'''Note:'''&lt;br /&gt;
# This feature requires the front-end to have been compiled with SWORD version 1.7 or later.&lt;br /&gt;
&lt;br /&gt;
==== Examples ====&lt;br /&gt;
* The TR module contains 246 locations where two such variants are marked.&lt;br /&gt;
* The WHNU module contains 1473 locations where two variants are marked.&lt;br /&gt;
&lt;br /&gt;
==== SWORD implementation ====&lt;br /&gt;
The SWORD API provides for these three choices:&lt;br /&gt;
 [Primary Reading|Secondary Reading|All Readings]&lt;br /&gt;
Example: In Xiphos version 3.1.6, the module context menu provides these three options for any module that has variants.&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
===Charset conversion===&lt;br /&gt;
&lt;br /&gt;
====Padma====&lt;br /&gt;
&lt;br /&gt;
[http://padma.mozdev.org/ Padma] is a system for transforming Indic text between various public and proprietary formats. This extension applies the technology to Mozilla based applications. Padma is available as an extension for Firefox, Thunderbird, Netscape, Mozilla suite and SeaMonkey platforms. Padma can automatically transform web pages that use dynamic font schemes to Unicode.&lt;br /&gt;
&lt;br /&gt;
Padma can be customised to include a user supplied conversion. This implies that its use is not restricted to Indic texts. See [http://tidbits.co.in/content/how-write-padma-conversion-file].&lt;br /&gt;
&lt;br /&gt;
===Valid OSIS test===&lt;br /&gt;
A valid XML document one that is well-formed and conforms to the formal definition provided in a schema (or DTD). A document cannot have elements, attributes, or entities not defined in the schema. A schema can also define ''how'' entities may be nested, the possible values of attributes, etc.&lt;br /&gt;
&lt;br /&gt;
Many programs capable of schema validation exist. Most [http://en.wikipedia.org/wiki/XML_editor XML editors] ([http://xml-copy-editor.sourceforge.net/ XML Copy Editor], [http://en.wikipedia.org/wiki/Oxygen_XML_Editor Oxygen], [http://en.wikipedia.org/wiki/XMLSpy XMLSpy], [http://www.topologi.com/ Topologi], etc.) support some sort of XML schema validation.  The Windows based text editor [http://en.wikipedia.org/wiki/Notepad%2B%2B Notepad++] supports Unicode and has an '''XML Tools''' plugin which can perform syntax checking and validation.&amp;lt;ref&amp;gt;Currently, the XML validation check in Notepad++ does not accept the extended schema location syntax that includes &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;xmlns=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;, etc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====xmllint====&lt;br /&gt;
libxml2, available for Linux, Windows, &amp;amp; MacOS, includes a command-line validator called xmllint. To check that a document is valid against OSIS schema, use the following command. (You need Internet access to validate your document.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ xmllint --noout --schema http://www.bibletechnologies.net/osisCore.2.1.1.xsd myfile.osis.xml&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To install xmllint, simply install libxml2 via your distribution's standard package management system in Linux or download the Windows binary from our [http://www.crosswire.org/ftpmirror/pub/sword/utils/win32/ mirror].&lt;br /&gt;
&lt;br /&gt;
====Online XML Validators====&lt;br /&gt;
The external links section of http://en.wikipedia.org/wiki/XML_Validation lists at least three online validators. Some or all of these can validate against external XML schema.&lt;br /&gt;
&lt;br /&gt;
==Creating a SWORD Module==&lt;br /&gt;
Use [[osis2mod]] to create the module.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
*[[OSIS]] &amp;amp;ndash; a partial list of other OSIS related pages and external links.&lt;br /&gt;
&lt;br /&gt;
*[[Converting SFM Bibles to OSIS]] &amp;amp;ndash; describes how to prepare a single OSIS XML file for a Biblical text supplied as several USFM files.&lt;br /&gt;
&lt;br /&gt;
[[Category:Guides|OSIS Bibles]]&lt;br /&gt;
&lt;br /&gt;
[[Category:OSIS|OSIS Bibles]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Morphology|OSIS Bibles]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=OSIS_Bibles&amp;diff=13132</id>
		<title>OSIS Bibles</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=OSIS_Bibles&amp;diff=13132"/>
				<updated>2014-02-07T20:24:40Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* Marking variants */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==OSIS==&lt;br /&gt;
OSIS is an XML Schema definition for Bibles and other Biblical research texts, which enables ministries and other organizations to collaborate more easily.  Traditionally, these organizations have stored their documents in disparate, proprietary markups, making it difficult when they wish to share in service with each other.  OSIS provides a common markup for multiple visions.&lt;br /&gt;
&lt;br /&gt;
CrossWire is committed to supporting the OSIS initiative.  We have developed OSIS import and export tools which work with our SWORD engine, making OSIS documents available to all of our SWORD software.&lt;br /&gt;
&lt;br /&gt;
The latest OSIS Schema definition and supporting information is available at: http://www.bibletechnologies.net &amp;lt;ref&amp;gt;Link broken. See [[OSIS Tutorial#The_Root_Element|OSIS Tutorial]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This page is for practical examples of how to encode a Bible in OSIS 2.1.1 for building a SWORD module with [[osis2mod]]. It represents CrossWire's experience and best practices in creating modules.&lt;br /&gt;
&lt;br /&gt;
Every OSIS SWORD module must be created from a well-formed and valid OSIS 2.1.1 document. While it is a desirable goal for any such document to be acceptable, SWORD has some particular requirements which are discussed here.&lt;br /&gt;
&lt;br /&gt;
The schema for OSIS 2.1.1 that was formally at http://www.bibletechnologies.net/osisCore.2.1.1.xsd is preserved at http://ebible.org/osisCore.2.1.1.xsd&lt;br /&gt;
&lt;br /&gt;
The March 2006 version of the OSIS Manual may be found  [http://www.bibletechnologies.net/utilities/fmtdocview.cfm?id=28871A67-D5F5-4381-B22EC4947601628B here] (PDF).&lt;br /&gt;
&lt;br /&gt;
A good example of an OSIS document can be found at http://www.crosswire.org/~dmsmith/kjv2006.&lt;br /&gt;
&lt;br /&gt;
See also [[OSIS Book Abbreviations|OSIS Book Name Abbreviations]].&lt;br /&gt;
&lt;br /&gt;
==General structure==&lt;br /&gt;
&lt;br /&gt;
An OSIS document is a ''well-formed XML'' document, valid according to the ''OSIS schema''.&lt;br /&gt;
You can find the full normative description on the OSIS Website [http://www.bibletechnologies.net/].&amp;lt;ref&amp;gt;Link broken. See [[OSIS Tutorial#The_Root_Element|root element]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To produce a Bible, you can use this template:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;osis&lt;br /&gt;
	xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
	xmlns=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace&amp;quot;&lt;br /&gt;
	xmlns:osis=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace&amp;quot;&lt;br /&gt;
	xsi:schemaLocation=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace http://www.bibletechnologies.net/osisCore.2.1.1.xsd&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;osisText osisIDWork=&amp;quot;{NAME}&amp;quot; osisRefWork=&amp;quot;bible&amp;quot; xml:lang=&amp;quot;{LANG}&amp;quot; canonical=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;header&amp;gt;&lt;br /&gt;
			{HEADER}&lt;br /&gt;
		&amp;lt;/header&amp;gt;&lt;br /&gt;
		&amp;lt;div type=&amp;quot;bookGroup&amp;quot;&amp;gt;&lt;br /&gt;
			{BODY}&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/osisText&amp;gt;&lt;br /&gt;
&amp;lt;/osis&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With the following values:&lt;br /&gt;
; {NAME}: Normalized name of the Bible version (Usually 3 letters for language, 3 for translation)&lt;br /&gt;
; {LANG}: IETF language code-- ISO 639-1 codes are preferred, and ISO 639-3 codes are preferred when ISO 639-1 codes do not exist for the given language. See [http://www.sil.org/iso639-3/codes.asp] for a list of codes. &lt;br /&gt;
; {HEADER}: Description of the included text; see below&lt;br /&gt;
; {BODY}: Text; see below&lt;br /&gt;
&lt;br /&gt;
For text without any character outside ASCII, you can use US-ASCII encoding (usually for english text). For every other language, please use UTF-8 and NFC. See the [[OSIS Bibles#Tools|tools]] section if you need to convert.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
===Header===&lt;br /&gt;
This is the minimum contents of the header required for validation. It is also what &amp;lt;tt&amp;gt;usfm2osis.pl&amp;lt;/tt&amp;gt; produces. A valid OSIS header may include more than this.&lt;br /&gt;
 &amp;lt;header&amp;gt;  &lt;br /&gt;
   &amp;lt;work osisWork={Name}/&amp;gt;&lt;br /&gt;
 &amp;lt;/header&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Body===&lt;br /&gt;
&lt;br /&gt;
Here is the general structure of the body content:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;div type=&amp;quot;bookGroup&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;title&amp;gt;Old Testament&amp;lt;/title&amp;gt;&lt;br /&gt;
	&amp;lt;div type=&amp;quot;book&amp;quot; osisID=&amp;quot;Gen&amp;quot; canonical=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;title type=&amp;quot;main&amp;quot; short=&amp;quot;Genesis&amp;quot;&amp;gt;Genesis&amp;lt;/title&amp;gt;&lt;br /&gt;
		&amp;lt;chapter osisID=&amp;quot;Gen.1&amp;quot; n=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;verse sID=&amp;quot;Gen.1.1&amp;quot; osisID=&amp;quot;Gen.1.1&amp;quot; n=&amp;quot;1&amp;quot;/&amp;gt;In the&lt;br /&gt;
			beginning...&amp;lt;verse eID=&amp;quot;Gen.1.1&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;verse sID=&amp;quot;Gen.1.2&amp;quot; osisID=&amp;quot;Gen.1.2&amp;quot; n=&amp;quot;2&amp;quot;/&amp;gt;The earth was&lt;br /&gt;
			formless and void...&amp;lt;verse eID=&amp;quot;Gen.1.2&amp;quot;/&amp;gt;&lt;br /&gt;
			...&lt;br /&gt;
		&amp;lt;/chapter&amp;gt;&lt;br /&gt;
	&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
# The bookGroup division for the New Testament should have a similar structure.&lt;br /&gt;
# Any &amp;lt;tt&amp;gt;&amp;amp;lt;div&amp;amp;gt;&amp;lt;/tt&amp;gt; defaults canonical to false. You need to set it to true on elements representing the structure of the original text.&lt;br /&gt;
# A quirk of the SWORD compilation process is that the only kind of content which reliably displays outside of &amp;lt;verse&amp;gt; elements are titles.&lt;br /&gt;
&lt;br /&gt;
===OSIS Milestones===&lt;br /&gt;
OSIS allows for two potentially overlapping structures: Document structure (BSP) and verse structure (BCV).&lt;br /&gt;
&lt;br /&gt;
Document structure is dominated by book, sections and paragraphs (BSP), additionally with titles, quotes and poetic material. While verse structure is indicated by book, chapter and verse numbers (BCV). While a SWORD module requires verse structure, the best way to encode a module with deep markup is with document structure. [[Osis2mod]] is responsible for transforming document structure into verse structure.&lt;br /&gt;
&lt;br /&gt;
Because these two systems can overlap and because XML does not allow for overlapping elements, OSIS defines a milestone mechanism for both document and verse structure elements.&lt;br /&gt;
&lt;br /&gt;
For:&lt;br /&gt;
 &amp;amp;lt;X  ... attribute list ...&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;amp;lt;/X&amp;gt;&lt;br /&gt;
the milestoned form is:&lt;br /&gt;
 &amp;amp;lt;X sID=&amp;quot;g1&amp;quot; ... attribute list .../&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;amp;lt;X eID=&amp;quot;g1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
According to the OSIS manual, for any given element X that defines a milestoneable form, all the instances of X in the document must use one form or the other and may not use both. The value of each sID attribute must be unique within the document.&lt;br /&gt;
&lt;br /&gt;
Verse milestone sID/eID attributes can even have values that denote a verse range. This is purely for convenience to human readers.  &lt;br /&gt;
&lt;br /&gt;
It is allowable to use milestone elements for verses alone, or for both verses and chapters. The body example above is for the former.&lt;br /&gt;
&lt;br /&gt;
==== Limitations of XML validators ====&lt;br /&gt;
&lt;br /&gt;
An [[OSIS Bibles#Valid_OSIS_test|XML validator]] cannot validate whether OSIS milestones are used properly. It cannot validate:&lt;br /&gt;
* that an element is consistently either milestoned or not.&lt;br /&gt;
* that for each element with an sID that there is a paired element with an eID.&amp;lt;ref&amp;gt;osis2mod does not crash if the eID milestones are all missing, but the resulting module may appear to be void of text.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* that each paired sID/eID have the same attribute value.&lt;br /&gt;
* that different sID/eID pairs of the same element type do not overlap.&amp;lt;ref&amp;gt;If they weren't milestones, one would say they should be properly nested.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Notes about OSIS elements ====&lt;br /&gt;
* For an OSIS document to be valid it must use the non-milestoned &amp;amp;lt;div&amp;gt; and &amp;amp;lt;lg&amp;gt; elements.&lt;br /&gt;
* There is no milestoned version of the &amp;amp;lt;p&amp;gt; element. From a practical perspective, this means that the milestoned verse element should be used when paragraphs are used.&lt;br /&gt;
* The milestoned chapter element must be used when the paragraph is spanning over a chapter.&lt;br /&gt;
* The SWORD engine cannot handle sub-identifiers separated by ! in an osisID, so osis2mod strips these off from the osisIDs for verses. They are only of use for the osisIDs for notes.&lt;br /&gt;
&lt;br /&gt;
===Recommended approach===&lt;br /&gt;
* For chapters, use &amp;amp;lt;chapter&amp;gt;...&amp;amp;lt;/chapter&amp;gt; container elements (except in the rare case that other container elements cross chapter boundaries)&lt;br /&gt;
* For verses, use milestone elements (unless container elements will suffice) &amp;amp;ndash; see [[OSIS Bibles/BSPExample]].&lt;br /&gt;
* For paragraphs, use the &amp;amp;lt;p&amp;gt;...&amp;amp;lt;/p&amp;gt; container element&lt;br /&gt;
* For poetry, use container elements &amp;amp;lt;lg&amp;gt;...&amp;amp;lt;/lg&amp;gt; to indicate stanzas (or other types of line groups) and &amp;amp;lt;l&amp;gt;...&amp;amp;lt;/l&amp;gt; to indicate lines&lt;br /&gt;
* For quoted text, use the &amp;amp;lt;q&amp;gt;...&amp;amp;lt;/q&amp;gt; container element&lt;br /&gt;
* For translation changes, use the &amp;amp;lt;transChange&amp;gt;...&amp;amp;lt;/transChange&amp;gt; container element&amp;lt;ref&amp;gt;Except where the text is within a &amp;amp;lt;w&amp;gt; which is not allowed by OSIS. For these cases use the alternative &amp;amp;lt;seg subType=&amp;quot;x-added&amp;quot; type=&amp;quot;x-transChange&amp;quot;&amp;gt;...&amp;amp;lt;/seg&amp;gt; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===Marking Paragraphs===&lt;br /&gt;
There is no milestoned version of the &amp;lt;tt&amp;gt;&amp;amp;lt;p&amp;gt;&amp;lt;/tt&amp;gt; element. Typically paragraphs surround whole verses. That is, they start and end between verses. If a paragraph begins or ends in a verse and extends beyond that verse, then the whole document must use the milestoned version of &amp;lt;tt&amp;gt;&amp;amp;lt;verse&amp;gt;&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;div type=&amp;quot;book&amp;quot; osisID=&amp;quot;Gen&amp;quot; canonical=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;title type=&amp;quot;main&amp;quot;&amp;gt;LE PREMIER LIVRE DE MOÏSE dit LA GENÈSE&amp;lt;/title&amp;gt;&lt;br /&gt;
	&amp;lt;chapter osisID=&amp;quot;Gen.1&amp;quot; chapterTitle=&amp;quot;Chapitre 1&amp;quot;&amp;gt;&amp;lt;title type=&amp;quot;chapter&amp;quot;&amp;gt;Chapitre 1&amp;lt;/title&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&lt;br /&gt;
			&amp;lt;verse sID=&amp;quot;Gen.1.1&amp;quot; osisID=&amp;quot;Gen.1.1&amp;quot; n=&amp;quot;1&amp;quot;/&amp;gt;Au commencement Dieu créa les &lt;br /&gt;
			cieux et la terre.&amp;lt;verse eID=&amp;quot;Gen.1.1&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&lt;br /&gt;
			&amp;lt;verse sID=&amp;quot;Gen.1.2&amp;quot; osisID=&amp;quot;Gen.1.2&amp;quot; n=&amp;quot;2&amp;quot;/&amp;gt;Et la terre était désolation et&lt;br /&gt;
			vide, et il y avait des ténèbres sur la face de l'abîme. Et l'Esprit de Dieu&lt;br /&gt;
			planait sur la face des eaux.&amp;lt;verse eID=&amp;quot;Gen.1.2&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&lt;br /&gt;
			&amp;lt;verse sID=&amp;quot;Gen.1.3&amp;quot; osisID=&amp;quot;Gen.1.3&amp;quot; n=&amp;quot;3&amp;quot;/&amp;gt;Et Dieu dit : Que la lumière&lt;br /&gt;
			soit. Et la lumière fut.&amp;lt;verse eID=&amp;quot;Gen.1.3&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;verse sID=&amp;quot;Gen.1.4&amp;quot; osisID=&amp;quot;Gen.1.4&amp;quot; n=&amp;quot;4&amp;quot;/&amp;gt;Et Dieu vit la lumière, qu'elle&lt;br /&gt;
			était bonne ; et Dieu sépara la lumière d'avec les ténèbres.&lt;br /&gt;
			&amp;lt;verse eID=&amp;quot;Gen.1.4&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;verse sID=&amp;quot;Gen.1.5&amp;quot; osisID=&amp;quot;Gen.1.5&amp;quot; n=&amp;quot;5&amp;quot;/&amp;gt;Et Dieu appela la lumière Jour ;&lt;br /&gt;
			et les ténèbres, il les appela Nuit. Et il y eut soir, et il y eut matin : &lt;br /&gt;
			&amp;amp;amp;#8212; premier jour.&amp;lt;verse eID=&amp;quot;Gen.1.5&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;/p&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Result&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;sup&amp;gt;'''(1)'''&amp;lt;/sup&amp;gt; Au commencement Dieu créa les cieux et la terre.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;'''(2)'''&amp;lt;/sup&amp;gt; Et la terre était désolation et vide, et il y avait des ténèbres sur la face de l'abîme. Et l'Esprit de Dieu planait sur la face des eaux.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;'''(3)''' &amp;lt;/sup&amp;gt;Et Dieu dit : Que la lumière soit. Et la lumière fut. &amp;lt;sup&amp;gt;'''(4)'''&amp;lt;/sup&amp;gt; Et Dieu vit la lumière, qu'elle était bonne ; et Dieu sépara la lumière d'avec les ténèbres. &amp;lt;sup&amp;gt;'''(5)'''&amp;lt;/sup&amp;gt; Et Dieu appela la lumière Jour ; et les ténèbres, il les appela Nuit. Et il y eut soir, et il y eut matin : &amp;amp;#8212; premier jour.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: [[osis2mod]] converts a paragraph start into &amp;lt;tt&amp;gt;&amp;amp;lt;div type=&amp;quot;paragraph&amp;quot; sID=&amp;quot;genX&amp;quot;/&amp;gt;&amp;lt;/tt&amp;gt; and a paragraph end into &amp;lt;tt&amp;gt;&amp;amp;lt;div type=&amp;quot;paragraph&amp;quot; eID=&amp;quot;genX&amp;quot;/&amp;gt;&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Marking Quotations===&lt;br /&gt;
Most of the SWORD front-end applications will show a chapter at a time and some will show isolated verses. This means that all of the SWORD applications show partial quotations, such as the Sermon on the Mount which begins in Matt 5 and ends in Matt 7.&lt;br /&gt;
&lt;br /&gt;
====Default quotation marks====&lt;br /&gt;
By default, SWORD will use &amp;lt;tt&amp;gt;&amp;quot;&amp;lt;/tt&amp;gt; for quotations. The following describes various ways to influence this.&lt;br /&gt;
&lt;br /&gt;
====Indicating the nesting of a quote====&lt;br /&gt;
When a quote is contained in a quote, it is customary to set the level attribute to indicate the depth of the nesting. For example, Jeremiah 23:38 is part of a larger quote and has a back and forth dialog of nested quotes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
But if you say,&lt;br /&gt;
&amp;lt;q level=&amp;quot;2&amp;quot; sID=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
	The burden of the Lord,&lt;br /&gt;
&amp;lt;q level=&amp;quot;2&amp;quot; eID=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
thus says the Lord,&lt;br /&gt;
&amp;lt;q level=&amp;quot;2&amp;quot; sID=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
	Because you have said these words,&lt;br /&gt;
	&amp;lt;q level=&amp;quot;3&amp;quot; sID=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
		The burden of the Lord,&lt;br /&gt;
	&amp;lt;q level=&amp;quot;3&amp;quot; eID=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
	when I sent to you, saying,&lt;br /&gt;
	&amp;lt;q level=&amp;quot;3&amp;quot; sID=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
		You shall not say,&lt;br /&gt;
		&amp;lt;q level=&amp;quot;4&amp;quot; sID=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
			The burden of the Lord,&lt;br /&gt;
		&amp;lt;q level=&amp;quot;4&amp;quot; eID=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;q level=&amp;quot;3&amp;quot; eID=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
A couple of things to note about this verse. First, the level attribute is on both the sID and the eID pair, matching in value. Second, this is an example of a verse that has a quote that starts in the middle and finishes in another verse.&lt;br /&gt;
&lt;br /&gt;
In this case, SWORD will use the level to determine whether to use &amp;lt;tt&amp;gt;&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;'&amp;lt;/tt&amp;gt; for quotes. Odd levels will use &amp;lt;tt&amp;gt;&amp;quot;&amp;lt;/tt&amp;gt; and even levels will use &amp;lt;tt&amp;gt;'&amp;lt;/tt&amp;gt;. This is in accordance with American English usage, which is the opposite of British English usage. Nesting levels up to five can be found in the Bible.&amp;lt;ref&amp;gt;Jeremiah 27:1-11; 29:1-28, 30-32; 34:1-5; and Ezekiel 1-36&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Supplying alternative quotation marks====&lt;br /&gt;
The quote element has a marker attribute that can be used to control the quotation marks. SWORD applications will always use this value when rendering the quote. When the marker attribute is present but empty, it will render no quotation mark at all.&lt;br /&gt;
&lt;br /&gt;
To specify &amp;quot;curly&amp;quot; quotes you can use the following values:&lt;br /&gt;
{|border=1&lt;br /&gt;
!Description!!Char!!HTML Entity!!Unicode&lt;br /&gt;
|-align=center&lt;br /&gt;
|Opening double quote||&amp;amp;#8220;||&amp;amp;amp;#8220;||U+201C&lt;br /&gt;
|-align=center&lt;br /&gt;
|Closing double quote||&amp;amp;#8221;||&amp;amp;amp;#8221;||U+201D&lt;br /&gt;
|-align=center&lt;br /&gt;
|Opening single quote||&amp;amp;#8216;||&amp;amp;amp;#8216;||U+2018&lt;br /&gt;
|-align=center&lt;br /&gt;
|Closing single quote||&amp;amp;#8217;||&amp;amp;amp;#8217;||U+2019&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
To use different marks to start and end a quote, use the milestoned version of the quote.&lt;br /&gt;
 &amp;amp;lt;q marker=&amp;quot;&amp;amp;#8220;&amp;quot; sID=&amp;quot;qN&amp;quot;/&amp;gt; ... &amp;amp;lt;q marker=&amp;quot;&amp;amp;#8221;&amp;quot; eID=&amp;quot;qN&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is further information about English quotation marks and their usage in [http://en.wikipedia.org/wiki/Quotation_marks].&lt;br /&gt;
&lt;br /&gt;
Quotation marks have a variety of forms in different languages and in different media. See [http://en.wikipedia.org/wiki/Quotation_mark,_non-English_usage Quotation mark, non-English usage].&amp;lt;ref&amp;gt;When modules are being converted from digitized source text used in other Bible software, it may be the case that quotation marks in the text source differ from those in the original published edition, whether due to inherent constraints of the other software, or for other causes.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Continuation quotation marks====&lt;br /&gt;
The &amp;lt;tt&amp;gt;&amp;amp;lt;milestone type=&amp;quot;cQuote&amp;quot;/&amp;amp;gt;&amp;lt;/tt&amp;gt; can be used to indicate the presence of a continued quote. If the marker attribute is present, it will use that otherwise it will use a straight double quote, &amp;quot;. Since there is no level attribute on the milestone element, it is best to specify the marker attribute.&lt;br /&gt;
&lt;br /&gt;
====Marking the Words of Christ====&lt;br /&gt;
To indicate that a quote is something that Jesus said&amp;lt;ref&amp;gt;http://en.wikipedia.org/wiki/Red_letter_edition&amp;lt;/ref&amp;gt;, use the attribute &amp;lt;tt&amp;gt;who=&amp;quot;Jesus&amp;quot;&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	&amp;lt;verse osisID=&amp;quot;Luke.22.35 sID=&amp;quot;Luke.22.35&amp;quot;/&amp;gt;&lt;br /&gt;
	Then Jesus asked them, &amp;lt;q who=&amp;quot;Jesus&amp;quot; marker=&amp;quot;&amp;quot;&amp;gt;When I sent you without purse,&lt;br /&gt;
	bag or sandals, did you lack anything?&amp;lt;/q&amp;gt;&lt;br /&gt;
	&amp;lt;verse eID=&amp;quot;Luke.22.35&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Result&lt;br /&gt;
|&lt;br /&gt;
Then Jesus asked them, &amp;lt;span style=&amp;quot;color:#A00&amp;quot;&amp;gt;When I sent you without purse, bag or sandals, did you lack anything?&amp;lt;/span&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Marking poetic material===&lt;br /&gt;
Poetry is marked up with &amp;amp;lt;lg&amp;amp;gt;, line group, and &amp;amp;lt;l&amp;amp;gt;, line, elements. The line element supports indentation with the level attribute. When the level attribute is not present or it is level=&amp;quot;1&amp;quot;, this should be interpreted as the first level of the line group. When level=&amp;quot;2&amp;quot; it is indented relative to level=&amp;quot;1&amp;quot;. The same is true for each subsequent level.  &lt;br /&gt;
&lt;br /&gt;
The level attribute is used to indicate indentation. A value of 1 means no indentation, the same as not specifying a level attribute. A value of 2 means to indent one. And so forth.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;chapter osisID=&amp;quot;Exod.15&amp;quot; chapterTitle=&amp;quot;Chapitre 15&amp;quot;&amp;gt;&amp;lt;title type=&amp;quot;chapter&amp;quot;&amp;gt;Chapter 15&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;verse sID=&amp;quot;Exod.15.1&amp;quot; osisID=&amp;quot;Exod.15.1&amp;quot; n=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
      Then sang Moses and the children of Israel this song unto the LORD, and spake, saying,&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;lg&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;1&amp;quot;&amp;gt;I will sing unto the LORD, for he hath triumphed gloriously:&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;2&amp;quot;&amp;gt;the horse and his rider hath he thrown into the sea.&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;verse eID=&amp;quot;Exod.15.1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;verse sID=&amp;quot;Exod.15.2&amp;quot; osisID=&amp;quot;Exod.15.2&amp;quot; n=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;1&amp;quot;&amp;gt;The LORD is my strength and song, and he is become my salvation:&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;2&amp;quot;&amp;gt;he is my God, and I will prepare him an habitation;&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;2&amp;quot;&amp;gt;my father's God, and I will exalt him.&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;verse eID=&amp;quot;Exod.15.2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;verse sID=&amp;quot;Exod.15.3&amp;quot; osisID=&amp;quot;Exod.15.3&amp;quot; n=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;1&amp;quot;&amp;gt;The LORD is a man of war:&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;2&amp;quot;&amp;gt;the LORD is his name.&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;verse eID=&amp;quot;Exod.15.3&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;verse sID=&amp;quot;Exod.15.4&amp;quot; osisID=&amp;quot;Exod.15.4&amp;quot; n=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;1&amp;quot;&amp;gt;Pharaoh's chariots and his host hath he cast into the sea:&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;2&amp;quot;&amp;gt;his chosen captains also are drowned in the Red sea.&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;verse eID=&amp;quot;Exod.15.4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;verse sID=&amp;quot;Exod.15.5&amp;quot; osisID=&amp;quot;Exod.15.5&amp;quot; n=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;1&amp;quot;&amp;gt;The depths have covered them:&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;2&amp;quot;&amp;gt;they sank into the bottom as a stone.&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;verse eID=&amp;quot;Exod.15.5&amp;quot;/&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Result&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;sup&amp;gt;'''(1)'''&amp;lt;/sup&amp;gt; Then sang Moses and the children of Israel this song unto the LORD, and spake, saying,&lt;br /&gt;
&lt;br /&gt;
::''I will sing unto the LORD, for he hath triumphed gloriously:''&lt;br /&gt;
::::''the horse and his rider hath he thrown into the sea.''&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;sup&amp;gt;'''(2)'''&amp;lt;/sup&amp;gt; ''The LORD is my strength and song, and he is become my salvation:''&lt;br /&gt;
::::''he is my God, and I will prepare him an habitation;''&lt;br /&gt;
::::''my father's God, and I will exalt him.''&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;sup&amp;gt;'''(3)'''&amp;lt;/sup&amp;gt; ''The LORD is a man of war:''&lt;br /&gt;
::::''the LORD is his name.''&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;sup&amp;gt;'''(4)'''&amp;lt;/sup&amp;gt; ''Pharaoh's chariots and his host hath he cast into the sea:''&lt;br /&gt;
::::''his chosen captains also are drowned in the Red sea.''&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;sup&amp;gt;'''(5)'''&amp;lt;/sup&amp;gt; ''The depths have covered them:''&lt;br /&gt;
::::''they sank into the bottom as a stone.''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&lt;br /&gt;
&lt;br /&gt;
# While OSIS defines a milestoned version of the &amp;lt;tt&amp;gt;&amp;lt;lg&amp;gt;&amp;lt;/tt&amp;gt; element, its use (rather than the container version) will not produce a valid XML document. The &amp;lt;tt&amp;gt;&amp;lt;l&amp;gt;&amp;lt;/tt&amp;gt; element can only occur within an &amp;lt;tt&amp;gt;&amp;lt;lg&amp;gt;&amp;lt;/tt&amp;gt; container, so use of &amp;lt;tt&amp;gt;&amp;lt;lg/&amp;gt;&amp;lt;/tt&amp;gt; milestones prevents use of &amp;lt;tt&amp;gt;&amp;lt;l&amp;gt;&amp;lt;/tt&amp;gt; elements.&lt;br /&gt;
&lt;br /&gt;
==== Marking acrostic poetry headings ====&lt;br /&gt;
Use &amp;lt;tt&amp;gt;type=&amp;quot;acrostic&amp;quot;&amp;lt;/tt&amp;gt; as the title attribute for the stanza headings in acrostic passages such as Psalm 119.&lt;br /&gt;
&lt;br /&gt;
=== Marking lemmas &amp;amp; morphology ===&lt;br /&gt;
====Marking Strong's numbers====&lt;br /&gt;
To mark up [http://en.wikipedia.org/wiki/Strong%27s_Concordance Strong's numbers], you first need to declare a workID in the header of the OSIS document:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;header&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;work osisWork=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;refSystem&amp;gt;Dict.Strongs&amp;lt;/refSystem&amp;gt;&lt;br /&gt;
    &amp;lt;/work&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SWORD does not actually use this declaration, but it is required to have a proper OSIS document.&lt;br /&gt;
&lt;br /&gt;
And while OSIS allows arbitrary workIDs, SWORD can only handle &amp;quot;strong&amp;quot; and a few variants.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;w lemma=&amp;quot;strong:H0853 strong:H03045&amp;quot;&amp;gt;knew&amp;lt;/w&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;amp;lt;w&amp;amp;gt; element is used to surround the text that is represented by the Strong's number. It may be that the text is a phrase and it may be that more than one Strong's number defines the text.&lt;br /&gt;
&lt;br /&gt;
When more than one Strong's number defines the text, each must be prefixed with a workID and must be separated from each other by a space. (While OSIS allows for the defining of default workIDs, SWORD requires that the workIDs be used.)&lt;br /&gt;
&lt;br /&gt;
The actual Strong's Number should indicate whether it is Hebrew (H) or Greek (G) followed by the number. The number can be 0 padded to 5 digits as in H00001.&lt;br /&gt;
&lt;br /&gt;
====Marking morphology====&lt;br /&gt;
In a similar manner to marking with Strong's numbers, morphology can also be noted. Since morphology regards the original language, Strong's numbers will be shown at the same time.&lt;br /&gt;
&lt;br /&gt;
As with Strong's numbers, a workID needs to be defined. Here we are defining one for Robinson's Morphology Codes. And while SWORD will ignore this declaration, &amp;quot;robinson&amp;quot; is hard-coded into SWORD for Greek morphology codes.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;header&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;work osisWork=&amp;quot;robinson&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;refSystem&amp;gt;Dict.Robinson&amp;lt;/refSystem&amp;gt;&lt;br /&gt;
    &amp;lt;/work&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example markup of Robinson's Morphology Codes in the KJV module:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;w lemma=&amp;quot;strong:G3588 strong:G80&amp;quot; morph=&amp;quot;robinson:T-APM robinson:N-APM&amp;quot; src=&amp;quot;7 8&amp;quot;&amp;gt;his brethren&amp;lt;/w&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In this example, lemma, morph and src form parallel arrays. The first strong: mapping to the first robinson: and the first src value.&lt;br /&gt;
&lt;br /&gt;
The workID should be name of a current, future, or potential lexicon module in which the morphology code could be looked up. For example, morph=&amp;quot;packard:D&amp;quot; represents a reference to morphology code &amp;quot;D&amp;quot; in a module named Packard, whether or not a Packard module has been created or released. (Currently, SWORD offers lexicon modules named Robinson and Packard, both for Greek morphology.)&lt;br /&gt;
&lt;br /&gt;
The src attribute is used here to indicate the word position in the original Greek.&lt;br /&gt;
&lt;br /&gt;
====Marking other lemmas====&lt;br /&gt;
The lemma attribute of the &amp;lt;tt&amp;gt;&amp;amp;lt;w&amp;amp;gt;&amp;lt;/tt&amp;gt; element can contain any number of other lemmas. Like Strong's numbers and morphology codes, these need to have a workID declared in the header. SWORD presumes that these lemma workIDs all start with &amp;quot;lemma.&amp;quot; (note the final period). The portion of the workID following &amp;quot;lemma.&amp;quot; should be name of a current, future, or potential lexicon module in which the lemma could be looked up. For example, lemma=&amp;quot;lemma.TWOT:271&amp;quot; represents a reference to lemma #271 in a module named TWOT (i.e the Theological Workbook of the Old Testament), whether or not a TWOT module has been created or released. As far as SWORD is concerned, there can be any number of these space-delimited values in a lemma attribute and they can be in any order, even interspersed among the &amp;quot;strong:&amp;quot; lemmas. &lt;br /&gt;
&lt;br /&gt;
SWORD has the ability to show or hide non-Strong's lemmas as a group. See [[DevTools:conf Files#Elements_required_for_proper_rendering|GlobalOptionFilter=OSISLemma]] &amp;amp;ndash; for OSIS texts having lemmas.&lt;br /&gt;
&lt;br /&gt;
==== Marking glosses ====&lt;br /&gt;
Gloss markup uses the &amp;lt;tt&amp;gt;gloss&amp;lt;/tt&amp;gt; attribute of the &amp;lt;tt&amp;gt;&amp;lt;w&amp;gt;&amp;lt;/tt&amp;gt; element. The syntax is illustrated by this line exported from the module JapMeiji.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;w gloss=&amp;quot;はじめ&amp;quot;&amp;gt;元始&amp;lt;/w&amp;gt;に&amp;lt;w gloss=&amp;quot;かみ&amp;quot;&amp;gt;神&amp;lt;/w&amp;gt;&amp;lt;w gloss=&amp;quot;てんち&amp;quot;&amp;gt;天地&amp;lt;/w&amp;gt;を&amp;lt;w gloss=&amp;quot;つくり&amp;quot;&amp;gt;創造&amp;lt;/w&amp;gt;たまへり&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Display of glosses can be toggled (in [[Choosing a SWORD program#Module_Support|compatible front-ends]]) by having this line in the [[DevTools:conf Files#Elements_required_for_proper_rendering|.conf file]]:&lt;br /&gt;
 GlobalOptionFilter=OSISGlosses&lt;br /&gt;
&lt;br /&gt;
===Marking the divine name===&lt;br /&gt;
The &amp;lt;tt&amp;gt;&amp;amp;lt;divineName&amp;amp;gt;&amp;lt;/tt&amp;gt; tag is reserved for representations of the tetragrammaton יהוה (YHWH). These occur in the Old Testament as &amp;lt;span style=&amp;quot;font-variant: small-caps;&amp;quot;&amp;gt;Lord&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;font-variant: small-caps;&amp;quot;&amp;gt;God&amp;lt;/span&amp;gt; and &amp;lt;span style=&amp;quot;font-variant: small-caps;&amp;quot;&amp;gt;Yah&amp;lt;/span&amp;gt;. Not every instance of Lord or God is a translation of this.&lt;br /&gt;
&lt;br /&gt;
The content of the divineName element is the word Lord, God or Yah, not in all upper case (i.e. not LORD, GOD, or YAH). SWORD will either convert it to small-caps or uppercase.&lt;br /&gt;
&lt;br /&gt;
Note, if it is the use is possessive it is permissible to have the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;divineName&amp;gt;Lord's&amp;lt;/divineName&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, it is inadvisable to include any other punctuation within the tag pair. Thus the following is '''not''' good practice (the quotation mark should ''precede'' the start tag):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;divineName&amp;gt;“God &amp;lt;/divineName&amp;gt; .....”&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When also marking with Strong's numbers you will need to do it one of two ways:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;divineName&amp;gt;&amp;lt;w lemma=&amp;quot;strong:H3068&amp;quot;&amp;gt;Lord's&amp;lt;/w&amp;gt;&amp;lt;divineName&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
   &amp;lt;w lemma=&amp;quot;strong:H3068&amp;quot;&amp;gt;of the &amp;lt;seg&amp;gt;&amp;lt;divineName&amp;gt;Lord&amp;lt;/divineName&amp;gt;&amp;lt;/seg&amp;gt;&amp;lt;/w&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The latter form uses a workaround to allow the embedding of &amp;lt;tt&amp;gt;&amp;amp;lt;divineName&amp;amp;gt;&amp;lt;/tt&amp;gt; in a &amp;lt;tt&amp;gt;&amp;amp;lt;w&amp;amp;gt;&amp;lt;/tt&amp;gt;, since OSIS does not allow for this, but does allow for &amp;lt;tt&amp;gt;&amp;amp;lt;seg&amp;amp;gt;&amp;lt;/tt&amp;gt; to be in a &amp;lt;tt&amp;gt;&amp;amp;lt;w&amp;amp;gt;&amp;lt;/tt&amp;gt; and to contain &amp;lt;tt&amp;gt;&amp;amp;lt;divineName&amp;amp;gt;&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Marking sections and titles===&lt;br /&gt;
A section is marked with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;div type=&amp;quot;section&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In OSIS the &amp;lt;tt&amp;gt;&amp;amp;lt;title&amp;amp;gt;&amp;lt;/tt&amp;gt; element is used to provide general headings. Titles should be placed at the top of the container that they title, not before.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;div type=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;title&amp;gt;A book title&amp;lt;/title&amp;gt;&lt;br /&gt;
   &amp;lt;chapter&amp;gt;&lt;br /&gt;
       &amp;lt;title type=&amp;quot;chapter&amp;quot;&amp;gt;A title chapter&amp;lt;/title&amp;gt;&lt;br /&gt;
       &amp;lt;div type=&amp;quot;section&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;title&amp;gt;A section title&amp;lt;/title&amp;gt;&lt;br /&gt;
            ...&lt;br /&gt;
       &amp;lt;/div&amp;gt;&lt;br /&gt;
       ...&lt;br /&gt;
      &amp;lt;/chapter&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Using &amp;lt;tt&amp;gt;type=&amp;quot;chapter&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;type=&amp;quot;main&amp;quot;&amp;lt;/tt&amp;gt; is needed by [[osis2mod]] to distinguish chapter titles from verse titles. When SWORD stores an OSIS document it does so as an index of verses. It has special indexes for book and chapter titles. SWORD does not store the &amp;lt;tt&amp;gt;&amp;amp;lt;verse&amp;gt;&amp;lt;/tt&amp;gt; tags. So when it comes to storing a title in the following verse, [[osis2mod]] generates special markup to indicate that the title stands before the verse. SWORD uses this to place the verse number.&lt;br /&gt;
&lt;br /&gt;
Note: The &amp;lt;tt&amp;gt;&amp;amp;lt;head&amp;amp;gt;&amp;lt;/tt&amp;gt; element is used to provide headings for tables, lists and cast groups. There are errors in the OSIS 2.1.1 manual that use the &amp;lt;tt&amp;gt;&amp;amp;lt;head&amp;amp;gt;&amp;lt;/tt&amp;gt; incorrectly.&lt;br /&gt;
&lt;br /&gt;
==== Marking pre-verse titles ====&lt;br /&gt;
There is no special markup for pre-verse titles. Osis2mod will determine what titles belong to the book, the chapter and otherwise if the above advice is followed.&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
# See also [[OSIS pre-verse titles]].&lt;br /&gt;
&lt;br /&gt;
===Marking notes===&lt;br /&gt;
NB. The examples in this section include the use of sub-identifiers in osisIDs for notes.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	&amp;lt;verse sID=&amp;quot;Gen.1.1&amp;quot; osisID=&amp;quot;Gen.1.1&amp;quot; n=&amp;quot;1&amp;quot;/&amp;gt;Au commencement &lt;br /&gt;
	Dieu&amp;lt;note osisRef=&amp;quot;Gen.1.1&amp;quot; osisID=&amp;quot;Gen.1.1!1&amp;quot; n=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;hi type=&amp;quot;italic&amp;quot;&amp;gt;en hébreu&amp;lt;/hi&amp;gt; : Élohim,&lt;br /&gt;
	(&amp;lt;hi type=&amp;quot;italic&amp;quot;&amp;gt;pluriel d&amp;lt;/hi&amp;gt;'Éloah, le Dieu suprême), la Déité, &amp;lt;hi type=&amp;quot;italic&amp;quot;&amp;gt;dans&lt;br /&gt;
	le sens absolu&amp;lt;/hi&amp;gt;.&amp;lt;/note&amp;gt; créa les cieux et la terre.&amp;lt;verse eID=&amp;quot;Gen.1.1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;verse sID=&amp;quot;Gen.1.2&amp;quot; osisID=&amp;quot;Gen.1.2&amp;quot; n=&amp;quot;2&amp;quot;/&amp;gt;Et la terre était désolation et &lt;br /&gt;
	vide&amp;lt;note osisRef=&amp;quot;Gen.1.2&amp;quot; osisID=&amp;quot;Gen.1.2!1&amp;quot; n=&amp;quot;2&amp;quot;&amp;gt;le vide.&amp;lt;/note&amp;gt;, et il y avait des ténèbres&lt;br /&gt;
	sur la face de l'abîme. Et l'Esprit de Dieu planait sur la face des eaux.&amp;lt;verse eID=&amp;quot;Gen.1.2&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Result&lt;br /&gt;
|&lt;br /&gt;
# Au commencement Dieu¹ créa les cieux et la terre.&lt;br /&gt;
# Et la terre était désolation et vide², et il y avait des ténèbres sur la face de l'abîme. Et l'Esprit de Dieu planait sur la face des eaux.&lt;br /&gt;
&lt;br /&gt;
*¹ ''en hébreu'': Élohim, (''pluriel d'''Éloah, le Dieu suprême), la Déité, ''dans le sens absolu''.&lt;br /&gt;
*² le vide.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The note should be attached to what it refers to, either after (as is the case here) or before. There should no additional space surrounding the note, but only what is in the text.&lt;br /&gt;
&lt;br /&gt;
These notes can have any type other than crossReference.&lt;br /&gt;
&lt;br /&gt;
====Marking cross-references notes====&lt;br /&gt;
SWORD provides the ability for a user to show or hide cross-references. To achieve this you embed one or more &amp;lt;tt&amp;gt;&amp;amp;lt;reference&amp;amp;gt;&amp;lt;/tt&amp;gt; elements in a &amp;lt;tt&amp;gt;&amp;amp;lt;note type=&amp;quot;crossReference&amp;quot;&amp;amp;gt;...&amp;amp;lt;/note&amp;amp;gt;&amp;lt;/tt&amp;gt;. If this is not done, then the cross-references will always show inline in the text.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;note type=&amp;quot;crossReference&amp;quot; n=&amp;quot;t&amp;quot; osisID=&amp;quot;Jer.24.7!crossReference.t&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;reference osisRef=&amp;quot;Jer.32.39&amp;quot;&amp;gt;ch. 32:39&amp;lt;/reference&amp;gt;; &lt;br /&gt;
  &amp;lt;reference osisRef=&amp;quot;Deut.30.6&amp;quot;&amp;gt;Deut. 30:6&amp;lt;/reference&amp;gt;; &lt;br /&gt;
  &amp;lt;reference osisRef=&amp;quot;Ezek.11.19&amp;quot;&amp;gt;Ezek. 11:19&amp;lt;/reference&amp;gt;; &lt;br /&gt;
  &amp;lt;reference osisRef=&amp;quot;Ezek.36.26-Ezek.36.27&amp;quot;&amp;gt;36:26, 27&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/note&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is a breakdown.&lt;br /&gt;
&lt;br /&gt;
Regarding the &amp;lt;tt&amp;gt;&amp;amp;lt;note&amp;amp;gt;&amp;lt;/tt&amp;gt; element:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;tt&amp;gt;type=&amp;quot;crossReference&amp;quot;&amp;lt;/tt&amp;gt; is one of the predefined OSIS note types. SWORD looks for this value to show/hide cross-references.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;tt&amp;gt;n=&amp;quot;t&amp;quot;&amp;lt;/tt&amp;gt; provides the author's desired footnote marker for the note. A couple of SWORD applications use this, but most manufacture their own marker.&lt;br /&gt;
&lt;br /&gt;
:The given osisID is based upon the location of the note. In order to not conflict with the verse's osisID and to construct a unique id, the ! (extension mark, ''aka'' sub-identifier) syntax is used. This is further qualified by the note's type and n value, separated by a dot.&lt;br /&gt;
&lt;br /&gt;
:This note pertains to a single verse and it is given in osisRef.&lt;br /&gt;
&lt;br /&gt;
Regarding the &amp;lt;tt&amp;gt;&amp;amp;lt;reference&amp;amp;gt;&amp;lt;/tt&amp;gt; elements:&lt;br /&gt;
&lt;br /&gt;
:The &amp;lt;tt&amp;gt;&amp;amp;lt;reference&amp;amp;gt;&amp;lt;/tt&amp;gt; element is replaced by SWORD with a link to the reference with the text of the element being shown as link text.&lt;br /&gt;
&lt;br /&gt;
:While the osisRef can point to multiple verses, most SWORD applications cannot handle a link that goes to more than one verse or a contiguous range of verses.&lt;br /&gt;
&lt;br /&gt;
:Here we see that each reference is separated by punctuation (the semicolon at the end of each line).&lt;br /&gt;
&lt;br /&gt;
===Marking variants===&lt;br /&gt;
SWORD recognizes the element &amp;lt;seg&amp;gt; with type=&amp;quot;x-variant&amp;quot; as marking variants present in different versions of a text. The attribute subType should be added, with a value of &amp;quot;x-1&amp;quot; or &amp;quot;x-2&amp;quot; to indicate whether the reading is the primary or secondary variant. At present, SWORD supports only 2 different readings per text. The method is illustrated below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The text of the Bible&lt;br /&gt;
&amp;lt;seg type=&amp;quot;x-variant&amp;quot; subType=&amp;quot;x-1&amp;quot;&amp;gt;may &amp;lt;/seg&amp;gt;&lt;br /&gt;
&amp;lt;seg type=&amp;quot;x-variant&amp;quot; subType=&amp;quot;x-2&amp;quot;&amp;gt;can &amp;lt;/seg&amp;gt;&lt;br /&gt;
contain variant readings.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This illustrates a primary reading &amp;quot;may &amp;quot; and a secondary reading &amp;quot;can &amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Filter ====&lt;br /&gt;
Variant readings in OSIS modules may be switched by the SWORD engine when the module conf file includes:&lt;br /&gt;
 GlobalOptionFilter=OSISVariants&lt;br /&gt;
'''Note:'''&lt;br /&gt;
# This feature requires the front-end to have been compiled with SWORD version 1.7 or later.&lt;br /&gt;
&lt;br /&gt;
==== Examples ====&lt;br /&gt;
* The TR module contains 246 locations where two such variants are marked.&lt;br /&gt;
* The WHNU module contains 1473 locations where two variants are marked.&lt;br /&gt;
&lt;br /&gt;
==== SWORD implementation ====&lt;br /&gt;
The SWORD API provides for these three choices:&lt;br /&gt;
 [Primary Reading|Secondary Reading|All Readings]&lt;br /&gt;
Example: In Xiphos version 3.1.6, the module context menu provides these three options for any module that has variants.&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
===Charset conversion===&lt;br /&gt;
&lt;br /&gt;
====Padma====&lt;br /&gt;
&lt;br /&gt;
[http://padma.mozdev.org/ Padma] is a system for transforming Indic text between various public and proprietary formats. This extension applies the technology to Mozilla based applications. Padma is available as an extension for Firefox, Thunderbird, Netscape, Mozilla suite and SeaMonkey platforms. Padma can automatically transform web pages that use dynamic font schemes to Unicode.&lt;br /&gt;
&lt;br /&gt;
Padma can be customised to include a user supplied conversion. This implies that its use is not restricted to Indic texts. See [http://tidbits.co.in/content/how-write-padma-conversion-file].&lt;br /&gt;
&lt;br /&gt;
===Valid OSIS test===&lt;br /&gt;
A valid XML document one that is well-formed and conforms to the formal definition provided in a schema (or DTD). A document cannot have elements, attributes, or entities not defined in the schema. A schema can also define ''how'' entities may be nested, the possible values of attributes, etc.&lt;br /&gt;
&lt;br /&gt;
Many programs capable of schema validation exist. Most [http://en.wikipedia.org/wiki/XML_editor XML editors] ([http://xml-copy-editor.sourceforge.net/ XML Copy Editor], [http://en.wikipedia.org/wiki/Oxygen_XML_Editor Oxygen], [http://en.wikipedia.org/wiki/XMLSpy XMLSpy], [http://www.topologi.com/ Topologi], etc.) support some sort of XML schema validation.  The Windows based text editor [http://en.wikipedia.org/wiki/Notepad%2B%2B Notepad++] supports Unicode and has an '''XML Tools''' plugin which can perform syntax checking and validation.&amp;lt;ref&amp;gt;Currently, the XML validation check in Notepad++ does not accept the extended schema location syntax that includes &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;xmlns=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;, etc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====xmllint====&lt;br /&gt;
libxml2, available for Linux, Windows, &amp;amp; MacOS, includes a command-line validator called xmllint. To check that a document is valid against OSIS schema, use the following command. (You need Internet access to validate your document.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ xmllint --noout --schema http://www.bibletechnologies.net/osisCore.2.1.1.xsd myfile.osis.xml&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To install xmllint, simply install libxml2 via your distribution's standard package management system in Linux or download the Windows binary from our [http://www.crosswire.org/ftpmirror/pub/sword/utils/win32/ mirror].&lt;br /&gt;
&lt;br /&gt;
====Online XML Validators====&lt;br /&gt;
The external links section of http://en.wikipedia.org/wiki/XML_Validation lists at least three online validators. Some or all of these can validate against external XML schema.&lt;br /&gt;
&lt;br /&gt;
==Creating a SWORD Module==&lt;br /&gt;
Use [[osis2mod]] to create the module.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
*[[OSIS]] &amp;amp;ndash; a partial list of other OSIS related pages and external links.&lt;br /&gt;
&lt;br /&gt;
*[[Converting SFM Bibles to OSIS]] &amp;amp;ndash; describes how to prepare a single OSIS XML file for a Biblical text supplied as several USFM files.&lt;br /&gt;
&lt;br /&gt;
[[Category:Guides|OSIS Bibles]]&lt;br /&gt;
&lt;br /&gt;
[[Category:OSIS|OSIS Bibles]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Morphology|OSIS Bibles]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=OSIS_Bibles&amp;diff=13131</id>
		<title>OSIS Bibles</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=OSIS_Bibles&amp;diff=13131"/>
				<updated>2014-02-07T20:22:50Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* Marking the Divine Name */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==OSIS==&lt;br /&gt;
OSIS is an XML Schema definition for Bibles and other Biblical research texts, which enables ministries and other organizations to collaborate more easily.  Traditionally, these organizations have stored their documents in disparate, proprietary markups, making it difficult when they wish to share in service with each other.  OSIS provides a common markup for multiple visions.&lt;br /&gt;
&lt;br /&gt;
CrossWire is committed to supporting the OSIS initiative.  We have developed OSIS import and export tools which work with our SWORD engine, making OSIS documents available to all of our SWORD software.&lt;br /&gt;
&lt;br /&gt;
The latest OSIS Schema definition and supporting information is available at: http://www.bibletechnologies.net &amp;lt;ref&amp;gt;Link broken. See [[OSIS Tutorial#The_Root_Element|OSIS Tutorial]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This page is for practical examples of how to encode a Bible in OSIS 2.1.1 for building a SWORD module with [[osis2mod]]. It represents CrossWire's experience and best practices in creating modules.&lt;br /&gt;
&lt;br /&gt;
Every OSIS SWORD module must be created from a well-formed and valid OSIS 2.1.1 document. While it is a desirable goal for any such document to be acceptable, SWORD has some particular requirements which are discussed here.&lt;br /&gt;
&lt;br /&gt;
The schema for OSIS 2.1.1 that was formally at http://www.bibletechnologies.net/osisCore.2.1.1.xsd is preserved at http://ebible.org/osisCore.2.1.1.xsd&lt;br /&gt;
&lt;br /&gt;
The March 2006 version of the OSIS Manual may be found  [http://www.bibletechnologies.net/utilities/fmtdocview.cfm?id=28871A67-D5F5-4381-B22EC4947601628B here] (PDF).&lt;br /&gt;
&lt;br /&gt;
A good example of an OSIS document can be found at http://www.crosswire.org/~dmsmith/kjv2006.&lt;br /&gt;
&lt;br /&gt;
See also [[OSIS Book Abbreviations|OSIS Book Name Abbreviations]].&lt;br /&gt;
&lt;br /&gt;
==General structure==&lt;br /&gt;
&lt;br /&gt;
An OSIS document is a ''well-formed XML'' document, valid according to the ''OSIS schema''.&lt;br /&gt;
You can find the full normative description on the OSIS Website [http://www.bibletechnologies.net/].&amp;lt;ref&amp;gt;Link broken. See [[OSIS Tutorial#The_Root_Element|root element]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To produce a Bible, you can use this template:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;osis&lt;br /&gt;
	xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
	xmlns=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace&amp;quot;&lt;br /&gt;
	xmlns:osis=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace&amp;quot;&lt;br /&gt;
	xsi:schemaLocation=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace http://www.bibletechnologies.net/osisCore.2.1.1.xsd&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;osisText osisIDWork=&amp;quot;{NAME}&amp;quot; osisRefWork=&amp;quot;bible&amp;quot; xml:lang=&amp;quot;{LANG}&amp;quot; canonical=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;header&amp;gt;&lt;br /&gt;
			{HEADER}&lt;br /&gt;
		&amp;lt;/header&amp;gt;&lt;br /&gt;
		&amp;lt;div type=&amp;quot;bookGroup&amp;quot;&amp;gt;&lt;br /&gt;
			{BODY}&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/osisText&amp;gt;&lt;br /&gt;
&amp;lt;/osis&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With the following values:&lt;br /&gt;
; {NAME}: Normalized name of the Bible version (Usually 3 letters for language, 3 for translation)&lt;br /&gt;
; {LANG}: IETF language code-- ISO 639-1 codes are preferred, and ISO 639-3 codes are preferred when ISO 639-1 codes do not exist for the given language. See [http://www.sil.org/iso639-3/codes.asp] for a list of codes. &lt;br /&gt;
; {HEADER}: Description of the included text; see below&lt;br /&gt;
; {BODY}: Text; see below&lt;br /&gt;
&lt;br /&gt;
For text without any character outside ASCII, you can use US-ASCII encoding (usually for english text). For every other language, please use UTF-8 and NFC. See the [[OSIS Bibles#Tools|tools]] section if you need to convert.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
===Header===&lt;br /&gt;
This is the minimum contents of the header required for validation. It is also what &amp;lt;tt&amp;gt;usfm2osis.pl&amp;lt;/tt&amp;gt; produces. A valid OSIS header may include more than this.&lt;br /&gt;
 &amp;lt;header&amp;gt;  &lt;br /&gt;
   &amp;lt;work osisWork={Name}/&amp;gt;&lt;br /&gt;
 &amp;lt;/header&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Body===&lt;br /&gt;
&lt;br /&gt;
Here is the general structure of the body content:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;div type=&amp;quot;bookGroup&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;title&amp;gt;Old Testament&amp;lt;/title&amp;gt;&lt;br /&gt;
	&amp;lt;div type=&amp;quot;book&amp;quot; osisID=&amp;quot;Gen&amp;quot; canonical=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;title type=&amp;quot;main&amp;quot; short=&amp;quot;Genesis&amp;quot;&amp;gt;Genesis&amp;lt;/title&amp;gt;&lt;br /&gt;
		&amp;lt;chapter osisID=&amp;quot;Gen.1&amp;quot; n=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;verse sID=&amp;quot;Gen.1.1&amp;quot; osisID=&amp;quot;Gen.1.1&amp;quot; n=&amp;quot;1&amp;quot;/&amp;gt;In the&lt;br /&gt;
			beginning...&amp;lt;verse eID=&amp;quot;Gen.1.1&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;verse sID=&amp;quot;Gen.1.2&amp;quot; osisID=&amp;quot;Gen.1.2&amp;quot; n=&amp;quot;2&amp;quot;/&amp;gt;The earth was&lt;br /&gt;
			formless and void...&amp;lt;verse eID=&amp;quot;Gen.1.2&amp;quot;/&amp;gt;&lt;br /&gt;
			...&lt;br /&gt;
		&amp;lt;/chapter&amp;gt;&lt;br /&gt;
	&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
# The bookGroup division for the New Testament should have a similar structure.&lt;br /&gt;
# Any &amp;lt;tt&amp;gt;&amp;amp;lt;div&amp;amp;gt;&amp;lt;/tt&amp;gt; defaults canonical to false. You need to set it to true on elements representing the structure of the original text.&lt;br /&gt;
# A quirk of the SWORD compilation process is that the only kind of content which reliably displays outside of &amp;lt;verse&amp;gt; elements are titles.&lt;br /&gt;
&lt;br /&gt;
===OSIS Milestones===&lt;br /&gt;
OSIS allows for two potentially overlapping structures: Document structure (BSP) and verse structure (BCV).&lt;br /&gt;
&lt;br /&gt;
Document structure is dominated by book, sections and paragraphs (BSP), additionally with titles, quotes and poetic material. While verse structure is indicated by book, chapter and verse numbers (BCV). While a SWORD module requires verse structure, the best way to encode a module with deep markup is with document structure. [[Osis2mod]] is responsible for transforming document structure into verse structure.&lt;br /&gt;
&lt;br /&gt;
Because these two systems can overlap and because XML does not allow for overlapping elements, OSIS defines a milestone mechanism for both document and verse structure elements.&lt;br /&gt;
&lt;br /&gt;
For:&lt;br /&gt;
 &amp;amp;lt;X  ... attribute list ...&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;amp;lt;/X&amp;gt;&lt;br /&gt;
the milestoned form is:&lt;br /&gt;
 &amp;amp;lt;X sID=&amp;quot;g1&amp;quot; ... attribute list .../&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;amp;lt;X eID=&amp;quot;g1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
According to the OSIS manual, for any given element X that defines a milestoneable form, all the instances of X in the document must use one form or the other and may not use both. The value of each sID attribute must be unique within the document.&lt;br /&gt;
&lt;br /&gt;
Verse milestone sID/eID attributes can even have values that denote a verse range. This is purely for convenience to human readers.  &lt;br /&gt;
&lt;br /&gt;
It is allowable to use milestone elements for verses alone, or for both verses and chapters. The body example above is for the former.&lt;br /&gt;
&lt;br /&gt;
==== Limitations of XML validators ====&lt;br /&gt;
&lt;br /&gt;
An [[OSIS Bibles#Valid_OSIS_test|XML validator]] cannot validate whether OSIS milestones are used properly. It cannot validate:&lt;br /&gt;
* that an element is consistently either milestoned or not.&lt;br /&gt;
* that for each element with an sID that there is a paired element with an eID.&amp;lt;ref&amp;gt;osis2mod does not crash if the eID milestones are all missing, but the resulting module may appear to be void of text.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* that each paired sID/eID have the same attribute value.&lt;br /&gt;
* that different sID/eID pairs of the same element type do not overlap.&amp;lt;ref&amp;gt;If they weren't milestones, one would say they should be properly nested.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Notes about OSIS elements ====&lt;br /&gt;
* For an OSIS document to be valid it must use the non-milestoned &amp;amp;lt;div&amp;gt; and &amp;amp;lt;lg&amp;gt; elements.&lt;br /&gt;
* There is no milestoned version of the &amp;amp;lt;p&amp;gt; element. From a practical perspective, this means that the milestoned verse element should be used when paragraphs are used.&lt;br /&gt;
* The milestoned chapter element must be used when the paragraph is spanning over a chapter.&lt;br /&gt;
* The SWORD engine cannot handle sub-identifiers separated by ! in an osisID, so osis2mod strips these off from the osisIDs for verses. They are only of use for the osisIDs for notes.&lt;br /&gt;
&lt;br /&gt;
===Recommended approach===&lt;br /&gt;
* For chapters, use &amp;amp;lt;chapter&amp;gt;...&amp;amp;lt;/chapter&amp;gt; container elements (except in the rare case that other container elements cross chapter boundaries)&lt;br /&gt;
* For verses, use milestone elements (unless container elements will suffice) &amp;amp;ndash; see [[OSIS Bibles/BSPExample]].&lt;br /&gt;
* For paragraphs, use the &amp;amp;lt;p&amp;gt;...&amp;amp;lt;/p&amp;gt; container element&lt;br /&gt;
* For poetry, use container elements &amp;amp;lt;lg&amp;gt;...&amp;amp;lt;/lg&amp;gt; to indicate stanzas (or other types of line groups) and &amp;amp;lt;l&amp;gt;...&amp;amp;lt;/l&amp;gt; to indicate lines&lt;br /&gt;
* For quoted text, use the &amp;amp;lt;q&amp;gt;...&amp;amp;lt;/q&amp;gt; container element&lt;br /&gt;
* For translation changes, use the &amp;amp;lt;transChange&amp;gt;...&amp;amp;lt;/transChange&amp;gt; container element&amp;lt;ref&amp;gt;Except where the text is within a &amp;amp;lt;w&amp;gt; which is not allowed by OSIS. For these cases use the alternative &amp;amp;lt;seg subType=&amp;quot;x-added&amp;quot; type=&amp;quot;x-transChange&amp;quot;&amp;gt;...&amp;amp;lt;/seg&amp;gt; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===Marking Paragraphs===&lt;br /&gt;
There is no milestoned version of the &amp;lt;tt&amp;gt;&amp;amp;lt;p&amp;gt;&amp;lt;/tt&amp;gt; element. Typically paragraphs surround whole verses. That is, they start and end between verses. If a paragraph begins or ends in a verse and extends beyond that verse, then the whole document must use the milestoned version of &amp;lt;tt&amp;gt;&amp;amp;lt;verse&amp;gt;&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;div type=&amp;quot;book&amp;quot; osisID=&amp;quot;Gen&amp;quot; canonical=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;title type=&amp;quot;main&amp;quot;&amp;gt;LE PREMIER LIVRE DE MOÏSE dit LA GENÈSE&amp;lt;/title&amp;gt;&lt;br /&gt;
	&amp;lt;chapter osisID=&amp;quot;Gen.1&amp;quot; chapterTitle=&amp;quot;Chapitre 1&amp;quot;&amp;gt;&amp;lt;title type=&amp;quot;chapter&amp;quot;&amp;gt;Chapitre 1&amp;lt;/title&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&lt;br /&gt;
			&amp;lt;verse sID=&amp;quot;Gen.1.1&amp;quot; osisID=&amp;quot;Gen.1.1&amp;quot; n=&amp;quot;1&amp;quot;/&amp;gt;Au commencement Dieu créa les &lt;br /&gt;
			cieux et la terre.&amp;lt;verse eID=&amp;quot;Gen.1.1&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&lt;br /&gt;
			&amp;lt;verse sID=&amp;quot;Gen.1.2&amp;quot; osisID=&amp;quot;Gen.1.2&amp;quot; n=&amp;quot;2&amp;quot;/&amp;gt;Et la terre était désolation et&lt;br /&gt;
			vide, et il y avait des ténèbres sur la face de l'abîme. Et l'Esprit de Dieu&lt;br /&gt;
			planait sur la face des eaux.&amp;lt;verse eID=&amp;quot;Gen.1.2&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&lt;br /&gt;
			&amp;lt;verse sID=&amp;quot;Gen.1.3&amp;quot; osisID=&amp;quot;Gen.1.3&amp;quot; n=&amp;quot;3&amp;quot;/&amp;gt;Et Dieu dit : Que la lumière&lt;br /&gt;
			soit. Et la lumière fut.&amp;lt;verse eID=&amp;quot;Gen.1.3&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;verse sID=&amp;quot;Gen.1.4&amp;quot; osisID=&amp;quot;Gen.1.4&amp;quot; n=&amp;quot;4&amp;quot;/&amp;gt;Et Dieu vit la lumière, qu'elle&lt;br /&gt;
			était bonne ; et Dieu sépara la lumière d'avec les ténèbres.&lt;br /&gt;
			&amp;lt;verse eID=&amp;quot;Gen.1.4&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;verse sID=&amp;quot;Gen.1.5&amp;quot; osisID=&amp;quot;Gen.1.5&amp;quot; n=&amp;quot;5&amp;quot;/&amp;gt;Et Dieu appela la lumière Jour ;&lt;br /&gt;
			et les ténèbres, il les appela Nuit. Et il y eut soir, et il y eut matin : &lt;br /&gt;
			&amp;amp;amp;#8212; premier jour.&amp;lt;verse eID=&amp;quot;Gen.1.5&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;/p&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Result&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;sup&amp;gt;'''(1)'''&amp;lt;/sup&amp;gt; Au commencement Dieu créa les cieux et la terre.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;'''(2)'''&amp;lt;/sup&amp;gt; Et la terre était désolation et vide, et il y avait des ténèbres sur la face de l'abîme. Et l'Esprit de Dieu planait sur la face des eaux.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;'''(3)''' &amp;lt;/sup&amp;gt;Et Dieu dit : Que la lumière soit. Et la lumière fut. &amp;lt;sup&amp;gt;'''(4)'''&amp;lt;/sup&amp;gt; Et Dieu vit la lumière, qu'elle était bonne ; et Dieu sépara la lumière d'avec les ténèbres. &amp;lt;sup&amp;gt;'''(5)'''&amp;lt;/sup&amp;gt; Et Dieu appela la lumière Jour ; et les ténèbres, il les appela Nuit. Et il y eut soir, et il y eut matin : &amp;amp;#8212; premier jour.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: [[osis2mod]] converts a paragraph start into &amp;lt;tt&amp;gt;&amp;amp;lt;div type=&amp;quot;paragraph&amp;quot; sID=&amp;quot;genX&amp;quot;/&amp;gt;&amp;lt;/tt&amp;gt; and a paragraph end into &amp;lt;tt&amp;gt;&amp;amp;lt;div type=&amp;quot;paragraph&amp;quot; eID=&amp;quot;genX&amp;quot;/&amp;gt;&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Marking Quotations===&lt;br /&gt;
Most of the SWORD front-end applications will show a chapter at a time and some will show isolated verses. This means that all of the SWORD applications show partial quotations, such as the Sermon on the Mount which begins in Matt 5 and ends in Matt 7.&lt;br /&gt;
&lt;br /&gt;
====Default quotation marks====&lt;br /&gt;
By default, SWORD will use &amp;lt;tt&amp;gt;&amp;quot;&amp;lt;/tt&amp;gt; for quotations. The following describes various ways to influence this.&lt;br /&gt;
&lt;br /&gt;
====Indicating the nesting of a quote====&lt;br /&gt;
When a quote is contained in a quote, it is customary to set the level attribute to indicate the depth of the nesting. For example, Jeremiah 23:38 is part of a larger quote and has a back and forth dialog of nested quotes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
But if you say,&lt;br /&gt;
&amp;lt;q level=&amp;quot;2&amp;quot; sID=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
	The burden of the Lord,&lt;br /&gt;
&amp;lt;q level=&amp;quot;2&amp;quot; eID=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
thus says the Lord,&lt;br /&gt;
&amp;lt;q level=&amp;quot;2&amp;quot; sID=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
	Because you have said these words,&lt;br /&gt;
	&amp;lt;q level=&amp;quot;3&amp;quot; sID=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
		The burden of the Lord,&lt;br /&gt;
	&amp;lt;q level=&amp;quot;3&amp;quot; eID=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
	when I sent to you, saying,&lt;br /&gt;
	&amp;lt;q level=&amp;quot;3&amp;quot; sID=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
		You shall not say,&lt;br /&gt;
		&amp;lt;q level=&amp;quot;4&amp;quot; sID=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
			The burden of the Lord,&lt;br /&gt;
		&amp;lt;q level=&amp;quot;4&amp;quot; eID=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;q level=&amp;quot;3&amp;quot; eID=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
A couple of things to note about this verse. First, the level attribute is on both the sID and the eID pair, matching in value. Second, this is an example of a verse that has a quote that starts in the middle and finishes in another verse.&lt;br /&gt;
&lt;br /&gt;
In this case, SWORD will use the level to determine whether to use &amp;lt;tt&amp;gt;&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;'&amp;lt;/tt&amp;gt; for quotes. Odd levels will use &amp;lt;tt&amp;gt;&amp;quot;&amp;lt;/tt&amp;gt; and even levels will use &amp;lt;tt&amp;gt;'&amp;lt;/tt&amp;gt;. This is in accordance with American English usage, which is the opposite of British English usage. Nesting levels up to five can be found in the Bible.&amp;lt;ref&amp;gt;Jeremiah 27:1-11; 29:1-28, 30-32; 34:1-5; and Ezekiel 1-36&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Supplying alternative quotation marks====&lt;br /&gt;
The quote element has a marker attribute that can be used to control the quotation marks. SWORD applications will always use this value when rendering the quote. When the marker attribute is present but empty, it will render no quotation mark at all.&lt;br /&gt;
&lt;br /&gt;
To specify &amp;quot;curly&amp;quot; quotes you can use the following values:&lt;br /&gt;
{|border=1&lt;br /&gt;
!Description!!Char!!HTML Entity!!Unicode&lt;br /&gt;
|-align=center&lt;br /&gt;
|Opening double quote||&amp;amp;#8220;||&amp;amp;amp;#8220;||U+201C&lt;br /&gt;
|-align=center&lt;br /&gt;
|Closing double quote||&amp;amp;#8221;||&amp;amp;amp;#8221;||U+201D&lt;br /&gt;
|-align=center&lt;br /&gt;
|Opening single quote||&amp;amp;#8216;||&amp;amp;amp;#8216;||U+2018&lt;br /&gt;
|-align=center&lt;br /&gt;
|Closing single quote||&amp;amp;#8217;||&amp;amp;amp;#8217;||U+2019&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
To use different marks to start and end a quote, use the milestoned version of the quote.&lt;br /&gt;
 &amp;amp;lt;q marker=&amp;quot;&amp;amp;#8220;&amp;quot; sID=&amp;quot;qN&amp;quot;/&amp;gt; ... &amp;amp;lt;q marker=&amp;quot;&amp;amp;#8221;&amp;quot; eID=&amp;quot;qN&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is further information about English quotation marks and their usage in [http://en.wikipedia.org/wiki/Quotation_marks].&lt;br /&gt;
&lt;br /&gt;
Quotation marks have a variety of forms in different languages and in different media. See [http://en.wikipedia.org/wiki/Quotation_mark,_non-English_usage Quotation mark, non-English usage].&amp;lt;ref&amp;gt;When modules are being converted from digitized source text used in other Bible software, it may be the case that quotation marks in the text source differ from those in the original published edition, whether due to inherent constraints of the other software, or for other causes.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Continuation quotation marks====&lt;br /&gt;
The &amp;lt;tt&amp;gt;&amp;amp;lt;milestone type=&amp;quot;cQuote&amp;quot;/&amp;amp;gt;&amp;lt;/tt&amp;gt; can be used to indicate the presence of a continued quote. If the marker attribute is present, it will use that otherwise it will use a straight double quote, &amp;quot;. Since there is no level attribute on the milestone element, it is best to specify the marker attribute.&lt;br /&gt;
&lt;br /&gt;
====Marking the Words of Christ====&lt;br /&gt;
To indicate that a quote is something that Jesus said&amp;lt;ref&amp;gt;http://en.wikipedia.org/wiki/Red_letter_edition&amp;lt;/ref&amp;gt;, use the attribute &amp;lt;tt&amp;gt;who=&amp;quot;Jesus&amp;quot;&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	&amp;lt;verse osisID=&amp;quot;Luke.22.35 sID=&amp;quot;Luke.22.35&amp;quot;/&amp;gt;&lt;br /&gt;
	Then Jesus asked them, &amp;lt;q who=&amp;quot;Jesus&amp;quot; marker=&amp;quot;&amp;quot;&amp;gt;When I sent you without purse,&lt;br /&gt;
	bag or sandals, did you lack anything?&amp;lt;/q&amp;gt;&lt;br /&gt;
	&amp;lt;verse eID=&amp;quot;Luke.22.35&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Result&lt;br /&gt;
|&lt;br /&gt;
Then Jesus asked them, &amp;lt;span style=&amp;quot;color:#A00&amp;quot;&amp;gt;When I sent you without purse, bag or sandals, did you lack anything?&amp;lt;/span&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Marking poetic material===&lt;br /&gt;
Poetry is marked up with &amp;amp;lt;lg&amp;amp;gt;, line group, and &amp;amp;lt;l&amp;amp;gt;, line, elements. The line element supports indentation with the level attribute. When the level attribute is not present or it is level=&amp;quot;1&amp;quot;, this should be interpreted as the first level of the line group. When level=&amp;quot;2&amp;quot; it is indented relative to level=&amp;quot;1&amp;quot;. The same is true for each subsequent level.  &lt;br /&gt;
&lt;br /&gt;
The level attribute is used to indicate indentation. A value of 1 means no indentation, the same as not specifying a level attribute. A value of 2 means to indent one. And so forth.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;chapter osisID=&amp;quot;Exod.15&amp;quot; chapterTitle=&amp;quot;Chapitre 15&amp;quot;&amp;gt;&amp;lt;title type=&amp;quot;chapter&amp;quot;&amp;gt;Chapter 15&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;verse sID=&amp;quot;Exod.15.1&amp;quot; osisID=&amp;quot;Exod.15.1&amp;quot; n=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
      Then sang Moses and the children of Israel this song unto the LORD, and spake, saying,&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;lg&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;1&amp;quot;&amp;gt;I will sing unto the LORD, for he hath triumphed gloriously:&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;2&amp;quot;&amp;gt;the horse and his rider hath he thrown into the sea.&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;verse eID=&amp;quot;Exod.15.1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;verse sID=&amp;quot;Exod.15.2&amp;quot; osisID=&amp;quot;Exod.15.2&amp;quot; n=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;1&amp;quot;&amp;gt;The LORD is my strength and song, and he is become my salvation:&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;2&amp;quot;&amp;gt;he is my God, and I will prepare him an habitation;&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;2&amp;quot;&amp;gt;my father's God, and I will exalt him.&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;verse eID=&amp;quot;Exod.15.2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;verse sID=&amp;quot;Exod.15.3&amp;quot; osisID=&amp;quot;Exod.15.3&amp;quot; n=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;1&amp;quot;&amp;gt;The LORD is a man of war:&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;2&amp;quot;&amp;gt;the LORD is his name.&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;verse eID=&amp;quot;Exod.15.3&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;verse sID=&amp;quot;Exod.15.4&amp;quot; osisID=&amp;quot;Exod.15.4&amp;quot; n=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;1&amp;quot;&amp;gt;Pharaoh's chariots and his host hath he cast into the sea:&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;2&amp;quot;&amp;gt;his chosen captains also are drowned in the Red sea.&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;verse eID=&amp;quot;Exod.15.4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;verse sID=&amp;quot;Exod.15.5&amp;quot; osisID=&amp;quot;Exod.15.5&amp;quot; n=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;1&amp;quot;&amp;gt;The depths have covered them:&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;2&amp;quot;&amp;gt;they sank into the bottom as a stone.&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;verse eID=&amp;quot;Exod.15.5&amp;quot;/&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Result&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;sup&amp;gt;'''(1)'''&amp;lt;/sup&amp;gt; Then sang Moses and the children of Israel this song unto the LORD, and spake, saying,&lt;br /&gt;
&lt;br /&gt;
::''I will sing unto the LORD, for he hath triumphed gloriously:''&lt;br /&gt;
::::''the horse and his rider hath he thrown into the sea.''&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;sup&amp;gt;'''(2)'''&amp;lt;/sup&amp;gt; ''The LORD is my strength and song, and he is become my salvation:''&lt;br /&gt;
::::''he is my God, and I will prepare him an habitation;''&lt;br /&gt;
::::''my father's God, and I will exalt him.''&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;sup&amp;gt;'''(3)'''&amp;lt;/sup&amp;gt; ''The LORD is a man of war:''&lt;br /&gt;
::::''the LORD is his name.''&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;sup&amp;gt;'''(4)'''&amp;lt;/sup&amp;gt; ''Pharaoh's chariots and his host hath he cast into the sea:''&lt;br /&gt;
::::''his chosen captains also are drowned in the Red sea.''&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;sup&amp;gt;'''(5)'''&amp;lt;/sup&amp;gt; ''The depths have covered them:''&lt;br /&gt;
::::''they sank into the bottom as a stone.''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&lt;br /&gt;
&lt;br /&gt;
# While OSIS defines a milestoned version of the &amp;lt;tt&amp;gt;&amp;lt;lg&amp;gt;&amp;lt;/tt&amp;gt; element, its use (rather than the container version) will not produce a valid XML document. The &amp;lt;tt&amp;gt;&amp;lt;l&amp;gt;&amp;lt;/tt&amp;gt; element can only occur within an &amp;lt;tt&amp;gt;&amp;lt;lg&amp;gt;&amp;lt;/tt&amp;gt; container, so use of &amp;lt;tt&amp;gt;&amp;lt;lg/&amp;gt;&amp;lt;/tt&amp;gt; milestones prevents use of &amp;lt;tt&amp;gt;&amp;lt;l&amp;gt;&amp;lt;/tt&amp;gt; elements.&lt;br /&gt;
&lt;br /&gt;
==== Marking acrostic poetry headings ====&lt;br /&gt;
Use &amp;lt;tt&amp;gt;type=&amp;quot;acrostic&amp;quot;&amp;lt;/tt&amp;gt; as the title attribute for the stanza headings in acrostic passages such as Psalm 119.&lt;br /&gt;
&lt;br /&gt;
=== Marking lemmas &amp;amp; morphology ===&lt;br /&gt;
====Marking Strong's numbers====&lt;br /&gt;
To mark up [http://en.wikipedia.org/wiki/Strong%27s_Concordance Strong's numbers], you first need to declare a workID in the header of the OSIS document:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;header&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;work osisWork=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;refSystem&amp;gt;Dict.Strongs&amp;lt;/refSystem&amp;gt;&lt;br /&gt;
    &amp;lt;/work&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SWORD does not actually use this declaration, but it is required to have a proper OSIS document.&lt;br /&gt;
&lt;br /&gt;
And while OSIS allows arbitrary workIDs, SWORD can only handle &amp;quot;strong&amp;quot; and a few variants.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;w lemma=&amp;quot;strong:H0853 strong:H03045&amp;quot;&amp;gt;knew&amp;lt;/w&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;amp;lt;w&amp;amp;gt; element is used to surround the text that is represented by the Strong's number. It may be that the text is a phrase and it may be that more than one Strong's number defines the text.&lt;br /&gt;
&lt;br /&gt;
When more than one Strong's number defines the text, each must be prefixed with a workID and must be separated from each other by a space. (While OSIS allows for the defining of default workIDs, SWORD requires that the workIDs be used.)&lt;br /&gt;
&lt;br /&gt;
The actual Strong's Number should indicate whether it is Hebrew (H) or Greek (G) followed by the number. The number can be 0 padded to 5 digits as in H00001.&lt;br /&gt;
&lt;br /&gt;
====Marking morphology====&lt;br /&gt;
In a similar manner to marking with Strong's numbers, morphology can also be noted. Since morphology regards the original language, Strong's numbers will be shown at the same time.&lt;br /&gt;
&lt;br /&gt;
As with Strong's numbers, a workID needs to be defined. Here we are defining one for Robinson's Morphology Codes. And while SWORD will ignore this declaration, &amp;quot;robinson&amp;quot; is hard-coded into SWORD for Greek morphology codes.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;header&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;work osisWork=&amp;quot;robinson&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;refSystem&amp;gt;Dict.Robinson&amp;lt;/refSystem&amp;gt;&lt;br /&gt;
    &amp;lt;/work&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example markup of Robinson's Morphology Codes in the KJV module:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;w lemma=&amp;quot;strong:G3588 strong:G80&amp;quot; morph=&amp;quot;robinson:T-APM robinson:N-APM&amp;quot; src=&amp;quot;7 8&amp;quot;&amp;gt;his brethren&amp;lt;/w&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In this example, lemma, morph and src form parallel arrays. The first strong: mapping to the first robinson: and the first src value.&lt;br /&gt;
&lt;br /&gt;
The workID should be name of a current, future, or potential lexicon module in which the morphology code could be looked up. For example, morph=&amp;quot;packard:D&amp;quot; represents a reference to morphology code &amp;quot;D&amp;quot; in a module named Packard, whether or not a Packard module has been created or released. (Currently, SWORD offers lexicon modules named Robinson and Packard, both for Greek morphology.)&lt;br /&gt;
&lt;br /&gt;
The src attribute is used here to indicate the word position in the original Greek.&lt;br /&gt;
&lt;br /&gt;
====Marking other lemmas====&lt;br /&gt;
The lemma attribute of the &amp;lt;tt&amp;gt;&amp;amp;lt;w&amp;amp;gt;&amp;lt;/tt&amp;gt; element can contain any number of other lemmas. Like Strong's numbers and morphology codes, these need to have a workID declared in the header. SWORD presumes that these lemma workIDs all start with &amp;quot;lemma.&amp;quot; (note the final period). The portion of the workID following &amp;quot;lemma.&amp;quot; should be name of a current, future, or potential lexicon module in which the lemma could be looked up. For example, lemma=&amp;quot;lemma.TWOT:271&amp;quot; represents a reference to lemma #271 in a module named TWOT (i.e the Theological Workbook of the Old Testament), whether or not a TWOT module has been created or released. As far as SWORD is concerned, there can be any number of these space-delimited values in a lemma attribute and they can be in any order, even interspersed among the &amp;quot;strong:&amp;quot; lemmas. &lt;br /&gt;
&lt;br /&gt;
SWORD has the ability to show or hide non-Strong's lemmas as a group. See [[DevTools:conf Files#Elements_required_for_proper_rendering|GlobalOptionFilter=OSISLemma]] &amp;amp;ndash; for OSIS texts having lemmas.&lt;br /&gt;
&lt;br /&gt;
==== Marking glosses ====&lt;br /&gt;
Gloss markup uses the &amp;lt;tt&amp;gt;gloss&amp;lt;/tt&amp;gt; attribute of the &amp;lt;tt&amp;gt;&amp;lt;w&amp;gt;&amp;lt;/tt&amp;gt; element. The syntax is illustrated by this line exported from the module JapMeiji.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;w gloss=&amp;quot;はじめ&amp;quot;&amp;gt;元始&amp;lt;/w&amp;gt;に&amp;lt;w gloss=&amp;quot;かみ&amp;quot;&amp;gt;神&amp;lt;/w&amp;gt;&amp;lt;w gloss=&amp;quot;てんち&amp;quot;&amp;gt;天地&amp;lt;/w&amp;gt;を&amp;lt;w gloss=&amp;quot;つくり&amp;quot;&amp;gt;創造&amp;lt;/w&amp;gt;たまへり&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Display of glosses can be toggled (in [[Choosing a SWORD program#Module_Support|compatible front-ends]]) by having this line in the [[DevTools:conf Files#Elements_required_for_proper_rendering|.conf file]]:&lt;br /&gt;
 GlobalOptionFilter=OSISGlosses&lt;br /&gt;
&lt;br /&gt;
===Marking the divine name===&lt;br /&gt;
The &amp;lt;tt&amp;gt;&amp;amp;lt;divineName&amp;amp;gt;&amp;lt;/tt&amp;gt; tag is reserved for representations of the tetragrammaton יהוה (YHWH). These occur in the Old Testament as &amp;lt;span style=&amp;quot;font-variant: small-caps;&amp;quot;&amp;gt;Lord&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;font-variant: small-caps;&amp;quot;&amp;gt;God&amp;lt;/span&amp;gt; and &amp;lt;span style=&amp;quot;font-variant: small-caps;&amp;quot;&amp;gt;Yah&amp;lt;/span&amp;gt;. Not every instance of Lord or God is a translation of this.&lt;br /&gt;
&lt;br /&gt;
The content of the divineName element is the word Lord, God or Yah, not in all upper case (i.e. not LORD, GOD, or YAH). SWORD will either convert it to small-caps or uppercase.&lt;br /&gt;
&lt;br /&gt;
Note, if it is the use is possessive it is permissible to have the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;divineName&amp;gt;Lord's&amp;lt;/divineName&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, it is inadvisable to include any other punctuation within the tag pair. Thus the following is '''not''' good practice (the quotation mark should ''precede'' the start tag):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;divineName&amp;gt;“God &amp;lt;/divineName&amp;gt; .....”&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When also marking with Strong's numbers you will need to do it one of two ways:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;divineName&amp;gt;&amp;lt;w lemma=&amp;quot;strong:H3068&amp;quot;&amp;gt;Lord's&amp;lt;/w&amp;gt;&amp;lt;divineName&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
   &amp;lt;w lemma=&amp;quot;strong:H3068&amp;quot;&amp;gt;of the &amp;lt;seg&amp;gt;&amp;lt;divineName&amp;gt;Lord&amp;lt;/divineName&amp;gt;&amp;lt;/seg&amp;gt;&amp;lt;/w&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The latter form uses a workaround to allow the embedding of &amp;lt;tt&amp;gt;&amp;amp;lt;divineName&amp;amp;gt;&amp;lt;/tt&amp;gt; in a &amp;lt;tt&amp;gt;&amp;amp;lt;w&amp;amp;gt;&amp;lt;/tt&amp;gt;, since OSIS does not allow for this, but does allow for &amp;lt;tt&amp;gt;&amp;amp;lt;seg&amp;amp;gt;&amp;lt;/tt&amp;gt; to be in a &amp;lt;tt&amp;gt;&amp;amp;lt;w&amp;amp;gt;&amp;lt;/tt&amp;gt; and to contain &amp;lt;tt&amp;gt;&amp;amp;lt;divineName&amp;amp;gt;&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Marking sections and titles===&lt;br /&gt;
A section is marked with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;div type=&amp;quot;section&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In OSIS the &amp;lt;tt&amp;gt;&amp;amp;lt;title&amp;amp;gt;&amp;lt;/tt&amp;gt; element is used to provide general headings. Titles should be placed at the top of the container that they title, not before.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;div type=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;title&amp;gt;A book title&amp;lt;/title&amp;gt;&lt;br /&gt;
   &amp;lt;chapter&amp;gt;&lt;br /&gt;
       &amp;lt;title type=&amp;quot;chapter&amp;quot;&amp;gt;A title chapter&amp;lt;/title&amp;gt;&lt;br /&gt;
       &amp;lt;div type=&amp;quot;section&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;title&amp;gt;A section title&amp;lt;/title&amp;gt;&lt;br /&gt;
            ...&lt;br /&gt;
       &amp;lt;/div&amp;gt;&lt;br /&gt;
       ...&lt;br /&gt;
      &amp;lt;/chapter&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Using &amp;lt;tt&amp;gt;type=&amp;quot;chapter&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;type=&amp;quot;main&amp;quot;&amp;lt;/tt&amp;gt; is needed by [[osis2mod]] to distinguish chapter titles from verse titles. When SWORD stores an OSIS document it does so as an index of verses. It has special indexes for book and chapter titles. SWORD does not store the &amp;lt;tt&amp;gt;&amp;amp;lt;verse&amp;gt;&amp;lt;/tt&amp;gt; tags. So when it comes to storing a title in the following verse, [[osis2mod]] generates special markup to indicate that the title stands before the verse. SWORD uses this to place the verse number.&lt;br /&gt;
&lt;br /&gt;
Note: The &amp;lt;tt&amp;gt;&amp;amp;lt;head&amp;amp;gt;&amp;lt;/tt&amp;gt; element is used to provide headings for tables, lists and cast groups. There are errors in the OSIS 2.1.1 manual that use the &amp;lt;tt&amp;gt;&amp;amp;lt;head&amp;amp;gt;&amp;lt;/tt&amp;gt; incorrectly.&lt;br /&gt;
&lt;br /&gt;
==== Marking pre-verse titles ====&lt;br /&gt;
There is no special markup for pre-verse titles. Osis2mod will determine what titles belong to the book, the chapter and otherwise if the above advice is followed.&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
# See also [[OSIS pre-verse titles]].&lt;br /&gt;
&lt;br /&gt;
===Marking notes===&lt;br /&gt;
NB. The examples in this section include the use of sub-identifiers in osisIDs for notes.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	&amp;lt;verse sID=&amp;quot;Gen.1.1&amp;quot; osisID=&amp;quot;Gen.1.1&amp;quot; n=&amp;quot;1&amp;quot;/&amp;gt;Au commencement &lt;br /&gt;
	Dieu&amp;lt;note osisRef=&amp;quot;Gen.1.1&amp;quot; osisID=&amp;quot;Gen.1.1!1&amp;quot; n=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;hi type=&amp;quot;italic&amp;quot;&amp;gt;en hébreu&amp;lt;/hi&amp;gt; : Élohim,&lt;br /&gt;
	(&amp;lt;hi type=&amp;quot;italic&amp;quot;&amp;gt;pluriel d&amp;lt;/hi&amp;gt;'Éloah, le Dieu suprême), la Déité, &amp;lt;hi type=&amp;quot;italic&amp;quot;&amp;gt;dans&lt;br /&gt;
	le sens absolu&amp;lt;/hi&amp;gt;.&amp;lt;/note&amp;gt; créa les cieux et la terre.&amp;lt;verse eID=&amp;quot;Gen.1.1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;verse sID=&amp;quot;Gen.1.2&amp;quot; osisID=&amp;quot;Gen.1.2&amp;quot; n=&amp;quot;2&amp;quot;/&amp;gt;Et la terre était désolation et &lt;br /&gt;
	vide&amp;lt;note osisRef=&amp;quot;Gen.1.2&amp;quot; osisID=&amp;quot;Gen.1.2!1&amp;quot; n=&amp;quot;2&amp;quot;&amp;gt;le vide.&amp;lt;/note&amp;gt;, et il y avait des ténèbres&lt;br /&gt;
	sur la face de l'abîme. Et l'Esprit de Dieu planait sur la face des eaux.&amp;lt;verse eID=&amp;quot;Gen.1.2&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Result&lt;br /&gt;
|&lt;br /&gt;
# Au commencement Dieu¹ créa les cieux et la terre.&lt;br /&gt;
# Et la terre était désolation et vide², et il y avait des ténèbres sur la face de l'abîme. Et l'Esprit de Dieu planait sur la face des eaux.&lt;br /&gt;
&lt;br /&gt;
*¹ ''en hébreu'': Élohim, (''pluriel d'''Éloah, le Dieu suprême), la Déité, ''dans le sens absolu''.&lt;br /&gt;
*² le vide.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The note should be attached to what it refers to, either after (as is the case here) or before. There should no additional space surrounding the note, but only what is in the text.&lt;br /&gt;
&lt;br /&gt;
These notes can have any type other than crossReference.&lt;br /&gt;
&lt;br /&gt;
====Marking cross-references notes====&lt;br /&gt;
SWORD provides the ability for a user to show or hide cross-references. To achieve this you embed one or more &amp;lt;tt&amp;gt;&amp;amp;lt;reference&amp;amp;gt;&amp;lt;/tt&amp;gt; elements in a &amp;lt;tt&amp;gt;&amp;amp;lt;note type=&amp;quot;crossReference&amp;quot;&amp;amp;gt;...&amp;amp;lt;/note&amp;amp;gt;&amp;lt;/tt&amp;gt;. If this is not done, then the cross-references will always show inline in the text.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;note type=&amp;quot;crossReference&amp;quot; n=&amp;quot;t&amp;quot; osisID=&amp;quot;Jer.24.7!crossReference.t&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;reference osisRef=&amp;quot;Jer.32.39&amp;quot;&amp;gt;ch. 32:39&amp;lt;/reference&amp;gt;; &lt;br /&gt;
  &amp;lt;reference osisRef=&amp;quot;Deut.30.6&amp;quot;&amp;gt;Deut. 30:6&amp;lt;/reference&amp;gt;; &lt;br /&gt;
  &amp;lt;reference osisRef=&amp;quot;Ezek.11.19&amp;quot;&amp;gt;Ezek. 11:19&amp;lt;/reference&amp;gt;; &lt;br /&gt;
  &amp;lt;reference osisRef=&amp;quot;Ezek.36.26-Ezek.36.27&amp;quot;&amp;gt;36:26, 27&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/note&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is a breakdown.&lt;br /&gt;
&lt;br /&gt;
Regarding the &amp;lt;tt&amp;gt;&amp;amp;lt;note&amp;amp;gt;&amp;lt;/tt&amp;gt; element:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;tt&amp;gt;type=&amp;quot;crossReference&amp;quot;&amp;lt;/tt&amp;gt; is one of the predefined OSIS note types. SWORD looks for this value to show/hide cross-references.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;tt&amp;gt;n=&amp;quot;t&amp;quot;&amp;lt;/tt&amp;gt; provides the author's desired footnote marker for the note. A couple of SWORD applications use this, but most manufacture their own marker.&lt;br /&gt;
&lt;br /&gt;
:The given osisID is based upon the location of the note. In order to not conflict with the verse's osisID and to construct a unique id, the ! (extension mark, ''aka'' sub-identifier) syntax is used. This is further qualified by the note's type and n value, separated by a dot.&lt;br /&gt;
&lt;br /&gt;
:This note pertains to a single verse and it is given in osisRef.&lt;br /&gt;
&lt;br /&gt;
Regarding the &amp;lt;tt&amp;gt;&amp;amp;lt;reference&amp;amp;gt;&amp;lt;/tt&amp;gt; elements:&lt;br /&gt;
&lt;br /&gt;
:The &amp;lt;tt&amp;gt;&amp;amp;lt;reference&amp;amp;gt;&amp;lt;/tt&amp;gt; element is replaced by SWORD with a link to the reference with the text of the element being shown as link text.&lt;br /&gt;
&lt;br /&gt;
:While the osisRef can point to multiple verses, most SWORD applications cannot handle a link that goes to more than one verse or a contiguous range of verses.&lt;br /&gt;
&lt;br /&gt;
:Here we see that each reference is separated by punctuation (the semicolon at the end of each line).&lt;br /&gt;
&lt;br /&gt;
===Marking variants===&lt;br /&gt;
SWORD recognizes the element &amp;lt;seg&amp;gt; with type=&amp;quot;x-variant&amp;quot; as marking variants present in different versions of a text. The attribute subType should be added, with a value of &amp;quot;x-1&amp;quot; or &amp;quot;x-2&amp;quot; to indicate whether the reading is the primary or secondary variant. At present, SWORD supports only 2 different readings per text. The method is illustrated below:&lt;br /&gt;
 The text of the Bible &amp;lt;seg type=&amp;quot;x-variant&amp;quot; subType=&amp;quot;x-1&amp;quot;&amp;gt;may &amp;lt;/seg&amp;gt;&amp;lt;seg type=&amp;quot;x-variant&amp;quot; subType=&amp;quot;x-2&amp;quot;&amp;gt;can &amp;lt;/seg&amp;gt;contain variant readings.&lt;br /&gt;
This illustrates a primary reading &amp;quot;may &amp;quot; and a secondary reading &amp;quot;can &amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Filter ====&lt;br /&gt;
Variant readings in OSIS modules may be switched by the SWORD engine when the module conf file includes:&lt;br /&gt;
 GlobalOptionFilter=OSISVariants&lt;br /&gt;
'''Note:'''&lt;br /&gt;
# This feature requires the front-end to have been compiled with SWORD version 1.7 or later.&lt;br /&gt;
&lt;br /&gt;
==== Examples ====&lt;br /&gt;
* The TR module contains 246 locations where two such variants are marked.&lt;br /&gt;
* The WHNU module contains 1473 locations where two variants are marked.&lt;br /&gt;
&lt;br /&gt;
==== SWORD implementation ====&lt;br /&gt;
The SWORD API provides for these three choices:&lt;br /&gt;
 [Primary Reading|Secondary Reading|All Readings]&lt;br /&gt;
Example: In Xiphos version 3.1.6, the module context menu provides these three options for any module that has variants.&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
===Charset conversion===&lt;br /&gt;
&lt;br /&gt;
====Padma====&lt;br /&gt;
&lt;br /&gt;
[http://padma.mozdev.org/ Padma] is a system for transforming Indic text between various public and proprietary formats. This extension applies the technology to Mozilla based applications. Padma is available as an extension for Firefox, Thunderbird, Netscape, Mozilla suite and SeaMonkey platforms. Padma can automatically transform web pages that use dynamic font schemes to Unicode.&lt;br /&gt;
&lt;br /&gt;
Padma can be customised to include a user supplied conversion. This implies that its use is not restricted to Indic texts. See [http://tidbits.co.in/content/how-write-padma-conversion-file].&lt;br /&gt;
&lt;br /&gt;
===Valid OSIS test===&lt;br /&gt;
A valid XML document one that is well-formed and conforms to the formal definition provided in a schema (or DTD). A document cannot have elements, attributes, or entities not defined in the schema. A schema can also define ''how'' entities may be nested, the possible values of attributes, etc.&lt;br /&gt;
&lt;br /&gt;
Many programs capable of schema validation exist. Most [http://en.wikipedia.org/wiki/XML_editor XML editors] ([http://xml-copy-editor.sourceforge.net/ XML Copy Editor], [http://en.wikipedia.org/wiki/Oxygen_XML_Editor Oxygen], [http://en.wikipedia.org/wiki/XMLSpy XMLSpy], [http://www.topologi.com/ Topologi], etc.) support some sort of XML schema validation.  The Windows based text editor [http://en.wikipedia.org/wiki/Notepad%2B%2B Notepad++] supports Unicode and has an '''XML Tools''' plugin which can perform syntax checking and validation.&amp;lt;ref&amp;gt;Currently, the XML validation check in Notepad++ does not accept the extended schema location syntax that includes &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;xmlns=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;, etc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====xmllint====&lt;br /&gt;
libxml2, available for Linux, Windows, &amp;amp; MacOS, includes a command-line validator called xmllint. To check that a document is valid against OSIS schema, use the following command. (You need Internet access to validate your document.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ xmllint --noout --schema http://www.bibletechnologies.net/osisCore.2.1.1.xsd myfile.osis.xml&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To install xmllint, simply install libxml2 via your distribution's standard package management system in Linux or download the Windows binary from our [http://www.crosswire.org/ftpmirror/pub/sword/utils/win32/ mirror].&lt;br /&gt;
&lt;br /&gt;
====Online XML Validators====&lt;br /&gt;
The external links section of http://en.wikipedia.org/wiki/XML_Validation lists at least three online validators. Some or all of these can validate against external XML schema.&lt;br /&gt;
&lt;br /&gt;
==Creating a SWORD Module==&lt;br /&gt;
Use [[osis2mod]] to create the module.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
*[[OSIS]] &amp;amp;ndash; a partial list of other OSIS related pages and external links.&lt;br /&gt;
&lt;br /&gt;
*[[Converting SFM Bibles to OSIS]] &amp;amp;ndash; describes how to prepare a single OSIS XML file for a Biblical text supplied as several USFM files.&lt;br /&gt;
&lt;br /&gt;
[[Category:Guides|OSIS Bibles]]&lt;br /&gt;
&lt;br /&gt;
[[Category:OSIS|OSIS Bibles]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Morphology|OSIS Bibles]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=OSIS_Bibles&amp;diff=13130</id>
		<title>OSIS Bibles</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=OSIS_Bibles&amp;diff=13130"/>
				<updated>2014-02-07T20:22:16Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* Marking the Divine Name */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==OSIS==&lt;br /&gt;
OSIS is an XML Schema definition for Bibles and other Biblical research texts, which enables ministries and other organizations to collaborate more easily.  Traditionally, these organizations have stored their documents in disparate, proprietary markups, making it difficult when they wish to share in service with each other.  OSIS provides a common markup for multiple visions.&lt;br /&gt;
&lt;br /&gt;
CrossWire is committed to supporting the OSIS initiative.  We have developed OSIS import and export tools which work with our SWORD engine, making OSIS documents available to all of our SWORD software.&lt;br /&gt;
&lt;br /&gt;
The latest OSIS Schema definition and supporting information is available at: http://www.bibletechnologies.net &amp;lt;ref&amp;gt;Link broken. See [[OSIS Tutorial#The_Root_Element|OSIS Tutorial]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This page is for practical examples of how to encode a Bible in OSIS 2.1.1 for building a SWORD module with [[osis2mod]]. It represents CrossWire's experience and best practices in creating modules.&lt;br /&gt;
&lt;br /&gt;
Every OSIS SWORD module must be created from a well-formed and valid OSIS 2.1.1 document. While it is a desirable goal for any such document to be acceptable, SWORD has some particular requirements which are discussed here.&lt;br /&gt;
&lt;br /&gt;
The schema for OSIS 2.1.1 that was formally at http://www.bibletechnologies.net/osisCore.2.1.1.xsd is preserved at http://ebible.org/osisCore.2.1.1.xsd&lt;br /&gt;
&lt;br /&gt;
The March 2006 version of the OSIS Manual may be found  [http://www.bibletechnologies.net/utilities/fmtdocview.cfm?id=28871A67-D5F5-4381-B22EC4947601628B here] (PDF).&lt;br /&gt;
&lt;br /&gt;
A good example of an OSIS document can be found at http://www.crosswire.org/~dmsmith/kjv2006.&lt;br /&gt;
&lt;br /&gt;
See also [[OSIS Book Abbreviations|OSIS Book Name Abbreviations]].&lt;br /&gt;
&lt;br /&gt;
==General structure==&lt;br /&gt;
&lt;br /&gt;
An OSIS document is a ''well-formed XML'' document, valid according to the ''OSIS schema''.&lt;br /&gt;
You can find the full normative description on the OSIS Website [http://www.bibletechnologies.net/].&amp;lt;ref&amp;gt;Link broken. See [[OSIS Tutorial#The_Root_Element|root element]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To produce a Bible, you can use this template:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;osis&lt;br /&gt;
	xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
	xmlns=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace&amp;quot;&lt;br /&gt;
	xmlns:osis=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace&amp;quot;&lt;br /&gt;
	xsi:schemaLocation=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace http://www.bibletechnologies.net/osisCore.2.1.1.xsd&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;osisText osisIDWork=&amp;quot;{NAME}&amp;quot; osisRefWork=&amp;quot;bible&amp;quot; xml:lang=&amp;quot;{LANG}&amp;quot; canonical=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;header&amp;gt;&lt;br /&gt;
			{HEADER}&lt;br /&gt;
		&amp;lt;/header&amp;gt;&lt;br /&gt;
		&amp;lt;div type=&amp;quot;bookGroup&amp;quot;&amp;gt;&lt;br /&gt;
			{BODY}&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/osisText&amp;gt;&lt;br /&gt;
&amp;lt;/osis&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With the following values:&lt;br /&gt;
; {NAME}: Normalized name of the Bible version (Usually 3 letters for language, 3 for translation)&lt;br /&gt;
; {LANG}: IETF language code-- ISO 639-1 codes are preferred, and ISO 639-3 codes are preferred when ISO 639-1 codes do not exist for the given language. See [http://www.sil.org/iso639-3/codes.asp] for a list of codes. &lt;br /&gt;
; {HEADER}: Description of the included text; see below&lt;br /&gt;
; {BODY}: Text; see below&lt;br /&gt;
&lt;br /&gt;
For text without any character outside ASCII, you can use US-ASCII encoding (usually for english text). For every other language, please use UTF-8 and NFC. See the [[OSIS Bibles#Tools|tools]] section if you need to convert.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
===Header===&lt;br /&gt;
This is the minimum contents of the header required for validation. It is also what &amp;lt;tt&amp;gt;usfm2osis.pl&amp;lt;/tt&amp;gt; produces. A valid OSIS header may include more than this.&lt;br /&gt;
 &amp;lt;header&amp;gt;  &lt;br /&gt;
   &amp;lt;work osisWork={Name}/&amp;gt;&lt;br /&gt;
 &amp;lt;/header&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Body===&lt;br /&gt;
&lt;br /&gt;
Here is the general structure of the body content:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;div type=&amp;quot;bookGroup&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;title&amp;gt;Old Testament&amp;lt;/title&amp;gt;&lt;br /&gt;
	&amp;lt;div type=&amp;quot;book&amp;quot; osisID=&amp;quot;Gen&amp;quot; canonical=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;title type=&amp;quot;main&amp;quot; short=&amp;quot;Genesis&amp;quot;&amp;gt;Genesis&amp;lt;/title&amp;gt;&lt;br /&gt;
		&amp;lt;chapter osisID=&amp;quot;Gen.1&amp;quot; n=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;verse sID=&amp;quot;Gen.1.1&amp;quot; osisID=&amp;quot;Gen.1.1&amp;quot; n=&amp;quot;1&amp;quot;/&amp;gt;In the&lt;br /&gt;
			beginning...&amp;lt;verse eID=&amp;quot;Gen.1.1&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;verse sID=&amp;quot;Gen.1.2&amp;quot; osisID=&amp;quot;Gen.1.2&amp;quot; n=&amp;quot;2&amp;quot;/&amp;gt;The earth was&lt;br /&gt;
			formless and void...&amp;lt;verse eID=&amp;quot;Gen.1.2&amp;quot;/&amp;gt;&lt;br /&gt;
			...&lt;br /&gt;
		&amp;lt;/chapter&amp;gt;&lt;br /&gt;
	&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
# The bookGroup division for the New Testament should have a similar structure.&lt;br /&gt;
# Any &amp;lt;tt&amp;gt;&amp;amp;lt;div&amp;amp;gt;&amp;lt;/tt&amp;gt; defaults canonical to false. You need to set it to true on elements representing the structure of the original text.&lt;br /&gt;
# A quirk of the SWORD compilation process is that the only kind of content which reliably displays outside of &amp;lt;verse&amp;gt; elements are titles.&lt;br /&gt;
&lt;br /&gt;
===OSIS Milestones===&lt;br /&gt;
OSIS allows for two potentially overlapping structures: Document structure (BSP) and verse structure (BCV).&lt;br /&gt;
&lt;br /&gt;
Document structure is dominated by book, sections and paragraphs (BSP), additionally with titles, quotes and poetic material. While verse structure is indicated by book, chapter and verse numbers (BCV). While a SWORD module requires verse structure, the best way to encode a module with deep markup is with document structure. [[Osis2mod]] is responsible for transforming document structure into verse structure.&lt;br /&gt;
&lt;br /&gt;
Because these two systems can overlap and because XML does not allow for overlapping elements, OSIS defines a milestone mechanism for both document and verse structure elements.&lt;br /&gt;
&lt;br /&gt;
For:&lt;br /&gt;
 &amp;amp;lt;X  ... attribute list ...&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;amp;lt;/X&amp;gt;&lt;br /&gt;
the milestoned form is:&lt;br /&gt;
 &amp;amp;lt;X sID=&amp;quot;g1&amp;quot; ... attribute list .../&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;amp;lt;X eID=&amp;quot;g1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
According to the OSIS manual, for any given element X that defines a milestoneable form, all the instances of X in the document must use one form or the other and may not use both. The value of each sID attribute must be unique within the document.&lt;br /&gt;
&lt;br /&gt;
Verse milestone sID/eID attributes can even have values that denote a verse range. This is purely for convenience to human readers.  &lt;br /&gt;
&lt;br /&gt;
It is allowable to use milestone elements for verses alone, or for both verses and chapters. The body example above is for the former.&lt;br /&gt;
&lt;br /&gt;
==== Limitations of XML validators ====&lt;br /&gt;
&lt;br /&gt;
An [[OSIS Bibles#Valid_OSIS_test|XML validator]] cannot validate whether OSIS milestones are used properly. It cannot validate:&lt;br /&gt;
* that an element is consistently either milestoned or not.&lt;br /&gt;
* that for each element with an sID that there is a paired element with an eID.&amp;lt;ref&amp;gt;osis2mod does not crash if the eID milestones are all missing, but the resulting module may appear to be void of text.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* that each paired sID/eID have the same attribute value.&lt;br /&gt;
* that different sID/eID pairs of the same element type do not overlap.&amp;lt;ref&amp;gt;If they weren't milestones, one would say they should be properly nested.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Notes about OSIS elements ====&lt;br /&gt;
* For an OSIS document to be valid it must use the non-milestoned &amp;amp;lt;div&amp;gt; and &amp;amp;lt;lg&amp;gt; elements.&lt;br /&gt;
* There is no milestoned version of the &amp;amp;lt;p&amp;gt; element. From a practical perspective, this means that the milestoned verse element should be used when paragraphs are used.&lt;br /&gt;
* The milestoned chapter element must be used when the paragraph is spanning over a chapter.&lt;br /&gt;
* The SWORD engine cannot handle sub-identifiers separated by ! in an osisID, so osis2mod strips these off from the osisIDs for verses. They are only of use for the osisIDs for notes.&lt;br /&gt;
&lt;br /&gt;
===Recommended approach===&lt;br /&gt;
* For chapters, use &amp;amp;lt;chapter&amp;gt;...&amp;amp;lt;/chapter&amp;gt; container elements (except in the rare case that other container elements cross chapter boundaries)&lt;br /&gt;
* For verses, use milestone elements (unless container elements will suffice) &amp;amp;ndash; see [[OSIS Bibles/BSPExample]].&lt;br /&gt;
* For paragraphs, use the &amp;amp;lt;p&amp;gt;...&amp;amp;lt;/p&amp;gt; container element&lt;br /&gt;
* For poetry, use container elements &amp;amp;lt;lg&amp;gt;...&amp;amp;lt;/lg&amp;gt; to indicate stanzas (or other types of line groups) and &amp;amp;lt;l&amp;gt;...&amp;amp;lt;/l&amp;gt; to indicate lines&lt;br /&gt;
* For quoted text, use the &amp;amp;lt;q&amp;gt;...&amp;amp;lt;/q&amp;gt; container element&lt;br /&gt;
* For translation changes, use the &amp;amp;lt;transChange&amp;gt;...&amp;amp;lt;/transChange&amp;gt; container element&amp;lt;ref&amp;gt;Except where the text is within a &amp;amp;lt;w&amp;gt; which is not allowed by OSIS. For these cases use the alternative &amp;amp;lt;seg subType=&amp;quot;x-added&amp;quot; type=&amp;quot;x-transChange&amp;quot;&amp;gt;...&amp;amp;lt;/seg&amp;gt; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===Marking Paragraphs===&lt;br /&gt;
There is no milestoned version of the &amp;lt;tt&amp;gt;&amp;amp;lt;p&amp;gt;&amp;lt;/tt&amp;gt; element. Typically paragraphs surround whole verses. That is, they start and end between verses. If a paragraph begins or ends in a verse and extends beyond that verse, then the whole document must use the milestoned version of &amp;lt;tt&amp;gt;&amp;amp;lt;verse&amp;gt;&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;div type=&amp;quot;book&amp;quot; osisID=&amp;quot;Gen&amp;quot; canonical=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;title type=&amp;quot;main&amp;quot;&amp;gt;LE PREMIER LIVRE DE MOÏSE dit LA GENÈSE&amp;lt;/title&amp;gt;&lt;br /&gt;
	&amp;lt;chapter osisID=&amp;quot;Gen.1&amp;quot; chapterTitle=&amp;quot;Chapitre 1&amp;quot;&amp;gt;&amp;lt;title type=&amp;quot;chapter&amp;quot;&amp;gt;Chapitre 1&amp;lt;/title&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&lt;br /&gt;
			&amp;lt;verse sID=&amp;quot;Gen.1.1&amp;quot; osisID=&amp;quot;Gen.1.1&amp;quot; n=&amp;quot;1&amp;quot;/&amp;gt;Au commencement Dieu créa les &lt;br /&gt;
			cieux et la terre.&amp;lt;verse eID=&amp;quot;Gen.1.1&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&lt;br /&gt;
			&amp;lt;verse sID=&amp;quot;Gen.1.2&amp;quot; osisID=&amp;quot;Gen.1.2&amp;quot; n=&amp;quot;2&amp;quot;/&amp;gt;Et la terre était désolation et&lt;br /&gt;
			vide, et il y avait des ténèbres sur la face de l'abîme. Et l'Esprit de Dieu&lt;br /&gt;
			planait sur la face des eaux.&amp;lt;verse eID=&amp;quot;Gen.1.2&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&lt;br /&gt;
			&amp;lt;verse sID=&amp;quot;Gen.1.3&amp;quot; osisID=&amp;quot;Gen.1.3&amp;quot; n=&amp;quot;3&amp;quot;/&amp;gt;Et Dieu dit : Que la lumière&lt;br /&gt;
			soit. Et la lumière fut.&amp;lt;verse eID=&amp;quot;Gen.1.3&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;verse sID=&amp;quot;Gen.1.4&amp;quot; osisID=&amp;quot;Gen.1.4&amp;quot; n=&amp;quot;4&amp;quot;/&amp;gt;Et Dieu vit la lumière, qu'elle&lt;br /&gt;
			était bonne ; et Dieu sépara la lumière d'avec les ténèbres.&lt;br /&gt;
			&amp;lt;verse eID=&amp;quot;Gen.1.4&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;verse sID=&amp;quot;Gen.1.5&amp;quot; osisID=&amp;quot;Gen.1.5&amp;quot; n=&amp;quot;5&amp;quot;/&amp;gt;Et Dieu appela la lumière Jour ;&lt;br /&gt;
			et les ténèbres, il les appela Nuit. Et il y eut soir, et il y eut matin : &lt;br /&gt;
			&amp;amp;amp;#8212; premier jour.&amp;lt;verse eID=&amp;quot;Gen.1.5&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;/p&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Result&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;sup&amp;gt;'''(1)'''&amp;lt;/sup&amp;gt; Au commencement Dieu créa les cieux et la terre.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;'''(2)'''&amp;lt;/sup&amp;gt; Et la terre était désolation et vide, et il y avait des ténèbres sur la face de l'abîme. Et l'Esprit de Dieu planait sur la face des eaux.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;'''(3)''' &amp;lt;/sup&amp;gt;Et Dieu dit : Que la lumière soit. Et la lumière fut. &amp;lt;sup&amp;gt;'''(4)'''&amp;lt;/sup&amp;gt; Et Dieu vit la lumière, qu'elle était bonne ; et Dieu sépara la lumière d'avec les ténèbres. &amp;lt;sup&amp;gt;'''(5)'''&amp;lt;/sup&amp;gt; Et Dieu appela la lumière Jour ; et les ténèbres, il les appela Nuit. Et il y eut soir, et il y eut matin : &amp;amp;#8212; premier jour.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: [[osis2mod]] converts a paragraph start into &amp;lt;tt&amp;gt;&amp;amp;lt;div type=&amp;quot;paragraph&amp;quot; sID=&amp;quot;genX&amp;quot;/&amp;gt;&amp;lt;/tt&amp;gt; and a paragraph end into &amp;lt;tt&amp;gt;&amp;amp;lt;div type=&amp;quot;paragraph&amp;quot; eID=&amp;quot;genX&amp;quot;/&amp;gt;&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Marking Quotations===&lt;br /&gt;
Most of the SWORD front-end applications will show a chapter at a time and some will show isolated verses. This means that all of the SWORD applications show partial quotations, such as the Sermon on the Mount which begins in Matt 5 and ends in Matt 7.&lt;br /&gt;
&lt;br /&gt;
====Default quotation marks====&lt;br /&gt;
By default, SWORD will use &amp;lt;tt&amp;gt;&amp;quot;&amp;lt;/tt&amp;gt; for quotations. The following describes various ways to influence this.&lt;br /&gt;
&lt;br /&gt;
====Indicating the nesting of a quote====&lt;br /&gt;
When a quote is contained in a quote, it is customary to set the level attribute to indicate the depth of the nesting. For example, Jeremiah 23:38 is part of a larger quote and has a back and forth dialog of nested quotes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
But if you say,&lt;br /&gt;
&amp;lt;q level=&amp;quot;2&amp;quot; sID=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
	The burden of the Lord,&lt;br /&gt;
&amp;lt;q level=&amp;quot;2&amp;quot; eID=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
thus says the Lord,&lt;br /&gt;
&amp;lt;q level=&amp;quot;2&amp;quot; sID=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
	Because you have said these words,&lt;br /&gt;
	&amp;lt;q level=&amp;quot;3&amp;quot; sID=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
		The burden of the Lord,&lt;br /&gt;
	&amp;lt;q level=&amp;quot;3&amp;quot; eID=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
	when I sent to you, saying,&lt;br /&gt;
	&amp;lt;q level=&amp;quot;3&amp;quot; sID=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
		You shall not say,&lt;br /&gt;
		&amp;lt;q level=&amp;quot;4&amp;quot; sID=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
			The burden of the Lord,&lt;br /&gt;
		&amp;lt;q level=&amp;quot;4&amp;quot; eID=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;q level=&amp;quot;3&amp;quot; eID=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
A couple of things to note about this verse. First, the level attribute is on both the sID and the eID pair, matching in value. Second, this is an example of a verse that has a quote that starts in the middle and finishes in another verse.&lt;br /&gt;
&lt;br /&gt;
In this case, SWORD will use the level to determine whether to use &amp;lt;tt&amp;gt;&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;'&amp;lt;/tt&amp;gt; for quotes. Odd levels will use &amp;lt;tt&amp;gt;&amp;quot;&amp;lt;/tt&amp;gt; and even levels will use &amp;lt;tt&amp;gt;'&amp;lt;/tt&amp;gt;. This is in accordance with American English usage, which is the opposite of British English usage. Nesting levels up to five can be found in the Bible.&amp;lt;ref&amp;gt;Jeremiah 27:1-11; 29:1-28, 30-32; 34:1-5; and Ezekiel 1-36&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Supplying alternative quotation marks====&lt;br /&gt;
The quote element has a marker attribute that can be used to control the quotation marks. SWORD applications will always use this value when rendering the quote. When the marker attribute is present but empty, it will render no quotation mark at all.&lt;br /&gt;
&lt;br /&gt;
To specify &amp;quot;curly&amp;quot; quotes you can use the following values:&lt;br /&gt;
{|border=1&lt;br /&gt;
!Description!!Char!!HTML Entity!!Unicode&lt;br /&gt;
|-align=center&lt;br /&gt;
|Opening double quote||&amp;amp;#8220;||&amp;amp;amp;#8220;||U+201C&lt;br /&gt;
|-align=center&lt;br /&gt;
|Closing double quote||&amp;amp;#8221;||&amp;amp;amp;#8221;||U+201D&lt;br /&gt;
|-align=center&lt;br /&gt;
|Opening single quote||&amp;amp;#8216;||&amp;amp;amp;#8216;||U+2018&lt;br /&gt;
|-align=center&lt;br /&gt;
|Closing single quote||&amp;amp;#8217;||&amp;amp;amp;#8217;||U+2019&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
To use different marks to start and end a quote, use the milestoned version of the quote.&lt;br /&gt;
 &amp;amp;lt;q marker=&amp;quot;&amp;amp;#8220;&amp;quot; sID=&amp;quot;qN&amp;quot;/&amp;gt; ... &amp;amp;lt;q marker=&amp;quot;&amp;amp;#8221;&amp;quot; eID=&amp;quot;qN&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is further information about English quotation marks and their usage in [http://en.wikipedia.org/wiki/Quotation_marks].&lt;br /&gt;
&lt;br /&gt;
Quotation marks have a variety of forms in different languages and in different media. See [http://en.wikipedia.org/wiki/Quotation_mark,_non-English_usage Quotation mark, non-English usage].&amp;lt;ref&amp;gt;When modules are being converted from digitized source text used in other Bible software, it may be the case that quotation marks in the text source differ from those in the original published edition, whether due to inherent constraints of the other software, or for other causes.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Continuation quotation marks====&lt;br /&gt;
The &amp;lt;tt&amp;gt;&amp;amp;lt;milestone type=&amp;quot;cQuote&amp;quot;/&amp;amp;gt;&amp;lt;/tt&amp;gt; can be used to indicate the presence of a continued quote. If the marker attribute is present, it will use that otherwise it will use a straight double quote, &amp;quot;. Since there is no level attribute on the milestone element, it is best to specify the marker attribute.&lt;br /&gt;
&lt;br /&gt;
====Marking the Words of Christ====&lt;br /&gt;
To indicate that a quote is something that Jesus said&amp;lt;ref&amp;gt;http://en.wikipedia.org/wiki/Red_letter_edition&amp;lt;/ref&amp;gt;, use the attribute &amp;lt;tt&amp;gt;who=&amp;quot;Jesus&amp;quot;&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	&amp;lt;verse osisID=&amp;quot;Luke.22.35 sID=&amp;quot;Luke.22.35&amp;quot;/&amp;gt;&lt;br /&gt;
	Then Jesus asked them, &amp;lt;q who=&amp;quot;Jesus&amp;quot; marker=&amp;quot;&amp;quot;&amp;gt;When I sent you without purse,&lt;br /&gt;
	bag or sandals, did you lack anything?&amp;lt;/q&amp;gt;&lt;br /&gt;
	&amp;lt;verse eID=&amp;quot;Luke.22.35&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Result&lt;br /&gt;
|&lt;br /&gt;
Then Jesus asked them, &amp;lt;span style=&amp;quot;color:#A00&amp;quot;&amp;gt;When I sent you without purse, bag or sandals, did you lack anything?&amp;lt;/span&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Marking poetic material===&lt;br /&gt;
Poetry is marked up with &amp;amp;lt;lg&amp;amp;gt;, line group, and &amp;amp;lt;l&amp;amp;gt;, line, elements. The line element supports indentation with the level attribute. When the level attribute is not present or it is level=&amp;quot;1&amp;quot;, this should be interpreted as the first level of the line group. When level=&amp;quot;2&amp;quot; it is indented relative to level=&amp;quot;1&amp;quot;. The same is true for each subsequent level.  &lt;br /&gt;
&lt;br /&gt;
The level attribute is used to indicate indentation. A value of 1 means no indentation, the same as not specifying a level attribute. A value of 2 means to indent one. And so forth.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;chapter osisID=&amp;quot;Exod.15&amp;quot; chapterTitle=&amp;quot;Chapitre 15&amp;quot;&amp;gt;&amp;lt;title type=&amp;quot;chapter&amp;quot;&amp;gt;Chapter 15&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;verse sID=&amp;quot;Exod.15.1&amp;quot; osisID=&amp;quot;Exod.15.1&amp;quot; n=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
      Then sang Moses and the children of Israel this song unto the LORD, and spake, saying,&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;lg&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;1&amp;quot;&amp;gt;I will sing unto the LORD, for he hath triumphed gloriously:&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;2&amp;quot;&amp;gt;the horse and his rider hath he thrown into the sea.&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;verse eID=&amp;quot;Exod.15.1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;verse sID=&amp;quot;Exod.15.2&amp;quot; osisID=&amp;quot;Exod.15.2&amp;quot; n=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;1&amp;quot;&amp;gt;The LORD is my strength and song, and he is become my salvation:&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;2&amp;quot;&amp;gt;he is my God, and I will prepare him an habitation;&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;2&amp;quot;&amp;gt;my father's God, and I will exalt him.&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;verse eID=&amp;quot;Exod.15.2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;verse sID=&amp;quot;Exod.15.3&amp;quot; osisID=&amp;quot;Exod.15.3&amp;quot; n=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;1&amp;quot;&amp;gt;The LORD is a man of war:&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;2&amp;quot;&amp;gt;the LORD is his name.&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;verse eID=&amp;quot;Exod.15.3&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;verse sID=&amp;quot;Exod.15.4&amp;quot; osisID=&amp;quot;Exod.15.4&amp;quot; n=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;1&amp;quot;&amp;gt;Pharaoh's chariots and his host hath he cast into the sea:&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;2&amp;quot;&amp;gt;his chosen captains also are drowned in the Red sea.&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;verse eID=&amp;quot;Exod.15.4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;verse sID=&amp;quot;Exod.15.5&amp;quot; osisID=&amp;quot;Exod.15.5&amp;quot; n=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;1&amp;quot;&amp;gt;The depths have covered them:&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;2&amp;quot;&amp;gt;they sank into the bottom as a stone.&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;verse eID=&amp;quot;Exod.15.5&amp;quot;/&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Result&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;sup&amp;gt;'''(1)'''&amp;lt;/sup&amp;gt; Then sang Moses and the children of Israel this song unto the LORD, and spake, saying,&lt;br /&gt;
&lt;br /&gt;
::''I will sing unto the LORD, for he hath triumphed gloriously:''&lt;br /&gt;
::::''the horse and his rider hath he thrown into the sea.''&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;sup&amp;gt;'''(2)'''&amp;lt;/sup&amp;gt; ''The LORD is my strength and song, and he is become my salvation:''&lt;br /&gt;
::::''he is my God, and I will prepare him an habitation;''&lt;br /&gt;
::::''my father's God, and I will exalt him.''&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;sup&amp;gt;'''(3)'''&amp;lt;/sup&amp;gt; ''The LORD is a man of war:''&lt;br /&gt;
::::''the LORD is his name.''&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;sup&amp;gt;'''(4)'''&amp;lt;/sup&amp;gt; ''Pharaoh's chariots and his host hath he cast into the sea:''&lt;br /&gt;
::::''his chosen captains also are drowned in the Red sea.''&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;sup&amp;gt;'''(5)'''&amp;lt;/sup&amp;gt; ''The depths have covered them:''&lt;br /&gt;
::::''they sank into the bottom as a stone.''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&lt;br /&gt;
&lt;br /&gt;
# While OSIS defines a milestoned version of the &amp;lt;tt&amp;gt;&amp;lt;lg&amp;gt;&amp;lt;/tt&amp;gt; element, its use (rather than the container version) will not produce a valid XML document. The &amp;lt;tt&amp;gt;&amp;lt;l&amp;gt;&amp;lt;/tt&amp;gt; element can only occur within an &amp;lt;tt&amp;gt;&amp;lt;lg&amp;gt;&amp;lt;/tt&amp;gt; container, so use of &amp;lt;tt&amp;gt;&amp;lt;lg/&amp;gt;&amp;lt;/tt&amp;gt; milestones prevents use of &amp;lt;tt&amp;gt;&amp;lt;l&amp;gt;&amp;lt;/tt&amp;gt; elements.&lt;br /&gt;
&lt;br /&gt;
==== Marking acrostic poetry headings ====&lt;br /&gt;
Use &amp;lt;tt&amp;gt;type=&amp;quot;acrostic&amp;quot;&amp;lt;/tt&amp;gt; as the title attribute for the stanza headings in acrostic passages such as Psalm 119.&lt;br /&gt;
&lt;br /&gt;
=== Marking lemmas &amp;amp; morphology ===&lt;br /&gt;
====Marking Strong's numbers====&lt;br /&gt;
To mark up [http://en.wikipedia.org/wiki/Strong%27s_Concordance Strong's numbers], you first need to declare a workID in the header of the OSIS document:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;header&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;work osisWork=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;refSystem&amp;gt;Dict.Strongs&amp;lt;/refSystem&amp;gt;&lt;br /&gt;
    &amp;lt;/work&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SWORD does not actually use this declaration, but it is required to have a proper OSIS document.&lt;br /&gt;
&lt;br /&gt;
And while OSIS allows arbitrary workIDs, SWORD can only handle &amp;quot;strong&amp;quot; and a few variants.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;w lemma=&amp;quot;strong:H0853 strong:H03045&amp;quot;&amp;gt;knew&amp;lt;/w&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;amp;lt;w&amp;amp;gt; element is used to surround the text that is represented by the Strong's number. It may be that the text is a phrase and it may be that more than one Strong's number defines the text.&lt;br /&gt;
&lt;br /&gt;
When more than one Strong's number defines the text, each must be prefixed with a workID and must be separated from each other by a space. (While OSIS allows for the defining of default workIDs, SWORD requires that the workIDs be used.)&lt;br /&gt;
&lt;br /&gt;
The actual Strong's Number should indicate whether it is Hebrew (H) or Greek (G) followed by the number. The number can be 0 padded to 5 digits as in H00001.&lt;br /&gt;
&lt;br /&gt;
====Marking morphology====&lt;br /&gt;
In a similar manner to marking with Strong's numbers, morphology can also be noted. Since morphology regards the original language, Strong's numbers will be shown at the same time.&lt;br /&gt;
&lt;br /&gt;
As with Strong's numbers, a workID needs to be defined. Here we are defining one for Robinson's Morphology Codes. And while SWORD will ignore this declaration, &amp;quot;robinson&amp;quot; is hard-coded into SWORD for Greek morphology codes.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;header&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;work osisWork=&amp;quot;robinson&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;refSystem&amp;gt;Dict.Robinson&amp;lt;/refSystem&amp;gt;&lt;br /&gt;
    &amp;lt;/work&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example markup of Robinson's Morphology Codes in the KJV module:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;w lemma=&amp;quot;strong:G3588 strong:G80&amp;quot; morph=&amp;quot;robinson:T-APM robinson:N-APM&amp;quot; src=&amp;quot;7 8&amp;quot;&amp;gt;his brethren&amp;lt;/w&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In this example, lemma, morph and src form parallel arrays. The first strong: mapping to the first robinson: and the first src value.&lt;br /&gt;
&lt;br /&gt;
The workID should be name of a current, future, or potential lexicon module in which the morphology code could be looked up. For example, morph=&amp;quot;packard:D&amp;quot; represents a reference to morphology code &amp;quot;D&amp;quot; in a module named Packard, whether or not a Packard module has been created or released. (Currently, SWORD offers lexicon modules named Robinson and Packard, both for Greek morphology.)&lt;br /&gt;
&lt;br /&gt;
The src attribute is used here to indicate the word position in the original Greek.&lt;br /&gt;
&lt;br /&gt;
====Marking other lemmas====&lt;br /&gt;
The lemma attribute of the &amp;lt;tt&amp;gt;&amp;amp;lt;w&amp;amp;gt;&amp;lt;/tt&amp;gt; element can contain any number of other lemmas. Like Strong's numbers and morphology codes, these need to have a workID declared in the header. SWORD presumes that these lemma workIDs all start with &amp;quot;lemma.&amp;quot; (note the final period). The portion of the workID following &amp;quot;lemma.&amp;quot; should be name of a current, future, or potential lexicon module in which the lemma could be looked up. For example, lemma=&amp;quot;lemma.TWOT:271&amp;quot; represents a reference to lemma #271 in a module named TWOT (i.e the Theological Workbook of the Old Testament), whether or not a TWOT module has been created or released. As far as SWORD is concerned, there can be any number of these space-delimited values in a lemma attribute and they can be in any order, even interspersed among the &amp;quot;strong:&amp;quot; lemmas. &lt;br /&gt;
&lt;br /&gt;
SWORD has the ability to show or hide non-Strong's lemmas as a group. See [[DevTools:conf Files#Elements_required_for_proper_rendering|GlobalOptionFilter=OSISLemma]] &amp;amp;ndash; for OSIS texts having lemmas.&lt;br /&gt;
&lt;br /&gt;
==== Marking glosses ====&lt;br /&gt;
Gloss markup uses the &amp;lt;tt&amp;gt;gloss&amp;lt;/tt&amp;gt; attribute of the &amp;lt;tt&amp;gt;&amp;lt;w&amp;gt;&amp;lt;/tt&amp;gt; element. The syntax is illustrated by this line exported from the module JapMeiji.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;w gloss=&amp;quot;はじめ&amp;quot;&amp;gt;元始&amp;lt;/w&amp;gt;に&amp;lt;w gloss=&amp;quot;かみ&amp;quot;&amp;gt;神&amp;lt;/w&amp;gt;&amp;lt;w gloss=&amp;quot;てんち&amp;quot;&amp;gt;天地&amp;lt;/w&amp;gt;を&amp;lt;w gloss=&amp;quot;つくり&amp;quot;&amp;gt;創造&amp;lt;/w&amp;gt;たまへり&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Display of glosses can be toggled (in [[Choosing a SWORD program#Module_Support|compatible front-ends]]) by having this line in the [[DevTools:conf Files#Elements_required_for_proper_rendering|.conf file]]:&lt;br /&gt;
 GlobalOptionFilter=OSISGlosses&lt;br /&gt;
&lt;br /&gt;
===Marking the Divine Name===&lt;br /&gt;
The &amp;lt;tt&amp;gt;&amp;amp;lt;divineName&amp;amp;gt;&amp;lt;/tt&amp;gt; tag is reserved for representations of the tetragrammaton יהוה (YHWH). These occur in the Old Testament as &amp;lt;span style=&amp;quot;font-variant: small-caps;&amp;quot;&amp;gt;Lord&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;font-variant: small-caps;&amp;quot;&amp;gt;God&amp;lt;/span&amp;gt; and &amp;lt;span style=&amp;quot;font-variant: small-caps;&amp;quot;&amp;gt;Yah&amp;lt;/span&amp;gt;. Not every instance of Lord or God is a translation of this.&lt;br /&gt;
&lt;br /&gt;
The content of the divineName element is the word Lord, God or Yah, not in all upper case (i.e. not LORD, GOD, or YAH). SWORD will either convert it to small-caps or uppercase.&lt;br /&gt;
&lt;br /&gt;
Note, if it is the use is possessive it is permissible to have the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;divineName&amp;gt;Lord's&amp;lt;/divineName&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, it is inadvisable to include any other punctuation within the tag pair. Thus the following is '''not''' good practice (the quotation mark should ''precede'' the start tag):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;divineName&amp;gt;“God &amp;lt;/divineName&amp;gt; .....”&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When also marking with Strong's numbers you will need to do it one of two ways:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;divineName&amp;gt;&amp;lt;w lemma=&amp;quot;strong:H3068&amp;quot;&amp;gt;Lord's&amp;lt;/w&amp;gt;&amp;lt;divineName&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
   &amp;lt;w lemma=&amp;quot;strong:H3068&amp;quot;&amp;gt;of the &amp;lt;seg&amp;gt;&amp;lt;divineName&amp;gt;Lord&amp;lt;/divineName&amp;gt;&amp;lt;/seg&amp;gt;&amp;lt;/w&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The latter form uses a workaround to allow the embedding of &amp;lt;tt&amp;gt;&amp;amp;lt;divineName&amp;amp;gt;&amp;lt;/tt&amp;gt; in a &amp;lt;tt&amp;gt;&amp;amp;lt;w&amp;amp;gt;&amp;lt;/tt&amp;gt;, since OSIS does not allow for this, but does allow for &amp;lt;tt&amp;gt;&amp;amp;lt;seg&amp;amp;gt;&amp;lt;/tt&amp;gt; to be in a &amp;lt;tt&amp;gt;&amp;amp;lt;w&amp;amp;gt;&amp;lt;/tt&amp;gt; and to contain &amp;lt;tt&amp;gt;&amp;amp;lt;divineName&amp;amp;gt;&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Marking sections and titles===&lt;br /&gt;
A section is marked with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;div type=&amp;quot;section&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In OSIS the &amp;lt;tt&amp;gt;&amp;amp;lt;title&amp;amp;gt;&amp;lt;/tt&amp;gt; element is used to provide general headings. Titles should be placed at the top of the container that they title, not before.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;div type=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;title&amp;gt;A book title&amp;lt;/title&amp;gt;&lt;br /&gt;
   &amp;lt;chapter&amp;gt;&lt;br /&gt;
       &amp;lt;title type=&amp;quot;chapter&amp;quot;&amp;gt;A title chapter&amp;lt;/title&amp;gt;&lt;br /&gt;
       &amp;lt;div type=&amp;quot;section&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;title&amp;gt;A section title&amp;lt;/title&amp;gt;&lt;br /&gt;
            ...&lt;br /&gt;
       &amp;lt;/div&amp;gt;&lt;br /&gt;
       ...&lt;br /&gt;
      &amp;lt;/chapter&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Using &amp;lt;tt&amp;gt;type=&amp;quot;chapter&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;type=&amp;quot;main&amp;quot;&amp;lt;/tt&amp;gt; is needed by [[osis2mod]] to distinguish chapter titles from verse titles. When SWORD stores an OSIS document it does so as an index of verses. It has special indexes for book and chapter titles. SWORD does not store the &amp;lt;tt&amp;gt;&amp;amp;lt;verse&amp;gt;&amp;lt;/tt&amp;gt; tags. So when it comes to storing a title in the following verse, [[osis2mod]] generates special markup to indicate that the title stands before the verse. SWORD uses this to place the verse number.&lt;br /&gt;
&lt;br /&gt;
Note: The &amp;lt;tt&amp;gt;&amp;amp;lt;head&amp;amp;gt;&amp;lt;/tt&amp;gt; element is used to provide headings for tables, lists and cast groups. There are errors in the OSIS 2.1.1 manual that use the &amp;lt;tt&amp;gt;&amp;amp;lt;head&amp;amp;gt;&amp;lt;/tt&amp;gt; incorrectly.&lt;br /&gt;
&lt;br /&gt;
==== Marking pre-verse titles ====&lt;br /&gt;
There is no special markup for pre-verse titles. Osis2mod will determine what titles belong to the book, the chapter and otherwise if the above advice is followed.&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
# See also [[OSIS pre-verse titles]].&lt;br /&gt;
&lt;br /&gt;
===Marking notes===&lt;br /&gt;
NB. The examples in this section include the use of sub-identifiers in osisIDs for notes.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	&amp;lt;verse sID=&amp;quot;Gen.1.1&amp;quot; osisID=&amp;quot;Gen.1.1&amp;quot; n=&amp;quot;1&amp;quot;/&amp;gt;Au commencement &lt;br /&gt;
	Dieu&amp;lt;note osisRef=&amp;quot;Gen.1.1&amp;quot; osisID=&amp;quot;Gen.1.1!1&amp;quot; n=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;hi type=&amp;quot;italic&amp;quot;&amp;gt;en hébreu&amp;lt;/hi&amp;gt; : Élohim,&lt;br /&gt;
	(&amp;lt;hi type=&amp;quot;italic&amp;quot;&amp;gt;pluriel d&amp;lt;/hi&amp;gt;'Éloah, le Dieu suprême), la Déité, &amp;lt;hi type=&amp;quot;italic&amp;quot;&amp;gt;dans&lt;br /&gt;
	le sens absolu&amp;lt;/hi&amp;gt;.&amp;lt;/note&amp;gt; créa les cieux et la terre.&amp;lt;verse eID=&amp;quot;Gen.1.1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;verse sID=&amp;quot;Gen.1.2&amp;quot; osisID=&amp;quot;Gen.1.2&amp;quot; n=&amp;quot;2&amp;quot;/&amp;gt;Et la terre était désolation et &lt;br /&gt;
	vide&amp;lt;note osisRef=&amp;quot;Gen.1.2&amp;quot; osisID=&amp;quot;Gen.1.2!1&amp;quot; n=&amp;quot;2&amp;quot;&amp;gt;le vide.&amp;lt;/note&amp;gt;, et il y avait des ténèbres&lt;br /&gt;
	sur la face de l'abîme. Et l'Esprit de Dieu planait sur la face des eaux.&amp;lt;verse eID=&amp;quot;Gen.1.2&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Result&lt;br /&gt;
|&lt;br /&gt;
# Au commencement Dieu¹ créa les cieux et la terre.&lt;br /&gt;
# Et la terre était désolation et vide², et il y avait des ténèbres sur la face de l'abîme. Et l'Esprit de Dieu planait sur la face des eaux.&lt;br /&gt;
&lt;br /&gt;
*¹ ''en hébreu'': Élohim, (''pluriel d'''Éloah, le Dieu suprême), la Déité, ''dans le sens absolu''.&lt;br /&gt;
*² le vide.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The note should be attached to what it refers to, either after (as is the case here) or before. There should no additional space surrounding the note, but only what is in the text.&lt;br /&gt;
&lt;br /&gt;
These notes can have any type other than crossReference.&lt;br /&gt;
&lt;br /&gt;
====Marking cross-references notes====&lt;br /&gt;
SWORD provides the ability for a user to show or hide cross-references. To achieve this you embed one or more &amp;lt;tt&amp;gt;&amp;amp;lt;reference&amp;amp;gt;&amp;lt;/tt&amp;gt; elements in a &amp;lt;tt&amp;gt;&amp;amp;lt;note type=&amp;quot;crossReference&amp;quot;&amp;amp;gt;...&amp;amp;lt;/note&amp;amp;gt;&amp;lt;/tt&amp;gt;. If this is not done, then the cross-references will always show inline in the text.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;note type=&amp;quot;crossReference&amp;quot; n=&amp;quot;t&amp;quot; osisID=&amp;quot;Jer.24.7!crossReference.t&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;reference osisRef=&amp;quot;Jer.32.39&amp;quot;&amp;gt;ch. 32:39&amp;lt;/reference&amp;gt;; &lt;br /&gt;
  &amp;lt;reference osisRef=&amp;quot;Deut.30.6&amp;quot;&amp;gt;Deut. 30:6&amp;lt;/reference&amp;gt;; &lt;br /&gt;
  &amp;lt;reference osisRef=&amp;quot;Ezek.11.19&amp;quot;&amp;gt;Ezek. 11:19&amp;lt;/reference&amp;gt;; &lt;br /&gt;
  &amp;lt;reference osisRef=&amp;quot;Ezek.36.26-Ezek.36.27&amp;quot;&amp;gt;36:26, 27&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/note&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is a breakdown.&lt;br /&gt;
&lt;br /&gt;
Regarding the &amp;lt;tt&amp;gt;&amp;amp;lt;note&amp;amp;gt;&amp;lt;/tt&amp;gt; element:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;tt&amp;gt;type=&amp;quot;crossReference&amp;quot;&amp;lt;/tt&amp;gt; is one of the predefined OSIS note types. SWORD looks for this value to show/hide cross-references.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;tt&amp;gt;n=&amp;quot;t&amp;quot;&amp;lt;/tt&amp;gt; provides the author's desired footnote marker for the note. A couple of SWORD applications use this, but most manufacture their own marker.&lt;br /&gt;
&lt;br /&gt;
:The given osisID is based upon the location of the note. In order to not conflict with the verse's osisID and to construct a unique id, the ! (extension mark, ''aka'' sub-identifier) syntax is used. This is further qualified by the note's type and n value, separated by a dot.&lt;br /&gt;
&lt;br /&gt;
:This note pertains to a single verse and it is given in osisRef.&lt;br /&gt;
&lt;br /&gt;
Regarding the &amp;lt;tt&amp;gt;&amp;amp;lt;reference&amp;amp;gt;&amp;lt;/tt&amp;gt; elements:&lt;br /&gt;
&lt;br /&gt;
:The &amp;lt;tt&amp;gt;&amp;amp;lt;reference&amp;amp;gt;&amp;lt;/tt&amp;gt; element is replaced by SWORD with a link to the reference with the text of the element being shown as link text.&lt;br /&gt;
&lt;br /&gt;
:While the osisRef can point to multiple verses, most SWORD applications cannot handle a link that goes to more than one verse or a contiguous range of verses.&lt;br /&gt;
&lt;br /&gt;
:Here we see that each reference is separated by punctuation (the semicolon at the end of each line).&lt;br /&gt;
&lt;br /&gt;
===Marking variants===&lt;br /&gt;
SWORD recognizes the element &amp;lt;seg&amp;gt; with type=&amp;quot;x-variant&amp;quot; as marking variants present in different versions of a text. The attribute subType should be added, with a value of &amp;quot;x-1&amp;quot; or &amp;quot;x-2&amp;quot; to indicate whether the reading is the primary or secondary variant. At present, SWORD supports only 2 different readings per text. The method is illustrated below:&lt;br /&gt;
 The text of the Bible &amp;lt;seg type=&amp;quot;x-variant&amp;quot; subType=&amp;quot;x-1&amp;quot;&amp;gt;may &amp;lt;/seg&amp;gt;&amp;lt;seg type=&amp;quot;x-variant&amp;quot; subType=&amp;quot;x-2&amp;quot;&amp;gt;can &amp;lt;/seg&amp;gt;contain variant readings.&lt;br /&gt;
This illustrates a primary reading &amp;quot;may &amp;quot; and a secondary reading &amp;quot;can &amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Filter ====&lt;br /&gt;
Variant readings in OSIS modules may be switched by the SWORD engine when the module conf file includes:&lt;br /&gt;
 GlobalOptionFilter=OSISVariants&lt;br /&gt;
'''Note:'''&lt;br /&gt;
# This feature requires the front-end to have been compiled with SWORD version 1.7 or later.&lt;br /&gt;
&lt;br /&gt;
==== Examples ====&lt;br /&gt;
* The TR module contains 246 locations where two such variants are marked.&lt;br /&gt;
* The WHNU module contains 1473 locations where two variants are marked.&lt;br /&gt;
&lt;br /&gt;
==== SWORD implementation ====&lt;br /&gt;
The SWORD API provides for these three choices:&lt;br /&gt;
 [Primary Reading|Secondary Reading|All Readings]&lt;br /&gt;
Example: In Xiphos version 3.1.6, the module context menu provides these three options for any module that has variants.&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
===Charset conversion===&lt;br /&gt;
&lt;br /&gt;
====Padma====&lt;br /&gt;
&lt;br /&gt;
[http://padma.mozdev.org/ Padma] is a system for transforming Indic text between various public and proprietary formats. This extension applies the technology to Mozilla based applications. Padma is available as an extension for Firefox, Thunderbird, Netscape, Mozilla suite and SeaMonkey platforms. Padma can automatically transform web pages that use dynamic font schemes to Unicode.&lt;br /&gt;
&lt;br /&gt;
Padma can be customised to include a user supplied conversion. This implies that its use is not restricted to Indic texts. See [http://tidbits.co.in/content/how-write-padma-conversion-file].&lt;br /&gt;
&lt;br /&gt;
===Valid OSIS test===&lt;br /&gt;
A valid XML document one that is well-formed and conforms to the formal definition provided in a schema (or DTD). A document cannot have elements, attributes, or entities not defined in the schema. A schema can also define ''how'' entities may be nested, the possible values of attributes, etc.&lt;br /&gt;
&lt;br /&gt;
Many programs capable of schema validation exist. Most [http://en.wikipedia.org/wiki/XML_editor XML editors] ([http://xml-copy-editor.sourceforge.net/ XML Copy Editor], [http://en.wikipedia.org/wiki/Oxygen_XML_Editor Oxygen], [http://en.wikipedia.org/wiki/XMLSpy XMLSpy], [http://www.topologi.com/ Topologi], etc.) support some sort of XML schema validation.  The Windows based text editor [http://en.wikipedia.org/wiki/Notepad%2B%2B Notepad++] supports Unicode and has an '''XML Tools''' plugin which can perform syntax checking and validation.&amp;lt;ref&amp;gt;Currently, the XML validation check in Notepad++ does not accept the extended schema location syntax that includes &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;xmlns=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;, etc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====xmllint====&lt;br /&gt;
libxml2, available for Linux, Windows, &amp;amp; MacOS, includes a command-line validator called xmllint. To check that a document is valid against OSIS schema, use the following command. (You need Internet access to validate your document.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ xmllint --noout --schema http://www.bibletechnologies.net/osisCore.2.1.1.xsd myfile.osis.xml&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To install xmllint, simply install libxml2 via your distribution's standard package management system in Linux or download the Windows binary from our [http://www.crosswire.org/ftpmirror/pub/sword/utils/win32/ mirror].&lt;br /&gt;
&lt;br /&gt;
====Online XML Validators====&lt;br /&gt;
The external links section of http://en.wikipedia.org/wiki/XML_Validation lists at least three online validators. Some or all of these can validate against external XML schema.&lt;br /&gt;
&lt;br /&gt;
==Creating a SWORD Module==&lt;br /&gt;
Use [[osis2mod]] to create the module.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
*[[OSIS]] &amp;amp;ndash; a partial list of other OSIS related pages and external links.&lt;br /&gt;
&lt;br /&gt;
*[[Converting SFM Bibles to OSIS]] &amp;amp;ndash; describes how to prepare a single OSIS XML file for a Biblical text supplied as several USFM files.&lt;br /&gt;
&lt;br /&gt;
[[Category:Guides|OSIS Bibles]]&lt;br /&gt;
&lt;br /&gt;
[[Category:OSIS|OSIS Bibles]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Morphology|OSIS Bibles]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	<entry>
		<id>https://wiki.crosswire.org/index.php?title=OSIS_Bibles&amp;diff=13129</id>
		<title>OSIS Bibles</title>
		<link rel="alternate" type="text/html" href="https://wiki.crosswire.org/index.php?title=OSIS_Bibles&amp;diff=13129"/>
				<updated>2014-02-07T20:16:13Z</updated>
		
		<summary type="html">&lt;p&gt;Osk: /* Marking ruby glosses */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==OSIS==&lt;br /&gt;
OSIS is an XML Schema definition for Bibles and other Biblical research texts, which enables ministries and other organizations to collaborate more easily.  Traditionally, these organizations have stored their documents in disparate, proprietary markups, making it difficult when they wish to share in service with each other.  OSIS provides a common markup for multiple visions.&lt;br /&gt;
&lt;br /&gt;
CrossWire is committed to supporting the OSIS initiative.  We have developed OSIS import and export tools which work with our SWORD engine, making OSIS documents available to all of our SWORD software.&lt;br /&gt;
&lt;br /&gt;
The latest OSIS Schema definition and supporting information is available at: http://www.bibletechnologies.net &amp;lt;ref&amp;gt;Link broken. See [[OSIS Tutorial#The_Root_Element|OSIS Tutorial]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This page is for practical examples of how to encode a Bible in OSIS 2.1.1 for building a SWORD module with [[osis2mod]]. It represents CrossWire's experience and best practices in creating modules.&lt;br /&gt;
&lt;br /&gt;
Every OSIS SWORD module must be created from a well-formed and valid OSIS 2.1.1 document. While it is a desirable goal for any such document to be acceptable, SWORD has some particular requirements which are discussed here.&lt;br /&gt;
&lt;br /&gt;
The schema for OSIS 2.1.1 that was formally at http://www.bibletechnologies.net/osisCore.2.1.1.xsd is preserved at http://ebible.org/osisCore.2.1.1.xsd&lt;br /&gt;
&lt;br /&gt;
The March 2006 version of the OSIS Manual may be found  [http://www.bibletechnologies.net/utilities/fmtdocview.cfm?id=28871A67-D5F5-4381-B22EC4947601628B here] (PDF).&lt;br /&gt;
&lt;br /&gt;
A good example of an OSIS document can be found at http://www.crosswire.org/~dmsmith/kjv2006.&lt;br /&gt;
&lt;br /&gt;
See also [[OSIS Book Abbreviations|OSIS Book Name Abbreviations]].&lt;br /&gt;
&lt;br /&gt;
==General structure==&lt;br /&gt;
&lt;br /&gt;
An OSIS document is a ''well-formed XML'' document, valid according to the ''OSIS schema''.&lt;br /&gt;
You can find the full normative description on the OSIS Website [http://www.bibletechnologies.net/].&amp;lt;ref&amp;gt;Link broken. See [[OSIS Tutorial#The_Root_Element|root element]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To produce a Bible, you can use this template:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;osis&lt;br /&gt;
	xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
	xmlns=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace&amp;quot;&lt;br /&gt;
	xmlns:osis=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace&amp;quot;&lt;br /&gt;
	xsi:schemaLocation=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace http://www.bibletechnologies.net/osisCore.2.1.1.xsd&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;osisText osisIDWork=&amp;quot;{NAME}&amp;quot; osisRefWork=&amp;quot;bible&amp;quot; xml:lang=&amp;quot;{LANG}&amp;quot; canonical=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;header&amp;gt;&lt;br /&gt;
			{HEADER}&lt;br /&gt;
		&amp;lt;/header&amp;gt;&lt;br /&gt;
		&amp;lt;div type=&amp;quot;bookGroup&amp;quot;&amp;gt;&lt;br /&gt;
			{BODY}&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/osisText&amp;gt;&lt;br /&gt;
&amp;lt;/osis&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With the following values:&lt;br /&gt;
; {NAME}: Normalized name of the Bible version (Usually 3 letters for language, 3 for translation)&lt;br /&gt;
; {LANG}: IETF language code-- ISO 639-1 codes are preferred, and ISO 639-3 codes are preferred when ISO 639-1 codes do not exist for the given language. See [http://www.sil.org/iso639-3/codes.asp] for a list of codes. &lt;br /&gt;
; {HEADER}: Description of the included text; see below&lt;br /&gt;
; {BODY}: Text; see below&lt;br /&gt;
&lt;br /&gt;
For text without any character outside ASCII, you can use US-ASCII encoding (usually for english text). For every other language, please use UTF-8 and NFC. See the [[OSIS Bibles#Tools|tools]] section if you need to convert.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
===Header===&lt;br /&gt;
This is the minimum contents of the header required for validation. It is also what &amp;lt;tt&amp;gt;usfm2osis.pl&amp;lt;/tt&amp;gt; produces. A valid OSIS header may include more than this.&lt;br /&gt;
 &amp;lt;header&amp;gt;  &lt;br /&gt;
   &amp;lt;work osisWork={Name}/&amp;gt;&lt;br /&gt;
 &amp;lt;/header&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Body===&lt;br /&gt;
&lt;br /&gt;
Here is the general structure of the body content:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;div type=&amp;quot;bookGroup&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;title&amp;gt;Old Testament&amp;lt;/title&amp;gt;&lt;br /&gt;
	&amp;lt;div type=&amp;quot;book&amp;quot; osisID=&amp;quot;Gen&amp;quot; canonical=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;title type=&amp;quot;main&amp;quot; short=&amp;quot;Genesis&amp;quot;&amp;gt;Genesis&amp;lt;/title&amp;gt;&lt;br /&gt;
		&amp;lt;chapter osisID=&amp;quot;Gen.1&amp;quot; n=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;verse sID=&amp;quot;Gen.1.1&amp;quot; osisID=&amp;quot;Gen.1.1&amp;quot; n=&amp;quot;1&amp;quot;/&amp;gt;In the&lt;br /&gt;
			beginning...&amp;lt;verse eID=&amp;quot;Gen.1.1&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;verse sID=&amp;quot;Gen.1.2&amp;quot; osisID=&amp;quot;Gen.1.2&amp;quot; n=&amp;quot;2&amp;quot;/&amp;gt;The earth was&lt;br /&gt;
			formless and void...&amp;lt;verse eID=&amp;quot;Gen.1.2&amp;quot;/&amp;gt;&lt;br /&gt;
			...&lt;br /&gt;
		&amp;lt;/chapter&amp;gt;&lt;br /&gt;
	&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
# The bookGroup division for the New Testament should have a similar structure.&lt;br /&gt;
# Any &amp;lt;tt&amp;gt;&amp;amp;lt;div&amp;amp;gt;&amp;lt;/tt&amp;gt; defaults canonical to false. You need to set it to true on elements representing the structure of the original text.&lt;br /&gt;
# A quirk of the SWORD compilation process is that the only kind of content which reliably displays outside of &amp;lt;verse&amp;gt; elements are titles.&lt;br /&gt;
&lt;br /&gt;
===OSIS Milestones===&lt;br /&gt;
OSIS allows for two potentially overlapping structures: Document structure (BSP) and verse structure (BCV).&lt;br /&gt;
&lt;br /&gt;
Document structure is dominated by book, sections and paragraphs (BSP), additionally with titles, quotes and poetic material. While verse structure is indicated by book, chapter and verse numbers (BCV). While a SWORD module requires verse structure, the best way to encode a module with deep markup is with document structure. [[Osis2mod]] is responsible for transforming document structure into verse structure.&lt;br /&gt;
&lt;br /&gt;
Because these two systems can overlap and because XML does not allow for overlapping elements, OSIS defines a milestone mechanism for both document and verse structure elements.&lt;br /&gt;
&lt;br /&gt;
For:&lt;br /&gt;
 &amp;amp;lt;X  ... attribute list ...&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;amp;lt;/X&amp;gt;&lt;br /&gt;
the milestoned form is:&lt;br /&gt;
 &amp;amp;lt;X sID=&amp;quot;g1&amp;quot; ... attribute list .../&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;amp;lt;X eID=&amp;quot;g1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
According to the OSIS manual, for any given element X that defines a milestoneable form, all the instances of X in the document must use one form or the other and may not use both. The value of each sID attribute must be unique within the document.&lt;br /&gt;
&lt;br /&gt;
Verse milestone sID/eID attributes can even have values that denote a verse range. This is purely for convenience to human readers.  &lt;br /&gt;
&lt;br /&gt;
It is allowable to use milestone elements for verses alone, or for both verses and chapters. The body example above is for the former.&lt;br /&gt;
&lt;br /&gt;
==== Limitations of XML validators ====&lt;br /&gt;
&lt;br /&gt;
An [[OSIS Bibles#Valid_OSIS_test|XML validator]] cannot validate whether OSIS milestones are used properly. It cannot validate:&lt;br /&gt;
* that an element is consistently either milestoned or not.&lt;br /&gt;
* that for each element with an sID that there is a paired element with an eID.&amp;lt;ref&amp;gt;osis2mod does not crash if the eID milestones are all missing, but the resulting module may appear to be void of text.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* that each paired sID/eID have the same attribute value.&lt;br /&gt;
* that different sID/eID pairs of the same element type do not overlap.&amp;lt;ref&amp;gt;If they weren't milestones, one would say they should be properly nested.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Notes about OSIS elements ====&lt;br /&gt;
* For an OSIS document to be valid it must use the non-milestoned &amp;amp;lt;div&amp;gt; and &amp;amp;lt;lg&amp;gt; elements.&lt;br /&gt;
* There is no milestoned version of the &amp;amp;lt;p&amp;gt; element. From a practical perspective, this means that the milestoned verse element should be used when paragraphs are used.&lt;br /&gt;
* The milestoned chapter element must be used when the paragraph is spanning over a chapter.&lt;br /&gt;
* The SWORD engine cannot handle sub-identifiers separated by ! in an osisID, so osis2mod strips these off from the osisIDs for verses. They are only of use for the osisIDs for notes.&lt;br /&gt;
&lt;br /&gt;
===Recommended approach===&lt;br /&gt;
* For chapters, use &amp;amp;lt;chapter&amp;gt;...&amp;amp;lt;/chapter&amp;gt; container elements (except in the rare case that other container elements cross chapter boundaries)&lt;br /&gt;
* For verses, use milestone elements (unless container elements will suffice) &amp;amp;ndash; see [[OSIS Bibles/BSPExample]].&lt;br /&gt;
* For paragraphs, use the &amp;amp;lt;p&amp;gt;...&amp;amp;lt;/p&amp;gt; container element&lt;br /&gt;
* For poetry, use container elements &amp;amp;lt;lg&amp;gt;...&amp;amp;lt;/lg&amp;gt; to indicate stanzas (or other types of line groups) and &amp;amp;lt;l&amp;gt;...&amp;amp;lt;/l&amp;gt; to indicate lines&lt;br /&gt;
* For quoted text, use the &amp;amp;lt;q&amp;gt;...&amp;amp;lt;/q&amp;gt; container element&lt;br /&gt;
* For translation changes, use the &amp;amp;lt;transChange&amp;gt;...&amp;amp;lt;/transChange&amp;gt; container element&amp;lt;ref&amp;gt;Except where the text is within a &amp;amp;lt;w&amp;gt; which is not allowed by OSIS. For these cases use the alternative &amp;amp;lt;seg subType=&amp;quot;x-added&amp;quot; type=&amp;quot;x-transChange&amp;quot;&amp;gt;...&amp;amp;lt;/seg&amp;gt; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===Marking Paragraphs===&lt;br /&gt;
There is no milestoned version of the &amp;lt;tt&amp;gt;&amp;amp;lt;p&amp;gt;&amp;lt;/tt&amp;gt; element. Typically paragraphs surround whole verses. That is, they start and end between verses. If a paragraph begins or ends in a verse and extends beyond that verse, then the whole document must use the milestoned version of &amp;lt;tt&amp;gt;&amp;amp;lt;verse&amp;gt;&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;div type=&amp;quot;book&amp;quot; osisID=&amp;quot;Gen&amp;quot; canonical=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;title type=&amp;quot;main&amp;quot;&amp;gt;LE PREMIER LIVRE DE MOÏSE dit LA GENÈSE&amp;lt;/title&amp;gt;&lt;br /&gt;
	&amp;lt;chapter osisID=&amp;quot;Gen.1&amp;quot; chapterTitle=&amp;quot;Chapitre 1&amp;quot;&amp;gt;&amp;lt;title type=&amp;quot;chapter&amp;quot;&amp;gt;Chapitre 1&amp;lt;/title&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&lt;br /&gt;
			&amp;lt;verse sID=&amp;quot;Gen.1.1&amp;quot; osisID=&amp;quot;Gen.1.1&amp;quot; n=&amp;quot;1&amp;quot;/&amp;gt;Au commencement Dieu créa les &lt;br /&gt;
			cieux et la terre.&amp;lt;verse eID=&amp;quot;Gen.1.1&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&lt;br /&gt;
			&amp;lt;verse sID=&amp;quot;Gen.1.2&amp;quot; osisID=&amp;quot;Gen.1.2&amp;quot; n=&amp;quot;2&amp;quot;/&amp;gt;Et la terre était désolation et&lt;br /&gt;
			vide, et il y avait des ténèbres sur la face de l'abîme. Et l'Esprit de Dieu&lt;br /&gt;
			planait sur la face des eaux.&amp;lt;verse eID=&amp;quot;Gen.1.2&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&lt;br /&gt;
			&amp;lt;verse sID=&amp;quot;Gen.1.3&amp;quot; osisID=&amp;quot;Gen.1.3&amp;quot; n=&amp;quot;3&amp;quot;/&amp;gt;Et Dieu dit : Que la lumière&lt;br /&gt;
			soit. Et la lumière fut.&amp;lt;verse eID=&amp;quot;Gen.1.3&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;verse sID=&amp;quot;Gen.1.4&amp;quot; osisID=&amp;quot;Gen.1.4&amp;quot; n=&amp;quot;4&amp;quot;/&amp;gt;Et Dieu vit la lumière, qu'elle&lt;br /&gt;
			était bonne ; et Dieu sépara la lumière d'avec les ténèbres.&lt;br /&gt;
			&amp;lt;verse eID=&amp;quot;Gen.1.4&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;verse sID=&amp;quot;Gen.1.5&amp;quot; osisID=&amp;quot;Gen.1.5&amp;quot; n=&amp;quot;5&amp;quot;/&amp;gt;Et Dieu appela la lumière Jour ;&lt;br /&gt;
			et les ténèbres, il les appela Nuit. Et il y eut soir, et il y eut matin : &lt;br /&gt;
			&amp;amp;amp;#8212; premier jour.&amp;lt;verse eID=&amp;quot;Gen.1.5&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;/p&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Result&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;sup&amp;gt;'''(1)'''&amp;lt;/sup&amp;gt; Au commencement Dieu créa les cieux et la terre.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;'''(2)'''&amp;lt;/sup&amp;gt; Et la terre était désolation et vide, et il y avait des ténèbres sur la face de l'abîme. Et l'Esprit de Dieu planait sur la face des eaux.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;'''(3)''' &amp;lt;/sup&amp;gt;Et Dieu dit : Que la lumière soit. Et la lumière fut. &amp;lt;sup&amp;gt;'''(4)'''&amp;lt;/sup&amp;gt; Et Dieu vit la lumière, qu'elle était bonne ; et Dieu sépara la lumière d'avec les ténèbres. &amp;lt;sup&amp;gt;'''(5)'''&amp;lt;/sup&amp;gt; Et Dieu appela la lumière Jour ; et les ténèbres, il les appela Nuit. Et il y eut soir, et il y eut matin : &amp;amp;#8212; premier jour.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: [[osis2mod]] converts a paragraph start into &amp;lt;tt&amp;gt;&amp;amp;lt;div type=&amp;quot;paragraph&amp;quot; sID=&amp;quot;genX&amp;quot;/&amp;gt;&amp;lt;/tt&amp;gt; and a paragraph end into &amp;lt;tt&amp;gt;&amp;amp;lt;div type=&amp;quot;paragraph&amp;quot; eID=&amp;quot;genX&amp;quot;/&amp;gt;&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Marking Quotations===&lt;br /&gt;
Most of the SWORD front-end applications will show a chapter at a time and some will show isolated verses. This means that all of the SWORD applications show partial quotations, such as the Sermon on the Mount which begins in Matt 5 and ends in Matt 7.&lt;br /&gt;
&lt;br /&gt;
====Default quotation marks====&lt;br /&gt;
By default, SWORD will use &amp;lt;tt&amp;gt;&amp;quot;&amp;lt;/tt&amp;gt; for quotations. The following describes various ways to influence this.&lt;br /&gt;
&lt;br /&gt;
====Indicating the nesting of a quote====&lt;br /&gt;
When a quote is contained in a quote, it is customary to set the level attribute to indicate the depth of the nesting. For example, Jeremiah 23:38 is part of a larger quote and has a back and forth dialog of nested quotes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
But if you say,&lt;br /&gt;
&amp;lt;q level=&amp;quot;2&amp;quot; sID=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
	The burden of the Lord,&lt;br /&gt;
&amp;lt;q level=&amp;quot;2&amp;quot; eID=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
thus says the Lord,&lt;br /&gt;
&amp;lt;q level=&amp;quot;2&amp;quot; sID=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
	Because you have said these words,&lt;br /&gt;
	&amp;lt;q level=&amp;quot;3&amp;quot; sID=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
		The burden of the Lord,&lt;br /&gt;
	&amp;lt;q level=&amp;quot;3&amp;quot; eID=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
	when I sent to you, saying,&lt;br /&gt;
	&amp;lt;q level=&amp;quot;3&amp;quot; sID=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
		You shall not say,&lt;br /&gt;
		&amp;lt;q level=&amp;quot;4&amp;quot; sID=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
			The burden of the Lord,&lt;br /&gt;
		&amp;lt;q level=&amp;quot;4&amp;quot; eID=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;q level=&amp;quot;3&amp;quot; eID=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
A couple of things to note about this verse. First, the level attribute is on both the sID and the eID pair, matching in value. Second, this is an example of a verse that has a quote that starts in the middle and finishes in another verse.&lt;br /&gt;
&lt;br /&gt;
In this case, SWORD will use the level to determine whether to use &amp;lt;tt&amp;gt;&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;'&amp;lt;/tt&amp;gt; for quotes. Odd levels will use &amp;lt;tt&amp;gt;&amp;quot;&amp;lt;/tt&amp;gt; and even levels will use &amp;lt;tt&amp;gt;'&amp;lt;/tt&amp;gt;. This is in accordance with American English usage, which is the opposite of British English usage. Nesting levels up to five can be found in the Bible.&amp;lt;ref&amp;gt;Jeremiah 27:1-11; 29:1-28, 30-32; 34:1-5; and Ezekiel 1-36&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Supplying alternative quotation marks====&lt;br /&gt;
The quote element has a marker attribute that can be used to control the quotation marks. SWORD applications will always use this value when rendering the quote. When the marker attribute is present but empty, it will render no quotation mark at all.&lt;br /&gt;
&lt;br /&gt;
To specify &amp;quot;curly&amp;quot; quotes you can use the following values:&lt;br /&gt;
{|border=1&lt;br /&gt;
!Description!!Char!!HTML Entity!!Unicode&lt;br /&gt;
|-align=center&lt;br /&gt;
|Opening double quote||&amp;amp;#8220;||&amp;amp;amp;#8220;||U+201C&lt;br /&gt;
|-align=center&lt;br /&gt;
|Closing double quote||&amp;amp;#8221;||&amp;amp;amp;#8221;||U+201D&lt;br /&gt;
|-align=center&lt;br /&gt;
|Opening single quote||&amp;amp;#8216;||&amp;amp;amp;#8216;||U+2018&lt;br /&gt;
|-align=center&lt;br /&gt;
|Closing single quote||&amp;amp;#8217;||&amp;amp;amp;#8217;||U+2019&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
To use different marks to start and end a quote, use the milestoned version of the quote.&lt;br /&gt;
 &amp;amp;lt;q marker=&amp;quot;&amp;amp;#8220;&amp;quot; sID=&amp;quot;qN&amp;quot;/&amp;gt; ... &amp;amp;lt;q marker=&amp;quot;&amp;amp;#8221;&amp;quot; eID=&amp;quot;qN&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is further information about English quotation marks and their usage in [http://en.wikipedia.org/wiki/Quotation_marks].&lt;br /&gt;
&lt;br /&gt;
Quotation marks have a variety of forms in different languages and in different media. See [http://en.wikipedia.org/wiki/Quotation_mark,_non-English_usage Quotation mark, non-English usage].&amp;lt;ref&amp;gt;When modules are being converted from digitized source text used in other Bible software, it may be the case that quotation marks in the text source differ from those in the original published edition, whether due to inherent constraints of the other software, or for other causes.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Continuation quotation marks====&lt;br /&gt;
The &amp;lt;tt&amp;gt;&amp;amp;lt;milestone type=&amp;quot;cQuote&amp;quot;/&amp;amp;gt;&amp;lt;/tt&amp;gt; can be used to indicate the presence of a continued quote. If the marker attribute is present, it will use that otherwise it will use a straight double quote, &amp;quot;. Since there is no level attribute on the milestone element, it is best to specify the marker attribute.&lt;br /&gt;
&lt;br /&gt;
====Marking the Words of Christ====&lt;br /&gt;
To indicate that a quote is something that Jesus said&amp;lt;ref&amp;gt;http://en.wikipedia.org/wiki/Red_letter_edition&amp;lt;/ref&amp;gt;, use the attribute &amp;lt;tt&amp;gt;who=&amp;quot;Jesus&amp;quot;&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	&amp;lt;verse osisID=&amp;quot;Luke.22.35 sID=&amp;quot;Luke.22.35&amp;quot;/&amp;gt;&lt;br /&gt;
	Then Jesus asked them, &amp;lt;q who=&amp;quot;Jesus&amp;quot; marker=&amp;quot;&amp;quot;&amp;gt;When I sent you without purse,&lt;br /&gt;
	bag or sandals, did you lack anything?&amp;lt;/q&amp;gt;&lt;br /&gt;
	&amp;lt;verse eID=&amp;quot;Luke.22.35&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Result&lt;br /&gt;
|&lt;br /&gt;
Then Jesus asked them, &amp;lt;span style=&amp;quot;color:#A00&amp;quot;&amp;gt;When I sent you without purse, bag or sandals, did you lack anything?&amp;lt;/span&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Marking poetic material===&lt;br /&gt;
Poetry is marked up with &amp;amp;lt;lg&amp;amp;gt;, line group, and &amp;amp;lt;l&amp;amp;gt;, line, elements. The line element supports indentation with the level attribute. When the level attribute is not present or it is level=&amp;quot;1&amp;quot;, this should be interpreted as the first level of the line group. When level=&amp;quot;2&amp;quot; it is indented relative to level=&amp;quot;1&amp;quot;. The same is true for each subsequent level.  &lt;br /&gt;
&lt;br /&gt;
The level attribute is used to indicate indentation. A value of 1 means no indentation, the same as not specifying a level attribute. A value of 2 means to indent one. And so forth.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;chapter osisID=&amp;quot;Exod.15&amp;quot; chapterTitle=&amp;quot;Chapitre 15&amp;quot;&amp;gt;&amp;lt;title type=&amp;quot;chapter&amp;quot;&amp;gt;Chapter 15&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;verse sID=&amp;quot;Exod.15.1&amp;quot; osisID=&amp;quot;Exod.15.1&amp;quot; n=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
      Then sang Moses and the children of Israel this song unto the LORD, and spake, saying,&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;lg&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;1&amp;quot;&amp;gt;I will sing unto the LORD, for he hath triumphed gloriously:&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;2&amp;quot;&amp;gt;the horse and his rider hath he thrown into the sea.&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;verse eID=&amp;quot;Exod.15.1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;verse sID=&amp;quot;Exod.15.2&amp;quot; osisID=&amp;quot;Exod.15.2&amp;quot; n=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;1&amp;quot;&amp;gt;The LORD is my strength and song, and he is become my salvation:&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;2&amp;quot;&amp;gt;he is my God, and I will prepare him an habitation;&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;2&amp;quot;&amp;gt;my father's God, and I will exalt him.&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;verse eID=&amp;quot;Exod.15.2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;verse sID=&amp;quot;Exod.15.3&amp;quot; osisID=&amp;quot;Exod.15.3&amp;quot; n=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;1&amp;quot;&amp;gt;The LORD is a man of war:&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;2&amp;quot;&amp;gt;the LORD is his name.&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;verse eID=&amp;quot;Exod.15.3&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;verse sID=&amp;quot;Exod.15.4&amp;quot; osisID=&amp;quot;Exod.15.4&amp;quot; n=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;1&amp;quot;&amp;gt;Pharaoh's chariots and his host hath he cast into the sea:&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;2&amp;quot;&amp;gt;his chosen captains also are drowned in the Red sea.&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;verse eID=&amp;quot;Exod.15.4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;verse sID=&amp;quot;Exod.15.5&amp;quot; osisID=&amp;quot;Exod.15.5&amp;quot; n=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;1&amp;quot;&amp;gt;The depths have covered them:&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;l level=&amp;quot;2&amp;quot;&amp;gt;they sank into the bottom as a stone.&amp;lt;/l&amp;gt;&lt;br /&gt;
      &amp;lt;verse eID=&amp;quot;Exod.15.5&amp;quot;/&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Result&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;sup&amp;gt;'''(1)'''&amp;lt;/sup&amp;gt; Then sang Moses and the children of Israel this song unto the LORD, and spake, saying,&lt;br /&gt;
&lt;br /&gt;
::''I will sing unto the LORD, for he hath triumphed gloriously:''&lt;br /&gt;
::::''the horse and his rider hath he thrown into the sea.''&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;sup&amp;gt;'''(2)'''&amp;lt;/sup&amp;gt; ''The LORD is my strength and song, and he is become my salvation:''&lt;br /&gt;
::::''he is my God, and I will prepare him an habitation;''&lt;br /&gt;
::::''my father's God, and I will exalt him.''&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;sup&amp;gt;'''(3)'''&amp;lt;/sup&amp;gt; ''The LORD is a man of war:''&lt;br /&gt;
::::''the LORD is his name.''&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;sup&amp;gt;'''(4)'''&amp;lt;/sup&amp;gt; ''Pharaoh's chariots and his host hath he cast into the sea:''&lt;br /&gt;
::::''his chosen captains also are drowned in the Red sea.''&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;sup&amp;gt;'''(5)'''&amp;lt;/sup&amp;gt; ''The depths have covered them:''&lt;br /&gt;
::::''they sank into the bottom as a stone.''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&lt;br /&gt;
&lt;br /&gt;
# While OSIS defines a milestoned version of the &amp;lt;tt&amp;gt;&amp;lt;lg&amp;gt;&amp;lt;/tt&amp;gt; element, its use (rather than the container version) will not produce a valid XML document. The &amp;lt;tt&amp;gt;&amp;lt;l&amp;gt;&amp;lt;/tt&amp;gt; element can only occur within an &amp;lt;tt&amp;gt;&amp;lt;lg&amp;gt;&amp;lt;/tt&amp;gt; container, so use of &amp;lt;tt&amp;gt;&amp;lt;lg/&amp;gt;&amp;lt;/tt&amp;gt; milestones prevents use of &amp;lt;tt&amp;gt;&amp;lt;l&amp;gt;&amp;lt;/tt&amp;gt; elements.&lt;br /&gt;
&lt;br /&gt;
==== Marking acrostic poetry headings ====&lt;br /&gt;
Use &amp;lt;tt&amp;gt;type=&amp;quot;acrostic&amp;quot;&amp;lt;/tt&amp;gt; as the title attribute for the stanza headings in acrostic passages such as Psalm 119.&lt;br /&gt;
&lt;br /&gt;
=== Marking lemmas &amp;amp; morphology ===&lt;br /&gt;
====Marking Strong's numbers====&lt;br /&gt;
To mark up [http://en.wikipedia.org/wiki/Strong%27s_Concordance Strong's numbers], you first need to declare a workID in the header of the OSIS document:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;header&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;work osisWork=&amp;quot;strong&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;refSystem&amp;gt;Dict.Strongs&amp;lt;/refSystem&amp;gt;&lt;br /&gt;
    &amp;lt;/work&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SWORD does not actually use this declaration, but it is required to have a proper OSIS document.&lt;br /&gt;
&lt;br /&gt;
And while OSIS allows arbitrary workIDs, SWORD can only handle &amp;quot;strong&amp;quot; and a few variants.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;w lemma=&amp;quot;strong:H0853 strong:H03045&amp;quot;&amp;gt;knew&amp;lt;/w&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;amp;lt;w&amp;amp;gt; element is used to surround the text that is represented by the Strong's number. It may be that the text is a phrase and it may be that more than one Strong's number defines the text.&lt;br /&gt;
&lt;br /&gt;
When more than one Strong's number defines the text, each must be prefixed with a workID and must be separated from each other by a space. (While OSIS allows for the defining of default workIDs, SWORD requires that the workIDs be used.)&lt;br /&gt;
&lt;br /&gt;
The actual Strong's Number should indicate whether it is Hebrew (H) or Greek (G) followed by the number. The number can be 0 padded to 5 digits as in H00001.&lt;br /&gt;
&lt;br /&gt;
====Marking morphology====&lt;br /&gt;
In a similar manner to marking with Strong's numbers, morphology can also be noted. Since morphology regards the original language, Strong's numbers will be shown at the same time.&lt;br /&gt;
&lt;br /&gt;
As with Strong's numbers, a workID needs to be defined. Here we are defining one for Robinson's Morphology Codes. And while SWORD will ignore this declaration, &amp;quot;robinson&amp;quot; is hard-coded into SWORD for Greek morphology codes.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;header&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;work osisWork=&amp;quot;robinson&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;refSystem&amp;gt;Dict.Robinson&amp;lt;/refSystem&amp;gt;&lt;br /&gt;
    &amp;lt;/work&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/header&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example markup of Robinson's Morphology Codes in the KJV module:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;w lemma=&amp;quot;strong:G3588 strong:G80&amp;quot; morph=&amp;quot;robinson:T-APM robinson:N-APM&amp;quot; src=&amp;quot;7 8&amp;quot;&amp;gt;his brethren&amp;lt;/w&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In this example, lemma, morph and src form parallel arrays. The first strong: mapping to the first robinson: and the first src value.&lt;br /&gt;
&lt;br /&gt;
The workID should be name of a current, future, or potential lexicon module in which the morphology code could be looked up. For example, morph=&amp;quot;packard:D&amp;quot; represents a reference to morphology code &amp;quot;D&amp;quot; in a module named Packard, whether or not a Packard module has been created or released. (Currently, SWORD offers lexicon modules named Robinson and Packard, both for Greek morphology.)&lt;br /&gt;
&lt;br /&gt;
The src attribute is used here to indicate the word position in the original Greek.&lt;br /&gt;
&lt;br /&gt;
====Marking other lemmas====&lt;br /&gt;
The lemma attribute of the &amp;lt;tt&amp;gt;&amp;amp;lt;w&amp;amp;gt;&amp;lt;/tt&amp;gt; element can contain any number of other lemmas. Like Strong's numbers and morphology codes, these need to have a workID declared in the header. SWORD presumes that these lemma workIDs all start with &amp;quot;lemma.&amp;quot; (note the final period). The portion of the workID following &amp;quot;lemma.&amp;quot; should be name of a current, future, or potential lexicon module in which the lemma could be looked up. For example, lemma=&amp;quot;lemma.TWOT:271&amp;quot; represents a reference to lemma #271 in a module named TWOT (i.e the Theological Workbook of the Old Testament), whether or not a TWOT module has been created or released. As far as SWORD is concerned, there can be any number of these space-delimited values in a lemma attribute and they can be in any order, even interspersed among the &amp;quot;strong:&amp;quot; lemmas. &lt;br /&gt;
&lt;br /&gt;
SWORD has the ability to show or hide non-Strong's lemmas as a group. See [[DevTools:conf Files#Elements_required_for_proper_rendering|GlobalOptionFilter=OSISLemma]] &amp;amp;ndash; for OSIS texts having lemmas.&lt;br /&gt;
&lt;br /&gt;
==== Marking glosses ====&lt;br /&gt;
Gloss markup uses the &amp;lt;tt&amp;gt;gloss&amp;lt;/tt&amp;gt; attribute of the &amp;lt;tt&amp;gt;&amp;lt;w&amp;gt;&amp;lt;/tt&amp;gt; element. The syntax is illustrated by this line exported from the module JapMeiji.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;w gloss=&amp;quot;はじめ&amp;quot;&amp;gt;元始&amp;lt;/w&amp;gt;に&amp;lt;w gloss=&amp;quot;かみ&amp;quot;&amp;gt;神&amp;lt;/w&amp;gt;&amp;lt;w gloss=&amp;quot;てんち&amp;quot;&amp;gt;天地&amp;lt;/w&amp;gt;を&amp;lt;w gloss=&amp;quot;つくり&amp;quot;&amp;gt;創造&amp;lt;/w&amp;gt;たまへり&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Display of glosses can be toggled (in [[Choosing a SWORD program#Module_Support|compatible front-ends]]) by having this line in the [[DevTools:conf Files#Elements_required_for_proper_rendering|.conf file]]:&lt;br /&gt;
 GlobalOptionFilter=OSISGlosses&lt;br /&gt;
&lt;br /&gt;
===Marking the Divine Name===&lt;br /&gt;
The &amp;lt;tt&amp;gt;&amp;amp;lt;divineName&amp;amp;gt;&amp;lt;/tt&amp;gt; tag is reserved for translations of YHWH. These occur in the Old Testament as Lord, God and Yah. Not every instance of Lord or God is a translation of this.&lt;br /&gt;
&lt;br /&gt;
The content of the divineName element is the word Lord, God or Yah, not in all upper case (i.e. not LORD, GOD, or YAH). SWORD will either convert it to small-caps or uppercase.&lt;br /&gt;
&lt;br /&gt;
Note, if it is the use is possessive it is permissible to have the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;divineName&amp;gt;Lord's&amp;lt;/divineName&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, it is inadvisable to include any other punctuation within the tag pair. Thus the following is '''not''' good practice (the quotation mark should ''precede'' the start tag):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;divineName&amp;gt;“God &amp;lt;/divineName&amp;gt; .....”&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When also marking with Strong's numbers you will need to do it one of two ways:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;divineName&amp;gt;&amp;lt;w lemma=&amp;quot;strong:H3068&amp;quot;&amp;gt;Lord's&amp;lt;/w&amp;gt;&amp;lt;divineName&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
   &amp;lt;w lemma=&amp;quot;strong:H3068&amp;quot;&amp;gt;of the &amp;lt;seg&amp;gt;&amp;lt;divineName&amp;gt;Lord&amp;lt;/divineName&amp;gt;&amp;lt;/seg&amp;gt;&amp;lt;/w&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The latter form uses a [http://en.wikipedia.org/wiki/Hack_%28computer_science%29#In_computer_science hack] to allow the embedding of &amp;lt;tt&amp;gt;&amp;amp;lt;divineName&amp;amp;gt;&amp;lt;/tt&amp;gt; in a &amp;lt;tt&amp;gt;&amp;amp;lt;w&amp;amp;gt;&amp;lt;/tt&amp;gt;, since OSIS does not allow for this, but does allow for &amp;lt;tt&amp;gt;&amp;amp;lt;seg&amp;amp;gt;&amp;lt;/tt&amp;gt; to be in a &amp;lt;tt&amp;gt;&amp;amp;lt;w&amp;amp;gt;&amp;lt;/tt&amp;gt; and to contain &amp;lt;tt&amp;gt;&amp;amp;lt;divineName&amp;amp;gt;&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Marking sections and titles===&lt;br /&gt;
A section is marked with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;div type=&amp;quot;section&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In OSIS the &amp;lt;tt&amp;gt;&amp;amp;lt;title&amp;amp;gt;&amp;lt;/tt&amp;gt; element is used to provide general headings. Titles should be placed at the top of the container that they title, not before.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;div type=&amp;quot;book&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;title&amp;gt;A book title&amp;lt;/title&amp;gt;&lt;br /&gt;
   &amp;lt;chapter&amp;gt;&lt;br /&gt;
       &amp;lt;title type=&amp;quot;chapter&amp;quot;&amp;gt;A title chapter&amp;lt;/title&amp;gt;&lt;br /&gt;
       &amp;lt;div type=&amp;quot;section&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;title&amp;gt;A section title&amp;lt;/title&amp;gt;&lt;br /&gt;
            ...&lt;br /&gt;
       &amp;lt;/div&amp;gt;&lt;br /&gt;
       ...&lt;br /&gt;
      &amp;lt;/chapter&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Using &amp;lt;tt&amp;gt;type=&amp;quot;chapter&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;type=&amp;quot;main&amp;quot;&amp;lt;/tt&amp;gt; is needed by [[osis2mod]] to distinguish chapter titles from verse titles. When SWORD stores an OSIS document it does so as an index of verses. It has special indexes for book and chapter titles. SWORD does not store the &amp;lt;tt&amp;gt;&amp;amp;lt;verse&amp;gt;&amp;lt;/tt&amp;gt; tags. So when it comes to storing a title in the following verse, [[osis2mod]] generates special markup to indicate that the title stands before the verse. SWORD uses this to place the verse number.&lt;br /&gt;
&lt;br /&gt;
Note: The &amp;lt;tt&amp;gt;&amp;amp;lt;head&amp;amp;gt;&amp;lt;/tt&amp;gt; element is used to provide headings for tables, lists and cast groups. There are errors in the OSIS 2.1.1 manual that use the &amp;lt;tt&amp;gt;&amp;amp;lt;head&amp;amp;gt;&amp;lt;/tt&amp;gt; incorrectly.&lt;br /&gt;
&lt;br /&gt;
==== Marking pre-verse titles ====&lt;br /&gt;
There is no special markup for pre-verse titles. Osis2mod will determine what titles belong to the book, the chapter and otherwise if the above advice is followed.&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
# See also [[OSIS pre-verse titles]].&lt;br /&gt;
&lt;br /&gt;
===Marking notes===&lt;br /&gt;
NB. The examples in this section include the use of sub-identifiers in osisIDs for notes.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	&amp;lt;verse sID=&amp;quot;Gen.1.1&amp;quot; osisID=&amp;quot;Gen.1.1&amp;quot; n=&amp;quot;1&amp;quot;/&amp;gt;Au commencement &lt;br /&gt;
	Dieu&amp;lt;note osisRef=&amp;quot;Gen.1.1&amp;quot; osisID=&amp;quot;Gen.1.1!1&amp;quot; n=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;hi type=&amp;quot;italic&amp;quot;&amp;gt;en hébreu&amp;lt;/hi&amp;gt; : Élohim,&lt;br /&gt;
	(&amp;lt;hi type=&amp;quot;italic&amp;quot;&amp;gt;pluriel d&amp;lt;/hi&amp;gt;'Éloah, le Dieu suprême), la Déité, &amp;lt;hi type=&amp;quot;italic&amp;quot;&amp;gt;dans&lt;br /&gt;
	le sens absolu&amp;lt;/hi&amp;gt;.&amp;lt;/note&amp;gt; créa les cieux et la terre.&amp;lt;verse eID=&amp;quot;Gen.1.1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;verse sID=&amp;quot;Gen.1.2&amp;quot; osisID=&amp;quot;Gen.1.2&amp;quot; n=&amp;quot;2&amp;quot;/&amp;gt;Et la terre était désolation et &lt;br /&gt;
	vide&amp;lt;note osisRef=&amp;quot;Gen.1.2&amp;quot; osisID=&amp;quot;Gen.1.2!1&amp;quot; n=&amp;quot;2&amp;quot;&amp;gt;le vide.&amp;lt;/note&amp;gt;, et il y avait des ténèbres&lt;br /&gt;
	sur la face de l'abîme. Et l'Esprit de Dieu planait sur la face des eaux.&amp;lt;verse eID=&amp;quot;Gen.1.2&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Result&lt;br /&gt;
|&lt;br /&gt;
# Au commencement Dieu¹ créa les cieux et la terre.&lt;br /&gt;
# Et la terre était désolation et vide², et il y avait des ténèbres sur la face de l'abîme. Et l'Esprit de Dieu planait sur la face des eaux.&lt;br /&gt;
&lt;br /&gt;
*¹ ''en hébreu'': Élohim, (''pluriel d'''Éloah, le Dieu suprême), la Déité, ''dans le sens absolu''.&lt;br /&gt;
*² le vide.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The note should be attached to what it refers to, either after (as is the case here) or before. There should no additional space surrounding the note, but only what is in the text.&lt;br /&gt;
&lt;br /&gt;
These notes can have any type other than crossReference.&lt;br /&gt;
&lt;br /&gt;
====Marking cross-references notes====&lt;br /&gt;
SWORD provides the ability for a user to show or hide cross-references. To achieve this you embed one or more &amp;lt;tt&amp;gt;&amp;amp;lt;reference&amp;amp;gt;&amp;lt;/tt&amp;gt; elements in a &amp;lt;tt&amp;gt;&amp;amp;lt;note type=&amp;quot;crossReference&amp;quot;&amp;amp;gt;...&amp;amp;lt;/note&amp;amp;gt;&amp;lt;/tt&amp;gt;. If this is not done, then the cross-references will always show inline in the text.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;note type=&amp;quot;crossReference&amp;quot; n=&amp;quot;t&amp;quot; osisID=&amp;quot;Jer.24.7!crossReference.t&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;reference osisRef=&amp;quot;Jer.32.39&amp;quot;&amp;gt;ch. 32:39&amp;lt;/reference&amp;gt;; &lt;br /&gt;
  &amp;lt;reference osisRef=&amp;quot;Deut.30.6&amp;quot;&amp;gt;Deut. 30:6&amp;lt;/reference&amp;gt;; &lt;br /&gt;
  &amp;lt;reference osisRef=&amp;quot;Ezek.11.19&amp;quot;&amp;gt;Ezek. 11:19&amp;lt;/reference&amp;gt;; &lt;br /&gt;
  &amp;lt;reference osisRef=&amp;quot;Ezek.36.26-Ezek.36.27&amp;quot;&amp;gt;36:26, 27&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/note&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is a breakdown.&lt;br /&gt;
&lt;br /&gt;
Regarding the &amp;lt;tt&amp;gt;&amp;amp;lt;note&amp;amp;gt;&amp;lt;/tt&amp;gt; element:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;tt&amp;gt;type=&amp;quot;crossReference&amp;quot;&amp;lt;/tt&amp;gt; is one of the predefined OSIS note types. SWORD looks for this value to show/hide cross-references.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;tt&amp;gt;n=&amp;quot;t&amp;quot;&amp;lt;/tt&amp;gt; provides the author's desired footnote marker for the note. A couple of SWORD applications use this, but most manufacture their own marker.&lt;br /&gt;
&lt;br /&gt;
:The given osisID is based upon the location of the note. In order to not conflict with the verse's osisID and to construct a unique id, the ! (extension mark, ''aka'' sub-identifier) syntax is used. This is further qualified by the note's type and n value, separated by a dot.&lt;br /&gt;
&lt;br /&gt;
:This note pertains to a single verse and it is given in osisRef.&lt;br /&gt;
&lt;br /&gt;
Regarding the &amp;lt;tt&amp;gt;&amp;amp;lt;reference&amp;amp;gt;&amp;lt;/tt&amp;gt; elements:&lt;br /&gt;
&lt;br /&gt;
:The &amp;lt;tt&amp;gt;&amp;amp;lt;reference&amp;amp;gt;&amp;lt;/tt&amp;gt; element is replaced by SWORD with a link to the reference with the text of the element being shown as link text.&lt;br /&gt;
&lt;br /&gt;
:While the osisRef can point to multiple verses, most SWORD applications cannot handle a link that goes to more than one verse or a contiguous range of verses.&lt;br /&gt;
&lt;br /&gt;
:Here we see that each reference is separated by punctuation (the semicolon at the end of each line).&lt;br /&gt;
&lt;br /&gt;
===Marking variants===&lt;br /&gt;
SWORD recognizes the element &amp;lt;seg&amp;gt; with type=&amp;quot;x-variant&amp;quot; as marking variants present in different versions of a text. The attribute subType should be added, with a value of &amp;quot;x-1&amp;quot; or &amp;quot;x-2&amp;quot; to indicate whether the reading is the primary or secondary variant. At present, SWORD supports only 2 different readings per text. The method is illustrated below:&lt;br /&gt;
 The text of the Bible &amp;lt;seg type=&amp;quot;x-variant&amp;quot; subType=&amp;quot;x-1&amp;quot;&amp;gt;may &amp;lt;/seg&amp;gt;&amp;lt;seg type=&amp;quot;x-variant&amp;quot; subType=&amp;quot;x-2&amp;quot;&amp;gt;can &amp;lt;/seg&amp;gt;contain variant readings.&lt;br /&gt;
This illustrates a primary reading &amp;quot;may &amp;quot; and a secondary reading &amp;quot;can &amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Filter ====&lt;br /&gt;
Variant readings in OSIS modules may be switched by the SWORD engine when the module conf file includes:&lt;br /&gt;
 GlobalOptionFilter=OSISVariants&lt;br /&gt;
'''Note:'''&lt;br /&gt;
# This feature requires the front-end to have been compiled with SWORD version 1.7 or later.&lt;br /&gt;
&lt;br /&gt;
==== Examples ====&lt;br /&gt;
* The TR module contains 246 locations where two such variants are marked.&lt;br /&gt;
* The WHNU module contains 1473 locations where two variants are marked.&lt;br /&gt;
&lt;br /&gt;
==== SWORD implementation ====&lt;br /&gt;
The SWORD API provides for these three choices:&lt;br /&gt;
 [Primary Reading|Secondary Reading|All Readings]&lt;br /&gt;
Example: In Xiphos version 3.1.6, the module context menu provides these three options for any module that has variants.&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
===Charset conversion===&lt;br /&gt;
&lt;br /&gt;
====Padma====&lt;br /&gt;
&lt;br /&gt;
[http://padma.mozdev.org/ Padma] is a system for transforming Indic text between various public and proprietary formats. This extension applies the technology to Mozilla based applications. Padma is available as an extension for Firefox, Thunderbird, Netscape, Mozilla suite and SeaMonkey platforms. Padma can automatically transform web pages that use dynamic font schemes to Unicode.&lt;br /&gt;
&lt;br /&gt;
Padma can be customised to include a user supplied conversion. This implies that its use is not restricted to Indic texts. See [http://tidbits.co.in/content/how-write-padma-conversion-file].&lt;br /&gt;
&lt;br /&gt;
===Valid OSIS test===&lt;br /&gt;
A valid XML document one that is well-formed and conforms to the formal definition provided in a schema (or DTD). A document cannot have elements, attributes, or entities not defined in the schema. A schema can also define ''how'' entities may be nested, the possible values of attributes, etc.&lt;br /&gt;
&lt;br /&gt;
Many programs capable of schema validation exist. Most [http://en.wikipedia.org/wiki/XML_editor XML editors] ([http://xml-copy-editor.sourceforge.net/ XML Copy Editor], [http://en.wikipedia.org/wiki/Oxygen_XML_Editor Oxygen], [http://en.wikipedia.org/wiki/XMLSpy XMLSpy], [http://www.topologi.com/ Topologi], etc.) support some sort of XML schema validation.  The Windows based text editor [http://en.wikipedia.org/wiki/Notepad%2B%2B Notepad++] supports Unicode and has an '''XML Tools''' plugin which can perform syntax checking and validation.&amp;lt;ref&amp;gt;Currently, the XML validation check in Notepad++ does not accept the extended schema location syntax that includes &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;xmlns=&amp;quot;http://www.bibletechnologies.net/2003/OSIS/namespace&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;, etc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====xmllint====&lt;br /&gt;
libxml2, available for Linux, Windows, &amp;amp; MacOS, includes a command-line validator called xmllint. To check that a document is valid against OSIS schema, use the following command. (You need Internet access to validate your document.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ xmllint --noout --schema http://www.bibletechnologies.net/osisCore.2.1.1.xsd myfile.osis.xml&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To install xmllint, simply install libxml2 via your distribution's standard package management system in Linux or download the Windows binary from our [http://www.crosswire.org/ftpmirror/pub/sword/utils/win32/ mirror].&lt;br /&gt;
&lt;br /&gt;
====Online XML Validators====&lt;br /&gt;
The external links section of http://en.wikipedia.org/wiki/XML_Validation lists at least three online validators. Some or all of these can validate against external XML schema.&lt;br /&gt;
&lt;br /&gt;
==Creating a SWORD Module==&lt;br /&gt;
Use [[osis2mod]] to create the module.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
*[[OSIS]] &amp;amp;ndash; a partial list of other OSIS related pages and external links.&lt;br /&gt;
&lt;br /&gt;
*[[Converting SFM Bibles to OSIS]] &amp;amp;ndash; describes how to prepare a single OSIS XML file for a Biblical text supplied as several USFM files.&lt;br /&gt;
&lt;br /&gt;
[[Category:Guides|OSIS Bibles]]&lt;br /&gt;
&lt;br /&gt;
[[Category:OSIS|OSIS Bibles]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Morphology|OSIS Bibles]]&lt;/div&gt;</summary>
		<author><name>Osk</name></author>	</entry>

	</feed>