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.
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
yearBeginist 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-ddvorliegen. -
Das Attribut
yearTermist 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“.
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.
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.
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.
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
indexist 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.
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
issueenthä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
dategibt das Erscheinungsdatum der physisch erschienenen Ausgabe an. Es muss im Formatyyyy-MM-ddvorliegen. -
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
aftererzwingen. 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.
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
metadataTypeenthä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
valueenthält den Metadatenwert bzw. den Startwert des Zählers. Es verwendet dieselbe Syntax wie die Funktion Paginierung für Fortgeschrittene. -
Das optionale Attribut
incrementgibt 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.
<?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>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:
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.
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.