OSIS Genbooks

From CrossWire Bible Society
Revision as of 07:20, 28 November 2008 by Osk (Talk | contribs) (Example OSIS Genbook)

Jump to: navigation, search

Introduction

Much of what follows applies to any OSIS file, but there are a few features unique to genbooks (mainly in structure). This document aims to provide a complete, though not exhaustive, account of how to encode an OSIS genbook to become a SWORD module.

Keep in mind that, as with any XML document, elements are arranged hierarchically. The root node ends with the </osis> element, so the rest of the document occurs within that container. Within that is the Work node. Within that is the Header and then the Body of the text, which are parallel to each other. For a complete OSIS XML file, see Example OSIS Genbook below.

Root Node

The root node for a Genbook is the same as any other OSIS document.

<?xml version="1.0" encoding="UTF-8"?>

<osis xsi:schemaLocation="http://www.bibletechnologies.net/2003/OSIS/namespace 
      http://www.bibletechnologies.net/osisCore.2.1.1.xsd" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      xmlns="http://www.bibletechnologies.net/2003/OSIS/namespace">


</osis>

Work Container

The Work container for a Genbook is the same as any other OSIS document except the reference system (osisRefWork) is simply "book".

<osisText osisRefWork="book" xml:lang="en" osisIDWork="WorkID">

</osisText>

Header

The Header should contain work elements for the current work and any other works to which this document links. In this example, the Bible is linked through Scripture references, and the KJV default reference scheme is used. More detailed information can be added, but the following is sufficient for a simple book with one author.

<header>

<work osisWork="WorkID">
<title>OSISGenbook</title>
<creator role="aut">Author's Name</creator>
</work>

<work osisWork="Bible">
<refSystem>Bible</refSystem>
</work>

</header>

Body

A <body> element is not used in OSIS. Instead, the body consists of
elements of the type "book" or "bookGroup". While the <chapter> element is appropriate for OSIS Bibles, for genbooks it is better to use a <div type="chapter"> instead.

Books and Book Groups

If you want to encode several works by the same author in one file/module, you may use the <div type="bookgroup"> element with the <div type="book"> elements contained within it for each separate work. In this example, there is only one book. Within the outer
element are the normal parts of a title page, including the title, author, copyright information, and even an image. More on images below.
<div type="book" osisID="Book Title">
<title>Book Title</title>
<title type="x-author">Author's Name</title>
<p>Copyright</p>

<p>
<figure src="images/crosswire.jpg"/>
</p>


Major Sections

Akin to units in a book, the <div type="majorSection"> element can be used for groupings of chapters.

Chapters

Sections and Subsections

Basic Formatting

Footnotes and Endnotes

Scripture References and other Links

Images

Tables

Example OSIS Genbook

The following is the text of a valid OSIS XML file which serves as a template for an OSIS Genbook for SWORD. Not all possible features are demonstrated here, but the file serves as an example of how to encode a Genbook. You should be able to copy the contents to a text editor, save it to a file as *.xml, and validate it against the OSIS schema.

<?xml version="1.0" encoding="UTF-8"?>

<osis xsi:schemaLocation="http://www.bibletechnologies.net/2003/OSIS/namespace 
      http://www.bibletechnologies.net/osisCore.2.1.1.xsd" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      xmlns="http://www.bibletechnologies.net/2003/OSIS/namespace">

<osisText osisRefWork="book" xml:lang="en" osisIDWork="WorkID">
<header>
<work osisWork="WorkID">
<title>OSISGenbook</title>
<creator role="aut">Author's Name</creator>
</work>
<work osisWork="Bible">
<refSystem>Bible</refSystem>
</work>
</header>

<div type="book" osisID="Book Title">
<title>Book Title</title>
<title type="x-author">Author's Name</title>
<p>Copyright</p>

<p>
<figure src="images/crosswire.jpg"/>
</p>

<div type="chapter" osisID="Chapter 1">
<p>This is Chapter 1, the introduction. 
<reference osisRef="Gen.1.1">Genesis 1:1</reference> is the first verse in the Bible. 
<reference osisRef="Rev.22.21">Rev 22:21</reference> is the last verse in the Bible. 
<reference osisRef="Ps.119">Psalm 119</reference> is the longest chapter in the Bible. 
<reference osisRef="Prov.1-Prov.9">Proverbs 1-9</reference> introduce the book of Proverbs. 
<reference osisRef="John.1-John.1.18">John 1:1-18</reference> introduces the book of John. 
<reference osisRef="2Cor.6.14-2Cor.7.1">2 Corinthians 6:14-7:1</reference> teaches about holiness.
</p>

<div type="section">
<title>Section 1</title>
<p>This is chapter 1, section 1.</p>
<table>
<row>
<cell>
<hi type="bold">Column 1 Label</hi>
</cell>
<cell>
<hi type="bold">Column 2 Label</hi>
</cell>
</row>
<row>
<cell>Column 1, Row 1</cell>
<cell>Column 2, Row 1</cell>
</row>
<row>
<cell>Column 1, Row 2</cell>
<cell>Column 2, Row 2</cell>
</row>
</table>
</div>

<div type="section">
<title>Section 2</title>
<p>This is chapter 1, section 2.<note type="x-footnote" n="1">Footnote</note>
</p>
</div>
</div>

<div type="chapter" osisID="Chapter 2">
<p>This is Chapter 2, the introduction.<note type="x-endnote" n="i">Endnote</note>
</p>

<div type="section">
<title>Section 1</title>
<p>This is chapter 2, section 1.</p>
</div>

<div type="section">
<title>Section 2</title>
<p>This is chapter 2, section 2.</p>
<p>Default <hi type="italic">Italics</hi>
</p>
<p>Default <hi type="bold">Bold</hi>
</p>
<p>Default<hi type="super">SuperScript</hi>
</p>
<p>Default<hi type="sub">Subscript</hi>
</p>
<p>This is Hebrew: <foreign xml:lang="he">עִבְרִי</foreign>.</p>
</div>
</div>

</div>
</osisText>
</osis>