1. Dokumentenformate
Kapitel hinzufügen

Der Lesesaal unterstützt für den Checkin und Checkout von Dokumenten unterschiedliche Dokumentformate. Intern werden allerdings alle Dokumente im gleichen Datenmodell gespeichert, d.h. die externen Dokumentformate werden beim Checkin auf das interne Datenmodell abgebildet und beim Checkout entsprechend umgekehrt. Um ein Dokument einzulesen, muss es in einem der folgenden unterstützten Dokumentformate bereitgestellt werden.

BCS-2 Das historisch erste unterstützte Dokumentformat, welches aus dem BCS-2 System erzeugt wird und Monographien mit bibliographischen und strukturellen Metadaten (Kapitel, Seiten) unterstützt. Neben den Metadaten können hier auch Seitentexte mit sogenannten Bounding Boxen eingelesen werden, um eine Volltextsuche mit layoutgetreuem Highlighting der Suchtreffer in der Digitalisatansicht zu ermöglichen. Dies ist das Standardformat für den Betrieb von MyBib eL in einem urheberrechtsgeschützten elektronischen Lesesaals.

MyBib eDoc Dieses Dokumentformat unterstützt ebenfalls Monographien mit bibliographischen und strukturellen Metadaten. Im Gegensatz zu BCS-2 liegt hier der Fokus auf der personenbezogenen Dokumentenlieferung, z.B. Campus Lieferdienst, und weniger auf die tiefe inhaltliche Erschließung, d.h. es können keine Seitentexte eingelesen und für die Dokumentensuche indiziert werden. Stattdessen werden beim Checkin die Dokumente einem Benutzer zugeordnet und der Benutzer wird mit den in der Dokumentmetadaten hinterlegten Accountdaten gegebenenfalls neu angelegt.

TEI Das Dokumentformat TEI (Text Encoding Initiative) ist ein standardisiertes Metadatenformat für die bibliografische Beschreibung von Dokumenten. MyBib eL behandelt diese Dokumente als Monografien und liest auch nur eine Teilmenge der Metadaten ein.

Doculib Das Doculib Dokumentformat stammt von Fraunhofer IAIS und wird für die Speicher­ung der strukturellen und inhaltlichen Erschließungsergebnisse aus der Buch- und Zeitungsverarbeitung verwendet. Es ist derzeit das einzige von MyBib eL unterstützte Dokumentformat, welches den Import von Monografien und Journalen erlaubt.

Bis auf das Dokumentformat Doculib stehen für den Checkout von Dokumenten aus dem Lesesaal auch entsprechende Exporter zur Verfügung, d.h. die eingelesenen Dokumente können aus­ge­schrieben werden und ggf. in einen anderen Lesesaal eingelesen werden.

Achtung: MyBib eL liest und speichert beim Checkin der Dokumente nur die Metadaten, die für den Betrieb des Lesesaals benötigt werden und in das interne Dokumentdatenmodell abgebildet werden können. Alle anderen Elemente werden verworfen und stehen beim Checkout konsequenterweise auch nicht mehr zur Verfügung.

1.1 Importformate
Abschnitt hinzufügen

Der Lesesaal unterstützt unterschiedliche Dokumentformate für den Checkin und Checkout von Dokumenten. Intern werden allerdings alle Dokumente im gleichen Datenmodell gespeichert, d.h. die externen Dokumentformate werden beim Checkin auf das interne Datenmodell abgebildet und beim Checkout entsprechend umgekehrt (siehe Speicherung der Metadaten in MeL).

Um ein Dokument einzulesen, muss es in einem der folgenden unterstützten Dokumentformate bereitgestellt werden.

  • BCS-2
  • MyBib eDoc
  • DocuLib
  • TEI

BCS-2
Das historisch erste unterstützte Dokumentformat, welches aus dem BCS-2 System erzeugt wird und Monographien mit bibliographischen und strukturellen Metadaten (Kapitel, Seiten) unterstützt. Neben den Metadaten können hier auch Seitentexte mit sogenannten Bounding Boxen eingelesen werden, um eine Volltextsuche mit layoutgetreuem Highlighting der Suchtreffer in der Digitalisatansicht zu ermöglichen. Dies ist das Standardformat für den Betrieb von MyBib eL in einem urheberrechtsgeschützten elektronischen Lesesaal.

MyBib eDoc
Dieses Dokumentformat unterstützt ebenfalls Monographien mit bibliographischen und strukturellen Metadaten. Im Gegensatz zu BCS-2 liegt hier der Fokus auf der personenbezogenen Dokumentenlieferung, z.B. Campus Lieferdienst, und weniger auf der tiefen inhaltlichen Erschließung. D.h. es können keine Seitentexte eingelesen und für die Dokumentensuche indexiert werden. Stattdessen werden beim Checkin die Dokumente einem Benutzer zugeordnet und ggf. der Benutzer neu angelegt mit den in der Dokumentmetadaten hinterlegten Accountdaten.

TEI
Das Dokumentformat TEI (Text Encoding Initiative) ist ein standardisiertes Metadatenformat für die bibliographische Beschreibung von Dokumenten. MyBib eL behandelt diese Dokumente als Monografien und liest auch nur eine Teilmenge der Metadaten ein.

DocuLib
Das Doculib Dokumentformat stammt von Fraunhofer IAIS und wird für die Speicher­ung der strukturellen und inhaltlichen Erschließungsergebnisse aus der Buch- und Zeitungsverarbeitung verwendet. Es ist derzeit das einzige von MyBib eL unterstützte Dokumentformat, welches den Import von Monografien und Journalen erlaubt.

1.1.1 Speicherung der Metadaten im MeL

MyBib eL liest und speichert beim Checkin der Dokumente nur die Metadaten, die für den Betrieb des Lesesaals benötigt werden und in das interne Dokumentdatenmodell abgebildet werden können. Alle anderen Elemente werden verworfen und stehen beim Checkout konsequenterweise auch nicht mehr zur Verfügung.

1.1.2 Konfiguration des MeL

