Quelloffene Bibelsoftware (3) – Bibelmodule selbst erzeugen

Ein Haufen Legosteine, viele sind transparent

In den ersten beiden Teilen hatten wir uns nicht nur verschiedene Probleme proprietärer Bibelsoftware angeschaut, sondern auch quelloffene Software und offene Formate. Ein wichtiges Problem sind natürlich die fehlenden freien Inhalte. Von verschiedenen Verlagen und der DBG gibt es glücklicherweise einzelne Module zu Erwerben – auch wenn hier noch sehr viel Ausbaupotential besteht.

Das entscheidende sind ja nicht kostenfreie Module, sondern Module in einem freien (offenen) Format, die man – wie ein Buch in der eigenen Bibliothek – zu jedem Zweck und mit jeder Software verwenden kann.

Hier soll an einem kleinen Beispiel exemplarisch gezeigt werden, wie man ganz einfach ein eigenes SWORD Modul erzeugt.

Eigene Module erstellen: Ein Buch

Die vollständige Dokumentation zu SWORD findet sich im Crosswire Wiki, das einen am Anfang aber zunächst mit seinen Inhalten erschlägt. Zunächst wollen wir hier eine kurze Übersicht zu diesem Thema geben und uns dann mittels eines Beispiels vorantasten Es soll an allen relevanten Stellen auf das Wiki verwiesen werden.

Doch zunächst: Welchen Inhalte wollen wir erzeugen? Es werden folgende Inhalte unterschieden:

  • Bibels (Bibeln)
  • Commentaries (Kommentare)
  • Dictionaries (Wörterbücher und Lexika)
  • Genbooks (generische Bücher)
  • Karten und Bildmaterial, das aber dem selben Format wie genbooks folgt.

Für’s erste genügt uns das Erstellen eines Büchleins, also eines genbooks. Wir könnten zum Beispiel die Lichtteilchen Liturgie von Maria Herrmann einpflegen. Diese ist unter CC BY-NC-SA 4.0 lizenziert und kann damit von uns entsprechend konvertiert werden.

Zunächst werden XML-Dateien im OSIS Format (Open Scriptures Information Standard) erzeugt. Diese sind menschlich gut lesbar und werden dann in einem zweiten Schritt in das SWORD Format konvertiert. XML ist verwandt mit HTML, das für Webseiten genutzt wird.

Das Grundgerüst der XML-Datei ist dabei recht überschaubar:

<?xml version="1.0" encoding="UTF-8" ?>
<osis xmlns="http://www.bibletechnologies.net/2003/OSIS/namespace" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.bibletechnologies.net/2003/OSIS/namespace
      http://www.bibletechnologies.net/osisCore.2.1.1.xsd">
      
<osisText osisIDWork="Lichtteilchen-Liturgie" osisRefWork="book" xml:lang="de">
    <header>
      <work osisWork="WorkID">
        <title>Lichtteilchen Liturgie</title>
        <creator role="aut">Maria Herrmann</creator>
      </work>
      <work osisWork="Bible">
      <refSystem>Bible</refSystem>
      </work>
    </header>

Die ersten zwei Zeilen sind Basisdefinitionen, die immer gleich bleiben. Im Tag “osisText” wird eine “osisIDWork” angegeben, über die das Werk später referenziert werden kann. Der Header bietet neben dem Titel auch den Autorennamen. Abgesehen davon ist an dieser Stelle nichts zu ändern.

Die weiteren Formate sind im Crosswire-Wiki verlinkt, wir werden sie uns aber Stück für Stück anschauen. Zunächst benötigen wir den Aufbau des Buches. Dazu gibt es verschiedene div-Tags, die entsprechend ihres “type“-Attributes sortiert werden. Dabei ist die majorSection das höchste Element und die subSection das kleinste.

Doch der Reihe nach. Wir benötigen eine Einleitung sowie die eigentliche Liturgie, die für alle Wochentage unterteilt ist. Das ganze sieht im XML-Format wie folgt aus:

<div type="majorSection" osisID="Einleitung">
<title>Einleitung</title>
</div>
<div type="majorSection" osisID="Liturgie">
<title>Liturgie</title>

	<div type="chapter" osisID="Montag">
	<title>Montag</title>
	</div>
	<div type="chapter" osisID="Dienstag">
	<title>Dienstag</title>
	</div>
	<div type="chapter" osisID="Mittwoch">
	<title>Mittwoch</title>
	</div>
	<div type="chapter" osisID="Donnerstag">
	<title>Donnerstag</title>
	</div>
	<div type="chapter" osisID="Freitag">
	<title>Freitag</title>
	</div>
	<div type="chapter" osisID="Samstag">
	<title>Samstag</title>
	</div>
	<div type="chapter" osisID="Sonntag">
	<title>Sonntag</title>
	</div>
	
</div>

