Erscheinungsverlauf‐XML - kitodo/kitodo-production GitHub Wiki

Die Verwendung des visuellen Editors zum Bearbeiten von Zeitungsausgaben bietet Vor- und Nachteile. Sind Ausgabenlisten bereits vorhanden, kann es hilfreich sein, diese als Datei hochzuladen. Die Datei muss UTF-8-kodiert sein.

ⓘ Das Laden eines Erscheinungsverlaufes mit Metadaten funktioniert in den Versionen vor 3.8.2 nicht.

Struktur

Element <course>

XML-Wurzelelement.
Kindelemente: <description> (0−1×), <processes> (1×)
Attribute: yearBegin (optional), yearTerm (optional)

<course> ist das Wurzelelement der XML-Datei. Es kann zwei Kindelemente enthalten, <description> (optional, wird nur ausgegeben, nicht importiert) und die Liste der anzulegenden Vorgänge in <processes> (verpflichtend).

  • Das Attribut yearBegin ist optional. Es kann verwendet werden, um einen Jahresbeginn anzugeben, der vom 1. Januar abweicht, beispielsweise für Schuljahre, Geschäftsjahre oder Spielzeiten. Es muss im Format --MM-dd vorliegen.

  • Das Attribut yearTerm ist optional. Es kann verwendet werden, um den Jahrestyp anzugeben, der mit einem anderen Datum als dem 1. Januar beginnt. Mögliche Werte sind beispielsweise „Geschäftsjahr“, „Saison“ oder „Schuljahr“.

Element <description>

Innerhalb von: <course>
Unter-Elemente: keine
Attribute: keine

<description> enthält beim Export eine verbale, für Menschen lesbare Beschreibung des Erscheinungsverlaufs in deutscher Sprache, die ausschließlich generiert wird. Beim Import hat der Wert keine Auswirkung. Er wird weder importiert noch irgendwo gespeichert.

Element <processes>

Innerhalb von: <course>
Unter-Elemente: <process> (0−n×)
Attribute: keine

Das <processes>-Element enthält die Liste der in Production zu generierenden Vorgänge. Das bedeutet, die Granularität der zu generierenden Vorgänge ist im XML explizit gemacht, und nicht in Form einer Eigenschaft angegeben. Sie kann jedoch später in Production geändert werden. Das <processes>-Element kann <process>-Elemente in beliebiger Anzahl enthalten.

Element <process>

Innerhalb von: <processes>
Unter-Elemente: <title> (0−n×)
Attribute: keine

Jedes <process>-Element repräsentiert einen in Production zu generierenden Vorgang. Es kann <title>-Elemente (in beliebiger Anzahl) enthalten.

Element <title>

Innerhalb von: <process>
Unter-Elemente: <appeared> (0−n×)
Attribute: index (optional)

Jedes <title>-Element repräsentiert einen Zeitabschnitt, zu dem die erschienenen Ausgaben gehören. Es besitzt das optionale Attribut index="…" und kann <appeared>-Elemente (in beliebiger Anzahl) enthalten.

  • Das Attribut index ist optional. Es kann bei Bedarf verwendet werden, um verschiedene Blöcke zu unterscheiden, und kann weggelassen werden, wenn nur ein Block verwendet wird.

Anmerkung: Ursprünglich sollte das Element Namensänderungen von Titeln abbilden. Dies wurde später verworfen, aber aus historischen Gründen trägt das XML-Element weiterhin den Namen „title“. Das ursprüngliche Design ist unter #51 zu finden.

Element <appeared>

Innerhalb von: <title>
Unter-Elemente: <metadata> (0−n×)
Attribute: issue (verpflichtend), date (verpflichtend), after (optional)

Jedes <appeared>-Element repräsentiert eine physisch erschienene Ausgabe. Es besitzt die Attribute issue (erforderlich, kann leer sein) und date (erforderlich) und kann <metadata>-Unterelemente enthalten.

  • Das Attribut issue enthält den Namen der Ausgabe. Zeitungen, insbesondere größere, können mehrere Ausgaben haben, die sich beispielsweise in der Erscheinungszeit (Morgenausgabe, Abendausgabe usw.) oder der geografischen Verbreitung (Stuttgarter Ausgabe, Hamburger Ausgabe usw.) unterscheiden.

  • Das Attribut date gibt das Erscheinungsdatum der physisch erschienenen Ausgabe an. Es muss im Format yyyy-MM-dd vorliegen.

  • Normalerweise werden die Ausgaben beim Parsen der XML-Datei in der Reihenfolge ihres ersten Erscheinens erstellt. Wenn Sie jedoch eine andere Reihenfolge erzwingen möchten, können Sie diese mit dem Attribut after erzwingen. Es enthält die Namen der Ausgaben, die vor dieser Ausgabe angeordnet werden sollen. Mehrere Ausgaben werden durch Leerzeichen getrennt. Ausgabenamen, die Leerzeichen enthalten, müssen in doppelte Anführungszeichen gesetzt werden, die durch zwei aufeinander folgende Apostrophe ersetzt werden ('', 2× U+0027). Noch nicht erwähnte Ausgaben werden davor erstellt, können aber leer sein.