Über das Admin Tool muss der Lesesaal hinsichtlich des zu verwendenden Dokumentformates konfiguriert werden. Es stehen folgende Plugins zur Verfügung:

  • BCS-2
  • MyBib eDoc (CLD)
  • TEI
  • Doculib
  • Auto – versucht eine automatische Erkennung eines der zuvor genannten Formate

Diese werden über den Wizard in der Konfiguration des Servers gesetzt, welcher das gewählte Plugin in dieses Property schreibt:

el.server.plugins

1.2 Internes Dokumentformat
Abschnitt hinzufügen

Der elektronische Lesesaal ist in der Lage, verschiedene Dokumenttypen über Import-Plugins zu importieren und zu speichern. Intern und nach außen transparent werden diese Dokumente mit notwendigen Metadaten in einer Datenbank einheitlich gespeichert. Hierbei kann es unter Umständen vorkommen, dass nicht sämtliche Metadaten eines Dokumentes in den Lesesaal importiert werden. Somit werden beim Ausspeichern eines Dokumentes in einem solchen Fall auch nicht alle Metadaten wiederhergestellt, die das Dokument vor dem Import beinhaltete, sondern nur diejenigen, die auch im Lesesaal gespeichert waren.

Das interne Dokumentformat basiert auf einer Menge von Metadaten, die für jeden Dokumenttyp gültig sind, und wird in zwei Varianten angewandt:

  • Monografien, die den Basis-Dokumenttyp erweitern um Kapitel
  • Journale, die den Basis-Dokumenttyp erweitern um Artikel

Es folgen Übersichten über das interne Dokumentformat des Lesesaals

  1. in tabellarischer Form
  2. in Form eines Klassendiagramms und
  3. in Form des Datenbankschemas

1.2.1 Tabellarische Übersicht des internen Dokumentformates

1.2.1.1 Dokumente – Basistyp

Dokument

DatenfeldTypBemerkung
document typeString
(max 31 Zeichen)
Typ des importierten Dokumentes
(journal/monograph)
document idString
(max 255 Zeichen)
eineindeutige Id des Dokumentes
document folder idString
(max 255 Zeichen)
eineindeutige Id des Ordners, in dem sich das Dokument befindet
Standard: ROOT (Wurzelknoten, kein spezieller (Unter)Ordner)
(Nicht zu verwechseln mit Benutzer root!)
publisher nameString
(max 255 Zeichen)
document nameString
(max 255 Zeichen)
Titel des Dokuments
volume dateString
(max 255 Zeichen)
Datum des Dokuments (Erscheinungsdatum)
descriptionString
(max 255 Zeichen)
identifierString
(max 255 Zeichen)
media numberString
(max 255 Zeichen)
barcodeString
(max 255 Zeichen)
media typeString
(max 255 Zeichen)
edition infoString
(max 255 Zeichen)
number of chaptersInteger (32 Bit)
checked inLong (64 Bit)
pagesListe von Pages
extradata fieldsHashtabelle
(String, String)
Name-Wert-Paare
(frei definierbar)
user idString
(max 255 Zeichen)
Id des Besitzers des Dokumentes
(Standard: nicht gesetzt)

Seiten

DatenfeldTypBemerkung
documentReferenz auf zugehöriges Dokument
page idString
(max 255 Zeichen)
eineindeutige Id der Seite
numberString
(max 255 Zeichen)
Nummer der Seite
imageString
(max 255 Zeichen)
Name des Seitenbildes (Dateiname)
nameString
(max 255 Zeichen)
Name der Seite
typeString
(max 255 Zeichen)
Typ der Seite
textString
(max 255 Zeichen)
Text der Seite
(ohne geometrische Auszeichnungen)
extradata fieldsHashtabelle
(String, String)
Name-Wert-Paare
(frei definierbar)

OCR-Text

Einige Dokumentformate unterstützen OCR-Text, dies sind zur Zeit BCS-2 (IWC-XML), Doculib und TEI. Sind OCR-Informationen zu einer Seite vorhanden, so werden diese wie folgt abgespeichert

DatenfeldTypBemerkung
page idString
(max 255 Zeichen)
Page Id der zugehörigen Seite
blocksByte[]Serialisierte Java-Objekte, welche die genauen Wort- und Blockinformationen enthalten
Page Data – Blöcke mit Geoinformationen und Textinhalten

DatenfeldTypBemerkung
block idStringeineindeutige Id des Blocks
typeStringTyp des Blocks
(Text/Bild/…)
page idStringId der Seite, auf welcher sich der Block befindet
image blockBooleangibt an, ob der Block ein Bild enthält
wordsverlinkte Liste von WörternWorte in diesem Block
Block – interner Aufbau der Blöcke
DatenfeldTypBemerkung
wordString
continuationIntegerWortfortsetzung
confDoubleKonfidenz
italicsBooleangibt an, ob das Wort kursiv gedruckt ist
Word – interner Aufbau der Worte

Monografien

Monograph (erweitert: Dokument)

DatenfeldTypBemerkung
chaptersReferenz auf Liste zugehöriger Kapitel
Dokument-Ebene bei Monografien

Kapitel

DatenfeldTypBemerkung
documentReferenz auf zugehöriges Dokument
String
(max 255 Zeichen)
chapter idString
(max 255 Zeichen)
eineindeutige Id des Kapitels
titleString
(max 2048 Zeichen)
levelInteger
(32 Bit)
Ebene des Kapitels
parentReferenz auf Kapitel nächsthöherer Ebene
String
(max 255 Zeichen)
page idsListe von Page IdsSeiten, die zu diesem Kapitel gehören
extradata fieldsHashtabelle
(String, String)
Name-Wert-Paare
(frei definierbar)
Kapitel-Ebene (nur bei Mongrafien)

Journale

Journal (erweitertes Dokument)

DatenfeldTypBemerkung
articlesReferenz auf Liste zugehöriger Artikel
Dokument-Ebene bei Journalen

Artikel

