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.
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?
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.
Vielen Dank für den Artikel! Ich habe ihn als Grundlage genutzt um ein eigenes SWORD-Modul zu erstellen. In Xiphos wurde dann aber nur ein leeres Dokument angezeigt. Nur der Titel wird angezeigt.
Dann habe ich alle Beispiele aus dem Artikel kopiert und komme zum gleichen Ergebnis. Sehr schade.
Ist es möglich, die erstellten Dateien aus dem Artikel als Beispiel zur Verfügung zu stellen?
Hallo, als guter Anlaufpunkt für Hilfe kann ich das Projekt https://github.com/GermanSwordModules/ empfehlen. Gerne dort einfach ein Ticket öffnen. Vielleicht sind die neuen Module ja in diesem Repository auch gut aufgehoben?
Ich hatte eigentlich auch ein Repo zu dieser Serie angelegt, das ist hier zu finden: https://codeberg.org/jens-s/SWORD-Examples