Element <metadata>

Innerhalb von: <appeared>
Unter-Elemente: keine
Attribute: metadataType (verpflichtend), value (verpflichtend), increment (optional)

<metadata> legt eine Vergaberegel für Metadaten fest, die der Ausgabe, in der die Regel deklariert wird, und allen folgenden Ausgaben zugewiesen werden. Es handelt sich um einen Zähler, der optional verschiedene Zählungen umsetzen kann, wenn increment angegeben wurde. Die Vergabe des Metadateneintrags erfolgt, bis die Regel durch eine andere Regel mit dem selben metadataType ersetzt wird. Ein leerer Wert (value="") deaktiviert die Vergabe ab dort. Mehrere Metadateneinträge mit dem selben metadataType (etwa mehrere Kollektionen) sind aktuell nicht möglich.

  • Das Attribut metadataType enthält die Schlüssel-ID des Metadaten-Eintrags, in den dieser Zähler geschrieben wird. Die Schlüssel-ID sollte im verwendeten Regelsatz deklariert (<key id="...">) und, falls Einschränkungen definiert worden sind, auf Ausgabenebene erlaubt (<permit key="..."/>) sein.

  • Das Attribut value enthält den Metadatenwert bzw. den Startwert des Zählers. Es verwendet dieselbe Syntax wie die Funktion Paginierung für Fortgeschrittene.

  • Das optionale Attribut increment gibt an, wann der Zähler erhöht werden soll. Für statische Metadaten lassen Sie es weg.
    Mögliche Werte sind:

    issues: Der Zähler wird für jede einzelne Ausgabe erhöht.
    days: Der Zähler wird täglich erhöht.
    weeks: Der Zähler wird einmal pro Woche erhöht. Die Woche beginnt hier montags. Beachten Sie, dass Wochengrenzen nicht unbedingt mit Monats- oder Jahresgrenzen übereinstimmen.
    months: Der Zähler wird monatlich erhöht.
    quartes: Der Zähler wird vierteljährlich erhöht.
    years: Der Zähler wird jährlich erhöht.

Beispiel einer ladbaren course.xml-Datei

<?xml version="1.0" encoding="UTF-8"?>
<course>
  <processes>
    <process>
      <title>
        <appeared issue="Spätausgabe" date="1960-05-01">
          <metadata metadataType="EditorInChief" value="Max Muster"/>
          <metadata metadataType="IssueNo" value="Ausgabe 1" increment="issues"/>
        <!-- Enthaltene Metadaten:
               EditorInChief: Max Muster
               IssueNo: Ausgabe 1                                           -->
        </appeared>
      </title>
    </process>
    <process>
      <title>
        <appeared issue="Frühausgabe" date="1960-05-03" before="Spätausgabe"/>
        <!--                                            ^^^^^^^^^^^^^^^^^^^^
             Obwohl die Frühausgabe erst später im Ablauf des XML erscheint,
             wird sie im Verlauf des Erscheinungsblocks vor der Spätausgabe
             angeordnet.                                                    -->
        <!-- Enthaltene Metadaten:
               EditorInChief: Max Muster
               IssueNo: Ausgabe 2                                           -->
      </title>
    </process>
    <process>
      <title>
        <appeared issue="Spätausgabe" date="1960-05-03">
          <metadata metadataType="TitleAdd" value="Leben `im` Blickpunkt"/>
          <!--                                           ^^^^
               Um zu verhindern, dass der Zähler „im“ als nicht standardmäßige
               Darstellung von 999 als kleingeschriebene römische Zahl
               interpretiert, wurden Rückstriche darum gesetzt. Weitere Details
               finden Sie in der Syntaxbeschreibung für Zähler.             -->
        <!-- Enthaltene Metadaten:
               EditorInChief: Max Muster
               IssueNo: Ausgabe 3
               TitleAdd: Leben im Blickpunkt                                -->
        </appeared>
      </title>
    </process>
    <process>
      <title index="2">
        <!-- ^^^^^^^^^
             Diese Ausgabe wird einem neuen Block im Kalendereditor
             zugeordnet.                                                    -->
        <appeared issue="Frühausgabe" date="1960-05-04">
          <metadata metadataType="TitleAdd" value=""/><!-- ab hier gelöscht -->
          <metadata metadataType="EditorInChief"
                    value="Hans Dampf"/><!-- ab hier neuer Chefredakteur -->
        <!-- Enthaltene Metadaten:
               EditorInChief: Hans Dampf
               IssueNo: Ausgabe 4                                           -->
        </appeared>
      </title>
    </process>
    <process>
      <title index="2">
        <!-- ^^^^^^^^^
             Diese Ausgabe wird ebenso dem zweiten Block im Kalendereditor
             zugeordnet.                                                    -->
        <appeared issue="Spätausgabe" date="1960-05-04"/>
        <!-- Enthaltene Metadaten:
               EditorInChief: Hans Dampf
               IssueNo: Ausgabe 5                                           -->
      </title>
    </process>
  </processes>