DatenfeldTypBemerkung
documentReferenz auf zugehöriges Dokument
String
(max 255 Zeichen)
article idString
(max 255 Zeichen)
eineindeutige Id des Artikels
titleString
(max 2048 Zeichen)
Artikeltitel
page block referencesListe mit Referenzen auf zugehörige Blöcke
extradata fieldsHashtabelle
(String, String)
Name-Wert-Paare
(frei definierbar)
Artikel-Ebene (nur bei Journalen)

DatenfeldTypBemerkung
block idStringeineindeutige Id des referenzierten Blocks
page idStringId der Seite, auf welcher sich der Block befindet
block typeStringTyp des Blocks
(logische Funktion im Artikel)
Page Block Reference – interner Aufbau der Blockreferenzen

Klassendiagramm

Klassendiagramm

Datenbankschema

Datenbankschema

1.3 Mapping Importformate
Abschnitt hinzufügen

1.3.1 Mapping internes Dokumentformat

Der Lesesaal ist aktuell in der Lage, folgende Dokumentformate zu importieren/exportieren:

Beim Import obiger Dokumentformate findet eine Abbildung der einzelnen Datenfelder auf die MeL-interne Dokumentstruktur statt. Die unten stehende Tabelle gibt eine Übersicht über die Zuordnungen, die Dokumentformate werden in den seperaten Kapiteln detaillierter beschrieben.

Gesamtübersicht

Feldname
Internes Format
BCS-2MyBib eDocDoculibTEI
barcode<o_barcode>„“„“„“
checked inCheckin-ZeitpunktCheckin-ZeitpunktCheckin-ZeitpunktCheckin-Zeitpunkt
description
document name<o_title><item-title><title><title>
edition info<o_editioninfo>„“<edition>
idsystemgenerierte eindeutige Idsystemgenerierte eindeutige Idsystemgenerierte eindeutige Idsystemgenerierte eindeutige Id
identifier<o_identifier><item-signature><issue>
sonst „“
<idno type=„shelfBSB“>
sonst „“
media number<o_medianumber>
sonst
systemgenerierte eindeutige id
<item-media-number>
sonst <item-me-id>
sonst Name der xml-Datei ohne „.xml“
<issue ID=„…“>
sonst volumedate
sonst neue eindeutige id
<idno type=„katkeyBSB“>
sonst neue eindeutige id
media type<o_mediatype>„“„“
publisher name<o_publisher><item-publisher><publisher>
sonst „“
<publisher>
sonst „“
user idim MeL gespeicherte userId zu
<customer-crypt-user>
(neu, wenn noch nicht gespeichert)
volume date<o_year><item-publ-date><date>
sonst letzte Modifikation XML-Datei
(formatiert)
<date>
sonst „“
parent idCDocumentFolderId.ROOTCDocumentFolderId.ROOTCDocumentFolderId.ROOTCDocumentFolderId.ROOT
extradata fields1<e_property>item-publ-place,
item-publ-date,
item-ref-source,
item-isbn,
item-pagination,
item-article-title,
item-article-author,
document.format=edoc
date,
document.text=true
author,
pubPlace,
subtitle
pages<page>
(in <section> sonst <subsection>)
<page>
(in <pages>)
<page>
(in <issue>)
<page>
(in <front> sonst <body>)
document typemonographmonographjournalmonograph

1 Wichtig ist, dass bei der Namensvergabe der Extradata-Felder keine Leerzeichen verwendet werden dürfen. (Dies führt später zu Problemen, wenn nach diesen Feldern gesucht werden soll.)

1.3.2 Mapping BCS-2

Allgemeines zu diesem Format:

  • Ein Dokument muss zum Import entweder als Zip vorliegen (Seitenbilder, XML-/TXT-Dateien ohne Unterverzeichnisse direkt im Zip) oder in einem Verzeichnis (Seitenbilder, XML-/TXT-Dateien ohne Unterverzeichnisse direkt im Zip)
  • Die automatische Erkennung des Dokumentformates im „Auto“-Plugin (siehe Plugins) liefert das BCS-2-Format zurück, wenn eine Datei mit dem Namen „metadata.xml“ gefunden wird (ohne Anführungszeichen).
  • Es müssen alle im XML referenzierten Seitenbilder vorliegen, sonst wird das Dokument nicht importiert
  • Die Namen der Seitenbilddateien müssen keinem Schema folgen, jedoch den unter der zugehörigen Seite im Xml genannten „file“-Attributen entsprechen
  • XMLs oder TXTs mit Seitentext müssen den gleichen Namen tragen wie das Seitenbild der Seite, nur mit der Endung „xml“ oder „txt“

Generell muss die Metadaten-Datei folgendem Schema entsprechen:

  • XSD für das BCS-2-Format: mel_bcs2.txt
    (Achtung: Dateiendung txt, da xsd nicht erlaubt)

Dokument (Monografie)

Internes DatenfeldXML-ElementWert
(wenn im XML nicht vorhanden
oder
nicht aus XML importiert wird)
DatentypAnmerkungen
barcode<order><o_info><o_barcode>„“String
(max 255 Zeichen)
checked inZeitpunkt des Checkins (Serverzeit)
(number of milliseconds since January 1, 1970, 00:00:00 GMT)
64 bit Integer
description„“String
(max 255 Zeichen)
document name<order><o_info><o_title>„“String
(max 255 Zeichen)
edition info<order><o_info><o_editioninfo>„“String
(max 255 Zeichen)
idsystemgenerierte eindeutige IdString
(max 255 Zeichen)
identifier<order><o_info><o_identifier>„“String
(max 255 Zeichen)
medianumber<order><o_info><o_medianumber>systemgenerierte eindeutige IdString
(max 255 Zeichen)
media type<order><o_info><o_mediatype>„“String
(max 255 Zeichen)
publisher name<order><o_info><o_publisher>„“String
(max 255 Zeichen)
user id– (kein default Owner)User Id des Owners
volume date<order><o_info><o_year>„“String
(max 255 Zeichen)
Format: yyyyMMdd
(Bsp: 20171127)
parent idId des ROOT-Dokumentverzeichnisses
extradata fieldsAlle Elemente
<order><e_data><e_property name="...">...
und
document.format = bcs2
und ggf.
document.text = true
(siehe Anmerkung unter dieser Tabelle)
(leere Liste)Hashtabelle
(String, String)
aller extradatas
document typemonographString
(max 31 Zeichen)
chaptersAlle Elemente
<order><o_content><section>
und ggf. Unterelemente
<order><o_content><section><subsection>
(immer aus XML, siehe Anmerkung rechts)Liste aller Kapitelmind. 1
Kapitel
muss immer
vorhanden sein
pagesAlle Elemente
<page> in
<order><o_content><section>
und
<order><o_content><section><subsection>
(leere Liste)Liste aller Seiten
number of chaptersAnzahl der Elemente
<order><o_content><section>
und
<order><o_content><section><subsection>
032 bit Integer

