Erstellen Ihrer eigenen Stile für Pybliographer.
Zoltán Kóta
zoltank@gmail.com
Frédéric Gobry
frederic.gobry@epfl.ch

Creative Commons Share Alike 3.0

# Neue Stile

Durch eine einfache XML-Datei können Sie Ihren eigenen Bibliografiestil beschreiben. Die XML-Datei sollte den folgenden Kopf haben:

          <?xml version="1.0"?>

Die gesamte Beschreibung sollte innerhalb der <bibstyle>-Tags sehen, deren Inhalt in diesem Abschnitt kurz beschrieben wird. Interessierte Benutzer sollten sich die entsprechende DTD anschauen, welche die mögliche Syntax detailliert beschreibt. Diese DTD befindet sich im gleichen Ordner wie die Standard-Stildateien.

# Globale Formatierung

Die XML-Datei bschreibt, wie die beschriebenen Datenfelder angeordnet werden, um einen bibliografischen Stil zu bilden. Beispielsweise kann hier festgelegt werden, dass ein Artikel mit einer in Fettschrift erscheinenden Überschrift versehen wird, gefolgt von den Namen der Autoren usw.

Im gegenwärtigen Zustand kann das XML-Format keine Informationen auf niederer Ebene beschreiben, beispielsweise wie ein Name eines Autors ausgegeben werden. Dies wird durch eine Reihe von Python-Funktionen erledigt, die in einem Modul gruppiert sind. Folgendes Beispiel soll dies verdeutlichen:

      <module name="generic">
        <define field="author">full_authors</define>
        <define field="editor">first_last_full_authors</define>
        <define field="date">european_date</define>
        <define method="keys">string_keys</define>
      </module>

In diesem Beispiel setzen wir voraus, dass die author-Felder mit der `full_authors()`-Funktion formatiert werden, welche im generic-Modul enthalten ist.

Solch ein Modul muss in der Datei pybrc.py deklariert werden, durch eine Zeile wie:

    Autoload.preregister ('style','Generic','Pyblio.Style.Generic')

Die genaue Definition der Formatierungsfunktionen wird besser verständlich im Code von beispielsweise Generic.py.

# Definition der Bibliografie

Sobald die grundlegenden Formatierungsdefinitionen angegeben wurden, können Sie mit folgenden Tags die eigentliche Bibliografie beschreiben:

<style name="Stilname">

Dieser Tag legt den aktuellen Anzeigestil fest, mit einem der Werte bold, italic, slanted, emph.

<inentry name="Eintragsname">

Dieser Tag schließt einen Block ein, der nur in Einträgen des Typs Eintragsname erscheint.

<notinentry name="Eintragsname">

Dieser Tag schließt einen Block ein, der nur in Einträgen erscheint, die nicht vom Typ Eintagsname sind.

<infield name="Feldname">

Dieser Tag schließt einen Block ein, der nur erscheint, wenn das Feld Feldname im aktuellen Eintrag existiert.

<notinfield name="Feldname">

Dieser Tag schließt einen Block ein, der nur erscheint, wenn das Feld Feldname im aktuellen Eintrag nicht existiert.

<content name="Feldname"/>

Dieser leere Tag wird durch den Inhalt des aktuellen Feldes ersetzt, wenn es in einem <infield>-Block liegt, oder den Inhalt des als Attribut angegebenen Feldes.

<separator>

Der Inhalt dieses Tags wird in einen leeren Inhalt aufgelöst, wenn kein weiterer Text angegeben wird. Es ist ein bequemer Weg, eine Trennung nach einer Reihe von Feldern einzufügen, ohne den Spezialfall nicht definierter Felder beachten zu müssen.

Die vorhandenen Stildateien sind eine gute Quelle für Beispiele.

# Zukunft des Formats

In der Zukunft wird dieses rudimentäre Format höchstwahrscheinlich durch einen XSL-basierten Mechanismus ersetzt, welcher die XML-Definition und die Python-Module beinhaltet. Dadurch werden unabhängige Stildateien bereitgestellt, die durch jeden XSL-Parser verarbeitet werden können.