</course>

Erscheinungsverlauf nach Dateien

Soll der Erscheinungsverlauf, anstatt diesen manuell zu erfassen, aus aussagekräftigen Dateinamen extrahiert werden, in denen die einzelnen Zeitungsausgaben codiert sind, so kann eine XML-Datei einfach nach den auf einem Computer vorhandenen Imagedateien erzeugt und zur weiteren Bearbeitung in Kitodo.Production importiert werden. Die Imagedateien selbst werden bei diesem Vorgehen nicht berührt. Sie müssen auch nicht auf dem Rechner verfügbar sein, auf dem Kitodo.Production ausgeführt wird. Prinzipiell sind zwei unterschiedliche Geschäftsgänge denkbar:

Digitalisierung vom Original

Die Dateien der vom Original erzeugten Images wurden während der Digitalisierung mit aussagekräftigen Dateinamen versehen.

Beispiel (hier sind codiert: Jahr, Monat, Tag):

Dateiname Erläuterung
1982_05_10_0001.tif Ausgabe vom 10. Mai 1982
1982_05_10_0002.tif
1982_05_10_0003.tif
⁞
1982_05_10_00046.tif
1982_05_11_0001.tif Ausgabe vom 11. Mai 1982
1982_05_11_0002.tif
1982_05_11_0003.tif
⁞

Der Erscheinungsverlauf im XML-Format lässt sich beispielsweise sehr einfach mit folgendem Perl-Script generieren:

#!/usr/bin/perl
print "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
print "<course><processes>\n";
while(`ls`=~/(\d{4})_(\d{2})_(\d{2})_0001\.tif/g){
  print "<process><title><appeared issue=\"\" date=\"$1-$2-$3\"/></title></process>\n";
}
print "</processes></course>\n";

ⓘ Es wird ein Erscheinungsverlauf mit der Granularität „Ausgaben“ erzeugt. Die verwendete Granularität kann in Kitodo.Production geändert werden.

Digitalisierung vom Mikrofilm

Die Dateien der vom Mikrofilm erzeugten Images wurden während der Digitalisierung mit fortlaufender Nummerierung im Dateinamen versehen. Die jeweils ersten Seiten einer Ausgabe wurden durch einen Bearbeiter mit korrekten Dateinamen versehen.

Beispiel:

Dateiname Erläuterung
00016758_1982-05-10.tif Ausgabe vom 10. Mai 1982
00016759.tif
00016760.tif
     ⁞
00016803.tif
00016804_1982-05-11.tif Ausgabe vom 11. Mai 1982
00016805.tif
00016806.tif
     ⁞

Der Erscheinungsverlauf im XML-Format lässt sich in diesem Fall mit folgendem Perl-Script generieren:

#!/usr/bin/perl
print "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
print "<course><processes>\n";
while(`ls`=~/\d+?_(\d{4}-\d{2}-\d{2})\.tif/g){
  print "<process><title><appeared issue=\"\" date=\"$1\"/></title></process>\n";
}
print "</processes></course>\n";

ⓘ Es wird ein Erscheinungsverlauf mit der Granularität „Ausgaben“ erzeugt. Die verwendete Granularität kann in Kitodo.Production geändert werden.

⚠️ **GitHub.com Fallback** ⚠️