Anmerkungen zu document.text:

  • true, sobald für mindestens eine Seite des Dokumentes Text entweder als XML (mit Geoinformationen) oder als TXT (ohne Geoinformationen) vorliegt.
  • Weitere Informationen, ob OCR oder TXT vorliegt, wird in extradata der jeweiligen Seite gespeichert.

Kapitel/Unterkapitel

Internes DatenfeldXML-ElementWert
(wenn im XML nicht vorhanden
oder
nicht aus XML importiert wird)
DatentypAnmerkungen
idsystemgenerierte eindeutige IdString
(max 255 Zeichen)
page ids(leere Liste)Liste der Seiten des (Unter)KapitelEs ist möglich,
leere Kapitel
(ohne Seiten)
zu importieren
documentReferenz auf zugehöriges Dokument
level<order><content><section level="...">
oder
<order><content><section><subsection level="...">
032 bit IntegerVorgabe:
section: 1
subsection: 2
title<order><content><section name="...">
oder
<order><content><section><subsection name="...">
„“String
(max 2048 Zeichen)
Es ist möglich,
Kapitel
ohne Titel
zu importieren
parentId des umgebenden Kapitels
(nur bei Unterkapiteln, bei Kapiteln null)
extradataAlle Elemente
<order><content><section>(<subsection>)<e_data><e_property name="...">...
(leere Liste)Hashtabelle
(String, String)
aller extradatas

Seiten

Internes DatenfeldXML-ElementWert
(wenn im XML nicht vorhanden
oder
nicht aus XML importiert wird)
DatentypAnmerkungen
idsystemgenerierte eindeutige IdString
(max 255 Zeichen)
documentReferenz auf zugehöriges Dokument
name<order><content><section>(<subsection>)<page><p_name>...„“String
(max 255 Zeichen)
number<order><content><section>(<subsection>)<page><p_number>...„“String
(max 255 Zeichen)
type<order><content><section>(<subsection>)<page><p_type>...„“String
(max 255 Zeichen)
extradata fieldsAlle Elemente
<order><content><section>(<subsection>)<page><e_data><e_property name="...">...
falls ein NZZ-XML der Seite vorhanden:
page.text = OCR
sonst, falls TXT (ohne Geoinformationen) der Seite vorhanden:
page.text = Plain
(leere Liste)Hashtabelle
(String, String)
aller extradatas
imagemedia number + „/“ + <order><content><section>(<subsection>)<page file="...">Wert ist immer gesetztString
(max 255 Zeichen)
Dokumente mit
fehlenden
Seitenbildern
werden nicht
importiert
textText der Seite aus NZZ_XML extrahiert wenn vorhanden
oder
Text der Seite aus .txt extrahiert wenn vorhanden
sonst leer
„“String
(max 60000 Zeichen)

Seiten – Geoinformationen

Internes DatenfeldXML-ElementWert
(wenn im XML nicht vorhanden
oder
nicht aus XML importiert wird)
DatentypAnmerkungen
idId der zugehörigen SeiteString
(max 255 Zeichen)
blocksserialisiertes Objekt für Page Blocks
(Hashtabelle Id, Block)
block boundingbox
(l, t, r, b)
<page><block left="..." top="..." right="..." bottom="...">0 (für l, t, r, b)Koordinaten (int)
bzw. Rechteck
Werte werden
nicht geprüft
(Vorhanden/
Plausibilität)
type"text"String
isImageBlockfalseboolean
words<page><block><row><word>(leere Liste)Liste aller Wörter des BlocksImport
leerer Blöcke
(ohne Wörter)
möglich
word text<page><block><row><word>...„“String
word boundingbox (l, t, r, b)<page><block><row><word left="..." top="..." right="..." bottom="...">...0 (für l, t, r, b)Koordinaten (int)
bzw. Rechteck
Werte werden
nicht geprüft
(Vorhanden/
Plausibilität)
word italicsfalse (Angabe nicht in Metadaten vorhanden)boolean
word conf<page><block><row><word conf="...">0double

1.3.3 Mapping Doculib

Allgemeines zu diesem Format:

  • Ein Dokument muss zum Import entweder als Zip vorliegen (Seitenbilder und XML-Datei ohne Unterverzeichnisse direkt im Zip) oder in einem Verzeichnis (Seitenbilder, XML-Dateien ohne Unterverzeichnisse direkt im Zip)
  • Es müssen alle im XML referenzierten Seitenbilder vorliegen, sonst wird das Dokument nicht importiert
  • Die Namen der Seitenbilddateien müssen keinem Schema folgen, jedoch den unter der zugehörigen Seite im Xml genannten „file“-Attributen entsprechen
  • Die automatische Erkennung des Dokumentformates im „Auto“-Plugin (siehe Plugins) liefert das DocuLib-Format zurück, wenn eine Metadaten-Datei mit der Endung „xml“ gefunden wird, die das Tag „<document_metadata>“ enthält (alles ohne Anführungszeichen).

Generell muss die Metadaten-Datei folgendem Schema entsprechen:

  • XSD für das DocuLib-Format: mel_doculib.txt
    (Achtung: Dateiendung txt, da xsd nicht erlaubt)

Dokument (Journal)