Die Inhalte aus der Liturgie können nun gemäß der Vorlage angepasst werden. Zum Beispiel der Montagmorgen:

	<title>Morgens</title>
	<p>Wir kommen zusammen um Gott zu entdecken</p>
	<p><hi type="bold">Gott Vater, Sohn und heiliger Geist</hi></p>
	<p>Um Gott zu loben</p>
	<p><hi type="bold">Um Gottes Blick zu suchen</hi></p>
	<p>um unsere Tage vor ihn zu bringen</p>
	<p><hi type="bold">und unser ganzes Leben</hi></p>
	<p>Vater, Sohn und Heiliger Geist, sei uns nah</p>
	<p><hi type="bold">wie wir uns dir nähern dürfen.</hi></p>
	<p><hi type="bold">Amen</hi></p>

title-Tags können an beliebigen Stellen zur Unterteilung des Textes platziert werden. Die p-Tags umschließen jeweils einen Absatz, mit hi werden verschiedene Textformatierungen wie fette (bold) oder kursive (italic) Schrift, gesetzt.

Um aus dem fertigen XML-Dokument ein Buch zu erstellen, gibt es eine Reihe von Tools. Diese können unter Debian und seinen Derivaten mit dem Paket libsword-utils installiert werden. Wir benötigen xml2gbs:

xml2gbs Roh/lichtteilchen-liturgie.xml lichtteilchen-liturgie

Als Ausgabe gibt es drei Dateien: eine .dat, .idx und eine .bdt Datei. Diese verschieben wir an den Zielort der Plugins. Unter Linux ist dieses im Heimverzeichnis ~/.sword/modules/. Wir erzeugen unter .sword/modules/genbook/rawgenbook/ den Ordner “Lichtteilchen-Liturgie” und kopieren die drei Dateien dort hinein.

Nun fehlt uns nur noch eine .conf-Datei, die wir als Lichtteilchen-Liturgie.conf unter ~/.sword/mods.d/ erzeugen. Ein Minimalbeispiel beinhaltet die folgenden Daten:

[Lichtteilchen-Liturgie]
DataPath=./modules/genbook/rawgenbook/Lichtteilchen-Liturgie/lichtteilchen-liturgie
ModDrv=RawGenBook
BlockType=CHAPTER
SourceType=OSIS
CompressType=ZIP
Encoding=UTF-8
Lang=de
Description=Lichtteilchen Liturgie
About=Lichtteilchen Liturgie - Maria Herrmann (2020)
DistributionLicense= CC BY-NC-SA 4.0

Der DataPath zeigt dabei zum Verzeichnis, wo die vorher generierten Daten liegen und fügt die WorkID an. Description und About werden im Programm angezeigt. Die DistributionLicense ist wichtig, da ohne diese keine Module im SWORD-Projekt angenommen werden.

Fertig sieht das ganze dann so aus (Xiphos):

Im Prinzip folgt die Modulerstellung immer diesem Schema: Erstellen eines passenden XML-Inhalts, Konvertierung, Kopieren in das entsprechende Verzeichnis und eine gültige .conf-Datei.

Ein fertiges Legowerk (ein imposantes Schloss)

Fertige freie Inhalte können an das SWORD-Projekt weitergeleitet werden. Dadurch sind sie für alle Nutzer:innen von den Projektservern beziehbar. Aber vielleicht finden sich im Kontext des LUKi aber auch Freiwillige, die einen speziell deutschsprachigen Service zur Verfügung stellen?

Weitere Parser und Tools

Es gibt – wir hatten es im letzten Teil besprochen – aber auch Inhalte, die man nur zum privaten Gebrauch konvertieren sollte. Dafür gibt es z.T. schon fertige Konverter.

Doch auch, wer seine private Bibliothek oder andere freie Werke konvertiert (bspw. mit OCR – Texterkennung) kann einige Helfer nutzen. Unter https://github.com/jd-s/OSIS-helper steht bspw. ein Parser zur Verfügung, der Zeilenumbrücke direkt in <p>-Tags einschließt und Bibelreferenzen automatisch konvertiert. Oder ein weiterer Parser, der Fußnoten und ihre Referenzen automatisch zusammenfügt – ein sonst sehr lästiges Geschäft, wenn OCR genutzt wird.

Feedback, Diskussionen, Wünsche, Mitarbeit und Anregungen sind gerne gesehen. Wer nutzt entsprechende Software? Wie kann sie verbessert werden? Und: Wie schaffen wir es als deutschsprachige Community, entsprechende Inhalte zu generieren, zu pflegen und zu kommunizieren?

jens

... liebt es, über den Tellerrand zu schauen. Er ist studierter Mathematiker, Informatiker und Theologe. Als Wissenschaftler beschäftigt er sich vor allem mit der Verarbeitung natürlicher Sprache (NLP), Data Science, Linked Data, den gesellschaftlichen Themen der Digitalisierung und interdisziplinär mit Digital Humanities.

More Posts

Ein Kommentar zu “Quelloffene Bibelsoftware (3) – Bibelmodule selbst erzeugen

  1. Mich hat es total verwundert, dass es so viele Formate gibt zum digitalisieren der Bibel. Am geläufigsten scheint OSIS, da findet man ziemlich viel in allen Sprachen. Es gibt auch ein paar echt praktische Konverter, mit deren Hilfe ich letztendlich an alle Übersetzung im halbwegs einheitlichen Format gekommen bin, die ich für meinen Bibelbetrachter haben wollte. Danke Dir! Dein Artikel hat mir auch dabei sehr geholfen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert