Sonntag, 11. März 2012

VplToZefaniaXML Powershellscript


Das VplToZefaniaXML Powershellscript ist das Schweizer Taschenmesser für Modulmacher. Es  erstellt aus Textdateien, die Bibeltexte in der Form VPL (= Ein Vers pro Zeile) enthalten, gültige Zefania XML Bibelmodule. Das Besondere an diesem Script ist die Möglichkeit mit Hilfe einer Filterdatei (MyFilter.csv) während der Konvertierung  Suchen/Ersetzen Operationen mit regulären Ausdrücken  auszuführen.  Damit kann man flexibel auf die Eigenarten des Ursprungstexts reagieren und eine saubere Zefania XML Moduldatei erstellen. Hier ein erster Überblick über das Arbeiten mit dem VplTOZefaniaXML Script:

Download des aktuellen Scriptes


Die Installation des Skriptes gestaltet sich sehr einfach es genügt den Inhalt des zip-Archives in ein Verzeichnis eigener Wahl zu entpacken wir erhalten darin insgesamt vier Dateien wie folgt.



Wir starten nun die Power Shell und navigieren zu dem Ordner mit unseren ausgepackten Script-Dateien und geben als erstes den folgenden Befehl  ein . .\VplToZefaniaXML.ps1 (man beachte zwischen den Punkten ist ein Leerzeichen!) und drücken Enter.




Zur Übung sollte man mal die beigefügte testbible.txt in ein Zefania XML Modul konvertieren dazu den Befehl  czm .\testbible.txt eintippen und Enter drücken, wenn alles gutgeht wird jetzt die Konvertierung anlaufen. Das fertige Zefania XML Modul befindet sich danach als testbible.xml im obigen Verzeichnis.



Wie oben schon erwähnt kann die VPL-Datei noch mit den Suchen/Ersetzen Operationen, die in der Filterdatei MyFilter.csv während der Konvertierung bearbeitet werden. Standardmäßig beinhaltet die Filterdatei schon folgende Operationen.

title~search~replace
RemoveSpaceCharacters in front of punctations~([\p{L}])[ ]{1,}([\p{P}])~$1$2
RemoveDoubleSpaceCharacters~[\p{Zs}]{2,}~
Set space after punctation before letter~([,?:;.])([\p{L}])~$1 $2
Set style super for nummerics~([\p{L}])([\d]+)~$1<style fs="super">$2</style>
Try to get references~([ ]*[\d]*[.]*[A-Z][a-zA-Z]+[ ][\d]*[,.:]*[\d]+[-]*[\d]*)~<xref fscope="$1">$1</xref>


Selbstverständlich kann man auch noch eigene Operationen in der Filterdatei hinterlegen, um die Verarbeitung entsprechend anzupassen. Die Operationen werden von oben nach unten auf jede einzelne Zeile der VPL-Datei angewendet.

Wer jetzt Lust auf Scripting bekommen hat dem empfehle ich als Lektüre:

Windows Powershell 2.0 - Der Crashkurs

Freitag, 9. März 2012

Zefania XML Modulvalidator


Ein selbsterstelltes Zefania XML Bibelmodul sollte in jeder Phase der Bearbeitung auf formale Korrektheit überprüft werden. Formale Korrektheit bedeutet das Modul entspricht den Vorgaben des Zefania XML Bibelmodulschemas. Das ist von zentraler Bedeutung, denn nur so können die Module in den verschiedenen darauf aufbauenden Softwareprodukten (z.B. Bibelprogramme) austauschbar eingesetzt werden. Das setzt allerdings voraus, dass die Softwarprodukte nur gültige Zefania XML Module akzeptieren. Mit dem Zefania XML Modulvalidator kann die Einhaltung der Regeln überprüft und Fehler korrigiert werden.

Download: Modulvalidator

Montag, 5. März 2012

Bible Power Shell

Das deutschsprachige BiblePowerShell Blog wurde gestartet. Es wird sich mit dem Erstellen von Zefania XML Bibelmodulen beschäftigen.