Internes DatenfeldXML-ElementStandard-Wert
(wenn im XML nicht vorhanden
oder
nicht aus XML importiert wird)
DatentypAnmerkungen
barcode„“„“String
(max 255 Zeichen)
checked inZeitpunkt des Checkins (Serverzeit)
(number of milliseconds since January 1, 1970, 00:00:00 GMT)
Integer
(64 Bit)
description„“String
(max 255 Zeichen)
document name<document><issue><issue-metadata><title>„“String
(max 255 Zeichen)
edition info<document><issue><issue-metadata><edition>„“String
(max 255 Zeichen)
idsystemgenerierte eindeutige IdString
(max 255 Zeichen)
identifier<document><issue><issue-metadata><issue>„“String
(max 255 Zeichen)
medianumberwenn vorhanden
<document><issue ID="...">
sonst, wenn vorhanden
<document><issue><issue-metadata><date>
oder
XML File Last Modification Date
systemgenerierte eindeutige IdString
(max 255 Zeichen)
media type„“String
(max 255 Zeichen)
publisher name<document><issue><issue-metadata><publisher>„“String
(max 255 Zeichen)
user id
volume datewenn vorhanden
<document><issue><issue-metadata><date>
sonst
XML File Last Modification Date
ACHTUNG: Format siehe rechts Anmerkungen
„“String
(max 255 Zeichen)
Format in XML-Datei:
dd.MM.yyyy
Format in eL gespeichert:
yyyyMMdd
parent idId des ROOT-Dokumentverzeichnisses
extradata fieldsdate = (s.o. volume date)
document.format = doculib
document.text = true
Liste aller extradata-Felder
(Name und Wert String)
date Format: yyyyMMdd
document typejournalString
(max 255 Zeichen)
articlesAlle Elemente
<document><issue><article>
Liste aller Artikel
pagesAlle Elemente
<document><issue><page>
Liste aller Seiten
number of chapters00Integer
(32 Bit)

Artikel

Internes DatenfeldXML-ElementStandard-Wert
(wenn im XML nicht vorhanden
oder
nicht aus XML importiert wird)
DatentypAnmerkungen
idsystemgenerierte eindeutige IdString
(max 255 Zeichen)
documentReferenz auf zugehöriges Dokument
page block refsListe von Referenzen auf alle Blöcke in diesem Artikel
(pageId, blockId, logische Auszeichnung des Blocks im Artikel (title/ subtitle/ body/ …)
titleInhalt des im Artikel referenzierten Text-Blocks mit der Auszeichnung „title“
(oder „subtitle“ wenn nicht vorhanden)
(oder „rooftitle“ wenn nicht vorhanden)
„“String
(max 2048 Zeichen)
extradataListe aller extradata-Felder
(Name und Wert String)

Anmerkung zu Artikeln:

  • Für den Titel wird nur die erste Title-Block-Referenz ausgewertet!
    (Bzw. Subtitle-Block-Referenz oder Rooftitle-Block-Referenz wenn nicht vorhanden, sonst leerer String)
    Sollten mehrere vorliegen, wird trotzdem nur der Text der ersten als Titel gesetzt.

Seiten

Internes DatenfeldXML-ElementStandard-Wert
(wenn im XML nicht vorhanden
oder
nicht aus XML importiert wird)
DatentypAnmerkungen
idsystemgenerierte eindeutige IdString
(max 255 Zeichen)
document(Referenz auf Dokument)
name„Seite “ + i’te Position der Seite im Dokument
(Laufvariable für Seiten im Importer)
String
(max 255 Zeichen)
numberi’te Position der Seite im Dokument
(Laufvariable für Seiten im Importer)
String
(max 255 Zeichen)
type„Seite“String
(max 255 Zeichen)
extradata fieldspage.text = OCRListe aller extradata-Felder
(Name und Wert String)
imagemedia number + „/“ + <document><issue><page><page_metadata><image_filename>String
(max 255 Zeichen)
textText aller Wort-Blöcke auf der Seite
(ohne Geo-Informationen)
„“String
(max 60000 Zeichen)

Seiten – Geoinformationen

Internes DatenfeldXML-ElementStandard-Wert
(wenn im XML nicht vorhanden
oder
nicht aus XML importiert wird)
DatentypAnmerkungen
idId der zugehörigen Seite
blocksserialisiertes Objekt für Page Blocks
(Hashtabelle blockId, Block)
bounding box (l, t, r, b)<document><issue><page><block l="..." t="..." r="..." b="...">
type<document><issue><page><block blockType="...">
isImageBlockfalse
words<document><issue><page><block><text><line><word>
word text<document><issue><page><block><text><line><word>...
word boundingbox (l, t, r, b)<document><issue><page><block><text><line><word l="..." t=t"..." r="..." b="...">...
word italics<document><issue><page><block><text><line><word italics="...">0 = false
sonst true
word conf<document><issue><page><block><text><line><word conf="...">Double
word continuationLänge des Textes des Wortes
(nur, wenn das Wort mit einem Trennungszeichen endet
und wenn es ein folgendes Wort im Block gibt)

Anmerkung zu word:

  • Die <word> Attribute font_size und bold werden nicht importiert.

Anmerkung zu <block><region>:

  • Wird nicht berücksichtigt, stattdessen l,r,b,t-Attribute aus block-Element! (Sollten aber identisch sein)

Anmerkung zu block:

  • Block type wird wie im XML gesetzt, isImageBlock hingegen immer false (wird aber nirgends verwendet).
1.3.3.1 Sonderfall: Doculib kicker
  • <document><issue ID="..."> ist immer aufgebaut nach dem Schema „Kicker“ + „/“ + <yyyy> + <eine_id_aus_Buchstaben_und_Zahlen>
    • Bsp: Kicker/1963/1a1c77659c7f5c437a93184a9dd7748aa2adcbf44c15eb396af0eef4b03b656d
    • Bsp: Kicker/2015/062
    • in regulärem doculib wäre dies die medianumber
  • <document><issue><issue-metadata><issue> ist die Ausgabennummer (z.B. 68 oder 108A)
    • Bsp: 68
    • Bsp: 1A
    • in regulärem doculib wäre dies der identifier
  • medianumber = <yyyy> (aus issue id) + „.“ + issue number (aus <document><issue><issue-metadata><issue>)
    • Bsp: 1963.68
  • identifier = „kicker“ + issue id (letzter Teil nach „.“ aus medianumber) + Jahr (mittlerer Teil zwischen den „.“ aus medianumber)
  • volume date = <document><issue><issue-metadata><date> nur nach Schema dd.MM.yyyy

1.3.4 Mapping MyBib eDoc

Allgemeines zu diesem Format:

  • Ein Dokument muss zum Import entweder als Zip vorliegen (Seitenbilder, XML-/TXT-Dateien ohne Unterverzeichnisse direkt im Zip) oder in einem Verzeichnis (Seitenbilder, XML-/TXT-Dateien ohne Unterverzeichnisse direkt im Zip)
  • Die Metadaten-Datei muss das Tag „<eroomv01:item>“ oder „<item>“ enthalten (ohne Anführungszeichen)
  • Die automatische Erkennung des Dokumentformates im „Auto“-Plugin (siehe Plugins) liefert das Edoc-Format zurück, wenn eine Metadaten-Datei mit der Endung „xml“ gefunden wird, die das Tag „<customerdata>“ enthält (alles ohne Anführungszeichen).
  • Der Dateiname der Metadaten-Datei (ohne Endung) wird als Mediennummer verwendet, falls diese nicht im XML vorliegt (Details siehe folgende Tabelle)
  • Es müssen alle im XML referenzierten Seitenbilder vorliegen, sonst wird das Dokument nicht importiert
  • Die Namen der Seitenbilddateien müssen keinem Schema folgen, jedoch den unter der zugehörigen Seite im Xml genannten „file“-Tags entsprechen
  • XMLs oder TXTs mit Seitentext müssen den gleichen Namen tragen wie das Seitenbild der Seite, nur mit der Endung „xml“ oder „txt“

Generell muss die Metadaten-Datei folgendem Schema entsprechen:

  • XSD für das MyBib eDoc-Format: mel_edoc.txt
    (Achtung: Dateiendung txt, da xsd nicht erlaubt)

Dokument (Monografie)

Internes DatenfeldXML-ElementStandard-Wert
(wenn im XML nicht vorhanden
oder
nicht aus XML importiert wird)
DatentypAnmerkungen
barcode„“„“String
(max 255 Zeichen)
checked inZeitpunkt des Checkins (Serverzeit)
(number of milliseconds since January 1, 1970, 00:00:00 GMT)
64 Bit Integer
description„“String
(max 255 Zeichen)
document name<job><item><item-title>„“String
(max 255 Zeichen)
edition info„“„“String
(max 255 Zeichen)
idsystemgenerierte eindeutige IdString
(max 255 Zeichen)
identifier<job><item><item-signature>„“String
(max 255 Zeichen)
medianumber<job><item><item-media-number>
sonst
<job><item><item-me-id>
sonst
Dateiname (ohne .xml)
String
(max 255 Zeichen)
media type„“„“String
(max 255 Zeichen)
publisher name<job><item><item-publisher>„“String
(max 255 Zeichen)
user ideL-Nutzer-Id zu
<job><customerdata><customer-crypt-user>
(wird neu angelegt wenn nicht vorhanden)
volume date<job><item><item-publ-date>„“String
(max 255 Zeichen)
parent idId des ROOT-Dokumentverzeichnisses
extradata fieldsitem-series-title = <job><item><item-series-title>
item-vol-title = <job><item><item-vol-title>
item-vol-issue = <job><item><item-vol-issue>
item-vol = <job><item><item-vol>
item-issue = <job><item><item-issue>
item-edition = <job><item><item-edition>
item-publ-place = <job><item><item-publ-place>
item-publ-date = <job><item><item-publ-date>
item-publ-date-comp = <job><item><item-publ-date-comp>
item-ref-source = <job><item><item-ref-source>
item-isbn = <job><item><item-isbn>
item-issn = <job><item><item-issn>
item-isbn = <job><item><item-isbn>
item-isbd = <job><item><item-isbd>
item-zdb-id = <job><item><item-zdb-id>
item-c3-id = <job><item><item-c3-id>
item-swets-id = <job><item><item-swets-id>
item-note = <job><item><item-note>
item-pagination = <job><item><item-pagination>
item-physicaltype = <job><item><item-physicaltype>
item-additional-no-letters = <job><item><item-additional-no-letters>
item-language = <job><item><item-language>
item-system-no = <job><item><item-system-no>
item-licence-text = <job><item><item-licence-text>
customer-responder-id = <job><customerdata><customer-responder-id>
item-article-title = <job><item><item-article><item-article-title>
item-article-subtitle = <job><item><item-article><item-article-subtitle>
item-article-author = <job><item><item-article><item-article-author>
item-article-author-uaf = <job><item><item-article><item-article-author-uaf>
document.format = edoc
Liste aller extradata-Felder
(Name und Wert String)
document typemonographString
(max 255 Zeichen)
chaptersAlle Elemente
<section>
in
<job><structure><content>
Liste aller Kapitel
pagesAlle Elemente
<page>
in
<job><structure><content><section><pages>
number of chaptersAnzahl der Elemente
<job><structure><content><section>
0

Kapitel
Es wird nur eine Kapitel-Ebene unterstützt, d.h. keine Subsections (bzw. Level 2 Sections).

Internes DatenfeldXML-ElementStandard-Wert
(wenn im XML nicht vorhanden
oder
nicht aus XML importiert wird)
DatentypAnmerkungen
idsystemgenerierte eindeutige IdString
(max 255 Zeichen)
pageIdsListe von pageIds in dieser section
documentReferenz auf zugehöriges Dokument
level132 Bit Integer
title<job><structure><content><section><sectionname>„“String
(max 255 Zeichen)
parentId des umgebenden Kapitels
(nur bei Unterkapiteln, bei Kapiteln null}
(also bei MyBib eDoc immer null)
extradataListe aller extradata-Felder
(Name und Wert String)

Seiten

Internes DatenfeldXML-ElementStandard-Wert
(wenn im XML nicht vorhanden
oder
nicht aus XML importiert wird)
DatentypAnmerkungen
idsystemgenerierte eindeutige IdString
(max 255 Zeichen)
documentReferenz auf zugehöriges Dokument
name<job><structure><content><section><pages><page><p_name>String
(max 255 Zeichen)
number<job><structure><content><section><pages><page><p_number>String
(max 255 Zeichen)
type<job><structure><content><section><pages><page><p_type>String
(max 255 Zeichen)
extradata fieldswenn NZZ-XML der Seite vorhanden:
page.text = OCR
sonst wenn Plaintext der Seite vorhanden:
page.text = Plain
wenn page.text gesetzt wurde
document.text = true
Liste aller extradata-Felder
(Name und Wert String)
imagemedia number + „/“ + <job><structure><content><section><pages><page><file>String
(max 255 Zeichen)
textText der Seite (ohne Geo-Informationen) (wenn vorhanden, aus TXT)String
(max 255 Zeichen)

Seiten – Geoinformationen

Internes DatenfeldXML-ElementWert
(wenn im XML nicht vorhanden
oder
nicht aus XML importiert wird)
DatentypAnmerkungen
idId der zugehörigen SeiteString
(max 255 Zeichen)
blocksserialisiertes Objekt für Page Blocks(Hashtabelle Id, Block)
bounding box (l, t, r, b)<page><block left="..." top="..." right="..." bottom="...">
type"text"
isImageBlockfalse
words<page><block><row><word>
word text<page><block><row><word>...
word boundingbox (l, t, r, b)<page><block><row><word left="..." top="..." right="..." bottom="...">...
word italicsfalse (Angabe nicht in Metadaten vorhanden)
word conf<page><block><row><word conf="...">0

1.3.5 Mapping TEI

Allgemeines zu diesem Format:

  • Ein Dokument muss zum Import entweder als Zip vorliegen (Seitenbilder, XML-/TXT-Dateien ohne Unterverzeichnisse direkt im Zip) oder in einem Verzeichnis (Seitenbilder, XML-/TXT-Dateien ohne Unterverzeichnisse direkt im Zip)
  • Die Metadaten-Datei muss die Endung „xml“ tragen und das Tag „</teiHeader>“ enthalten (ohne Anführungszeichen)
    • Dies sind auch die Erkennungsmerkmale des TEI-Formates für die automatische Formaterkennung (siehe Plugins)
  • Es müssen alle im XML referenzierten Seitenbilder vorliegen, sonst wird das Dokument nicht importiert
  • Die Namen der Seitenbilddateien müssen keinem Schema folgen, jedoch den unter der zugehörigen Seite im Xml genannten „entitirey“-Attributen entsprechen
    • Diese Attribute enthalten den Dateinamen ohne Endung, das Vorhandensein des Seitenbildes wird geprüft mit den Endungen jpg, jpeg, tif, tiff und png
  • XMLs oder TXTs mit Seitentext müssen den gleichen Namen tragen wie das Seitenbild der Seite, nur mit der Endung „xml“ oder „txt“

Generell muss die Metadaten-Datei folgendem Schema entsprechen:

  • XSD für das TEI-Format: mel_tei.txt
    (Achtung: Dateiendung txt, da xsd nicht erlaubt)
Internes DatenfeldXML-ElementStandard-Wert
(wenn im XML nicht vorhanden
oder
nicht aus XML importiert wird)
DatentypAnmerkungen
barcode„“String
(max 255 Zeichen)
checked inZeitpunkt des Checkins (Serverzeit)
(number of milliseconds since January 1, 1970, 00:00:00 GMT)
String
(max 255 Zeichen)
description„“String
(max 255 Zeichen)
document namewenn vorhanden:
<TEI><teiHeader><fileDesc><sourceDesc><bibl><title type="main">
sonst, wenn vorhanden:
<TEI><teiHeader><fileDesc><titleStmt><title> (ohne type!)
„“String
(max 255 Zeichen)
edition info„“String
(max 255 Zeichen)
idsystemgenerierte eindeutige IdString
(max 255 Zeichen)
identifier<TEI><teiHeader><fileDesc><sourceDesc><bibl><idno type="shelfBSB">
(letzte wenn mehrere idno)
„“String
(max 255 Zeichen)
medianumber<TEI><teiHeader><fileDesc><sourceDesc><bibl><idno type="katkeyBSB">
(letzte wenn mehrere idno)
oder
systemgenerierte Id
systemgenerierte eindeutige IdString
(max 255 Zeichen)
media typeString
(max 255 Zeichen)
publisher name<TEI><teiHeader><fileDesc><sourceDesc><bibl><imprint><publisher>„“String
(max 255 Zeichen)
user id
volume date<TEI><teiHeader><fileDesc><sourceDesc><bibl><imprint><date>„“String
(max 255 Zeichen)
parent idId des ROOT-Dokumentverzeichnisses
extradata fieldswenn vorhanden:
author = <TEI><teiHeader><fileDesc><sourceDesc><bibl><imprint><author>
wenn vorhanden:
pubPlace = <TEI><teiHeader><fileDesc><sourceDesc><bibl><imprint><pubPlace>
wenn vorhanden:
subtitle = <TEI><teiHeader><fileDesc><sourceDesc><bibl><title type="sub">
document.format = tei
document.text = true (siehe Anmerkung)
document typemonographString
(max 31 Zeichen)
chaptersAlle Elemente
<TEI><facsimile ana="#facsMeta"><surface>
und alle
<TEI><body><div>
und alle
<TEI><front><div>
pagesAlle Elemente
<TEI><body><div><page>
und alle
<TEI><front><div><page>
und alle
<TEI><facsimile><surface>
number of chaptersAnzahl der Elemente in der chapters Liste0

Anmerkung zu document.text:

  • Ist true, sobald für mindestens eine Seite des Dokumentes Text entweder als XML (mit Geo-Informationen) oder als TXT (ohne Geo-Informationen) vorliegt.

Kapitel

Internes DatenfeldXML-ElementStandard-Wert
(wenn im XML nicht vorhanden
oder
nicht aus XML importiert wird)
DatentypAnmerkungen
idsystemgenerierte eindeutige IdString
(max 255 Zeichen)
page idsListe von page ids im jeweiligen Kapitel
documentReferenz auf zugehöriges Dokument
levelWenn <TEI><front|body><div><head> nicht null dann 1
sonst 0
title<TEI><front|body><div><head>„“
parentid des umgebenden Kapitels
oder null
extradataFür front:
tei.section = tei.front
tei.type = <TEI><front><div type="..."> (wenn vorhanden)
Für body:
tei.section = tei.front
tei.type = <TEI><body><div type="..."> (wenn vorhanden)

(Für Facsimile keine Kapitel)

Seiten (front/body)

Internes DatenfeldXML-ElementStandard-Wert
(wenn im XML nicht vorhanden
oder
nicht aus XML importiert wird)
DatentypAnmerkungen
idsystemgenerierte eindeutige Id
document(Referenz auf Dokument)
name<TEI><body|front><div><page><image nativeno="...">
number<TEI><body|front><div><page><image seqno="...">
type
extradata fieldspage.text = OCR
wenn vorhanden, sonst
page.text = Plain
wenn vorhanden
imagemedianumber + „/“ + <TEI><body|front><div><page><image entityref="..."> + + jpg/jpeg/tif/tiff/png
textText (ohne Geo-Infos) der Seite aus NZZ-XML oder TXT (wenn vorhanden)
wenn beides, überschreibt TXT den Text aus XML

Seiten (Facsimile)

Internes DatenfeldXML-ElementStandard-Wert
(wenn im XML nicht vorhanden
oder
nicht aus XML importiert wird)
DatentypAnmerkungen
idsystemgenerierte eindeutige Id
document(Referenz auf Dokument)
name<TEI><facsimile><surface><desc><list><item>
number<TEI><facsimile><surface><desc><list><item>
type
extradata fields
imagemedia number + „/“ + <TEI><facsimile><surface id="..."> + jpg/jpeg/tif/tiff/png
text

Seiten – Geoinformationen
Achtung – PageData wird nicht gesetzt für TEI Dokumente! Somit werden auch keine Block-Infos gespeichert.

1.3.6 Mapping XML Backup Format

Dokumente

internes FormatXML Backup
id<document id="...">
checked in<document checkedin="...">
owner
parent Id
barcode<document><o_info><o_barcode>
identifier<document><o_info><o_identifier>
medianumber<document><o_info><o_medianumber>
mediatype<document><o_info><o_mediatype>
edition info<document><o_info><o_editioninfo>
volume date<document><o_info><o_year>
description<document><o_info><o_description>
publisher name<document><o_info><o_publisher>
document name<document><o_info><o_title>
extra data<document><e_data><e_property name="...">...
pages<document><o_content><pages>

Anmerkungen zu Document:

  • Bei Backup werden parent Id und owner nicht ausgespeichert.
  • Beim Restore aus Backup wird parent Id auf CDocumentFolderId.ROOT gesetzt.
  • Beim Restore aus Backup wird owner nicht gesetzt.

Seiten

internes FormatXML Backup
page<document><o_content><pages><page>
page id<document><o_content><pages><page id="...">
page file<document><o_content><pages><page file="...">
page name<document><o_content><pages><page p_name="...">
page number<document><o_content><pages><page p_number="...">
page type<document><o_content><pages><page p_type="...">
page extra data<document><o_content><pages><page><e_data><e_property name="...">...
block (alle der Page)<document><o_content><pages><page><block>
block id<document><o_content><pages><page><block id="...">
block type<document><o_content><pages><page><block type="...">
block boundingboxes (alle im Block)<document><o_content><pages><page><block><region><rect>
block boundingboxes x, width, y, height<document><o_content><pages><page><block><region><rect l=x r=x+width t=y b=y+height>
word (alle im Block)<document><o_content><pages><page><block><text><word>
word text<document><o_content><pages><page><block><text><word text="...">
word conf<document><o_content><pages><page><block><text><word conf="...">
word continuation<document><o_content><pages><page><block><text><word continuation="...">
word boundingboxes<document><o_content><pages><page><block><text><word><region><rect>
word boundingboxes x, width, y, height<document><o_content><pages><page><block><text><word><region><rect l=x r=x+width t=y b=y+height>

Anmerkungen zu page filename:

  • Während im Repository <medianumber>/<filename> gespeichert wird, wird im Backup Format nur <filename> gespeichert, so wie es in den ursprünglich importierten XML-Dokumenten auch der Fall ist.

Anmerkungen zu <word> attibutes:

  • Das Attribute italic wird nicht im Backup ausgespeichert.

Anmerkungen zu page extra data:

  • Wenn die Anzahl der Blöcke auf einer Seite > 0 ist, wird zusätzlich zu den exportierten page extra data gesetzt: page.text=OCR sonst page.text=OCR

Monografien

internes FormatXML Backup
document type<document><o_info><o_doctype>monograph
chapters<document><content><chapters>
chapter<document><content><chapters><chapter>
chapter id<document><content><chapters><chapter id="...">
chapter parent id<document><content><chapters><chapter parent-id="...">
chapter title<document><content><chapters><chapter name="...">
chapter level<document><content><chapters><chapter level="...">
chapter page ids<document><content><chapters><chapter><pagerefs><pageref>...
chapter extradata<document><content><chapters><chapter><e_data><e_property name="...">...

Journale

internes FormatXML Backup
document type<document><o_info><o_doctype>journal
articles<document><content><articles>
article<document><content><articles><article>
article id<document><content><articles><article id="...">
article title<document><content><articles><article title="...">
article pageblockrefs<document><content><articles><article><pageblockrefs>
article pageblockrefs type<document><content><articles><article><pageblockrefs><pageblockref type="...">
article pageblockrefs blockref<document><content><articles><article><pageblockrefs><pageblockref blockref="...">
article extradata<document><content><articles><article><e_data><e_property name="...">...

Anmerkungen zum Import von Backup-Dokumenten:

  • Wenn der Dokumenttyp nicht monograph oder journal entspricht, wird als „Document“ importiert.
    (Beim normalen Dokumentimport ist ein Dokument immer vom Typ monograph oder journal.)