1. DokumentenformateKapitel 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 Speicherung 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 ausgeschrieben 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 ImportformateAbschnitt 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 Speicherung 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 DokumentformatAbschnitt 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
- in tabellarischer Form
- in Form eines Klassendiagramms und
- in Form des Datenbankschemas
1.2.1 Tabellarische Übersicht des internen Dokumentformates
1.2.1.1 Dokumente – Basistyp
Dokument
Datenfeld | Typ | Bemerkung |
---|---|---|
document type | String (max 31 Zeichen) | Typ des importierten Dokumentes (journal/monograph) |
document id | String (max 255 Zeichen) | eineindeutige Id des Dokumentes |
document folder id | String (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 name | String (max 255 Zeichen) | |
document name | String (max 255 Zeichen) | Titel des Dokuments |
volume date | String (max 255 Zeichen) | Datum des Dokuments (Erscheinungsdatum) |
description | String (max 255 Zeichen) | |
identifier | String (max 255 Zeichen) | |
media number | String (max 255 Zeichen) | |
barcode | String (max 255 Zeichen) | |
media type | String (max 255 Zeichen) | |
edition info | String (max 255 Zeichen) | |
number of chapters | Integer (32 Bit) | |
checked in | Long (64 Bit) | |
pages | Liste von Pages | |
extradata fields | Hashtabelle (String, String) | Name-Wert-Paare (frei definierbar) |
user id | String (max 255 Zeichen) | Id des Besitzers des Dokumentes (Standard: nicht gesetzt) |
Seiten
Datenfeld | Typ | Bemerkung |
---|---|---|
document | Referenz auf zugehöriges Dokument | |
page id | String (max 255 Zeichen) | eineindeutige Id der Seite |
number | String (max 255 Zeichen) | Nummer der Seite |
image | String (max 255 Zeichen) | Name des Seitenbildes (Dateiname) |
name | String (max 255 Zeichen) | Name der Seite |
type | String (max 255 Zeichen) | Typ der Seite |
text | String (max 255 Zeichen) | Text der Seite (ohne geometrische Auszeichnungen) |
extradata fields | Hashtabelle (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
Datenfeld | Typ | Bemerkung |
---|---|---|
page id | String (max 255 Zeichen) | Page Id der zugehörigen Seite |
blocks | Byte[] | Serialisierte Java-Objekte, welche die genauen Wort- und Blockinformationen enthalten |
Datenfeld | Typ | Bemerkung |
---|---|---|
block id | String | eineindeutige Id des Blocks |
type | String | Typ des Blocks (Text/Bild/…) |
page id | String | Id der Seite, auf welcher sich der Block befindet |
image block | Boolean | gibt an, ob der Block ein Bild enthält |
words | verlinkte Liste von Wörtern | Worte in diesem Block |
Datenfeld | Typ | Bemerkung |
---|---|---|
word | String | |
continuation | Integer | Wortfortsetzung |
conf | Double | Konfidenz |
italics | Boolean | gibt an, ob das Wort kursiv gedruckt ist |
Monografien
Monograph (erweitert: Dokument)
Datenfeld | Typ | Bemerkung |
---|---|---|
chapters | Referenz auf Liste zugehöriger Kapitel |
Kapitel
Datenfeld | Typ | Bemerkung |
---|---|---|
document | Referenz auf zugehöriges Dokument String (max 255 Zeichen) | |
chapter id | String (max 255 Zeichen) | eineindeutige Id des Kapitels |
title | String (max 2048 Zeichen) | |
level | Integer (32 Bit) | Ebene des Kapitels |
parent | Referenz auf Kapitel nächsthöherer Ebene String (max 255 Zeichen) | |
page ids | Liste von Page Ids | Seiten, die zu diesem Kapitel gehören |
extradata fields | Hashtabelle (String, String) | Name-Wert-Paare (frei definierbar) |
Journale
Journal (erweitertes Dokument)
Datenfeld | Typ | Bemerkung |
---|---|---|
articles | Referenz auf Liste zugehöriger Artikel |
Artikel
Datenfeld | Typ | Bemerkung |
---|---|---|
document | Referenz auf zugehöriges Dokument String (max 255 Zeichen) | |
article id | String (max 255 Zeichen) | eineindeutige Id des Artikels |
title | String (max 2048 Zeichen) | Artikeltitel |
page block references | Liste mit Referenzen auf zugehörige Blöcke | |
extradata fields | Hashtabelle (String, String) | Name-Wert-Paare (frei definierbar) |
Datenfeld | Typ | Bemerkung |
---|---|---|
block id | String | eineindeutige Id des referenzierten Blocks |
page id | String | Id der Seite, auf welcher sich der Block befindet |
block type | String | Typ des Blocks (logische Funktion im Artikel) |
Klassendiagramm

Datenbankschema

1.3 Mapping ImportformateAbschnitt 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-2 | MyBib eDoc | Doculib | TEI |
---|---|---|---|---|
barcode | <o_barcode> | „“ | „“ | „“ |
checked in | Checkin-Zeitpunkt | Checkin-Zeitpunkt | Checkin-Zeitpunkt | Checkin-Zeitpunkt |
description | – | – | – | – |
document name | <o_title> | <item-title> | <title> | <title> |
edition info | <o_editioninfo> | „“ | <edition> | – |
id | systemgenerierte eindeutige Id | systemgenerierte eindeutige Id | systemgenerierte eindeutige Id | systemgenerierte 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 id | – | im 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 id | CDocumentFolderId.ROOT | CDocumentFolderId.ROOT | CDocumentFolderId.ROOT | CDocumentFolderId.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 type | monograph | monograph | journal | monograph |
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 Datenfeld | XML-Element | Wert (wenn im XML nicht vorhanden oder nicht aus XML importiert wird) | Datentyp | Anmerkungen |
---|---|---|---|---|
barcode | <order><o_info><o_barcode> | „“ | String (max 255 Zeichen) | |
checked in | – | Zeitpunkt 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) | |
id | – | systemgenerierte eindeutige Id | String (max 255 Zeichen) | |
identifier | <order><o_info><o_identifier> | „“ | String (max 255 Zeichen) | |
medianumber | <order><o_info><o_medianumber> | systemgenerierte eindeutige Id | String (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 id | – | Id des ROOT-Dokumentverzeichnisses | ||
extradata fields | Alle 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 type | – | monograph | String (max 31 Zeichen) | |
chapters | Alle Elemente<order><o_content><section> und ggf. Unterelemente <order><o_content><section><subsection> | (immer aus XML, siehe Anmerkung rechts) | Liste aller Kapitel | mind. 1 Kapitel muss immer vorhanden sein |
pages | Alle Elemente<page> in<order><o_content><section> und <order><o_content><section><subsection> | (leere Liste) | Liste aller Seiten | |
number of chapters | Anzahl der Elemente<order><o_content><section> und <order><o_content><section><subsection> | 0 | 32 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 Datenfeld | XML-Element | Wert (wenn im XML nicht vorhanden oder nicht aus XML importiert wird) | Datentyp | Anmerkungen |
---|---|---|---|---|
id | – | systemgenerierte eindeutige Id | String (max 255 Zeichen) | |
page ids | – | (leere Liste) | Liste der Seiten des (Unter)Kapitel | Es ist möglich, leere Kapitel (ohne Seiten) zu importieren |
document | – | Referenz auf zugehöriges Dokument | ||
level | <order><content><section level="..."> oder <order><content><section><subsection level="..."> | 0 | 32 bit Integer | Vorgabe: 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 |
parent | – | Id des umgebenden Kapitels (nur bei Unterkapiteln, bei Kapiteln null) | ||
extradata | Alle Elemente<order><content><section>(<subsection>)<e_data><e_property name="...">... | (leere Liste) | Hashtabelle (String, String) aller extradatas |
Seiten
Internes Datenfeld | XML-Element | Wert (wenn im XML nicht vorhanden oder nicht aus XML importiert wird) | Datentyp | Anmerkungen |
---|---|---|---|---|
id | – | systemgenerierte eindeutige Id | String (max 255 Zeichen) | |
document | – | Referenz 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 fields | Alle 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 | |
image | media number + „/“ + <order><content><section>(<subsection>)<page file="..."> | Wert ist immer gesetzt | String (max 255 Zeichen) | Dokumente mit fehlenden Seitenbildern werden nicht importiert |
text | Text 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 Datenfeld | XML-Element | Wert (wenn im XML nicht vorhanden oder nicht aus XML importiert wird) | Datentyp | Anmerkungen |
---|---|---|---|---|
id | – | Id der zugehörigen Seite | String (max 255 Zeichen) | |
blocks | – | serialisiertes 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 | |
isImageBlock | – | false | boolean | |
words | <page><block><row><word> | (leere Liste) | Liste aller Wörter des Blocks | Import 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 italics | – | false (Angabe nicht in Metadaten vorhanden) | boolean | |
word conf | <page><block><row><word conf="..."> | 0 | double |
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 Datenfeld | XML-Element | Standard-Wert (wenn im XML nicht vorhanden oder nicht aus XML importiert wird) | Datentyp | Anmerkungen |
---|---|---|---|---|
barcode | „“ | „“ | String (max 255 Zeichen) | |
checked in | Zeitpunkt 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) | |
id | – | systemgenerierte eindeutige Id | String (max 255 Zeichen) | |
identifier | <document><issue><issue-metadata><issue> | „“ | String (max 255 Zeichen) | |
medianumber | wenn vorhanden<document><issue ID="..."> sonst, wenn vorhanden <document><issue><issue-metadata><date> oder XML File Last Modification Date | systemgenerierte eindeutige Id | String (max 255 Zeichen) | |
media type | „“ | String (max 255 Zeichen) | ||
publisher name | <document><issue><issue-metadata><publisher> | „“ | String (max 255 Zeichen) | |
user id | – | |||
volume date | wenn 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 id | – | Id des ROOT-Dokumentverzeichnisses | ||
extradata fields | date = (s.o. volume date)document.format = doculib document.text = true | Liste aller extradata-Felder (Name und Wert String) | date Format: yyyyMMdd | |
document type | – | journal | String (max 255 Zeichen) | |
articles | Alle Elemente<document><issue><article> | Liste aller Artikel | ||
pages | Alle Elemente<document><issue><page> | Liste aller Seiten | ||
number of chapters | 0 | 0 | Integer (32 Bit) |
Artikel
Internes Datenfeld | XML-Element | Standard-Wert (wenn im XML nicht vorhanden oder nicht aus XML importiert wird) | Datentyp | Anmerkungen |
---|---|---|---|---|
id | – | systemgenerierte eindeutige Id | String (max 255 Zeichen) | |
document | – | Referenz auf zugehöriges Dokument | ||
page block refs | – | Liste von Referenzen auf alle Blöcke in diesem Artikel (pageId, blockId, logische Auszeichnung des Blocks im Artikel (title/ subtitle/ body/ …) | ||
title | Inhalt des im Artikel referenzierten Text-Blocks mit der Auszeichnung „title“ (oder „subtitle“ wenn nicht vorhanden) (oder „rooftitle“ wenn nicht vorhanden) | „“ | String (max 2048 Zeichen) | |
extradata | – | Liste 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 Datenfeld | XML-Element | Standard-Wert (wenn im XML nicht vorhanden oder nicht aus XML importiert wird) | Datentyp | Anmerkungen |
---|---|---|---|---|
id | – | systemgenerierte eindeutige Id | String (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) | ||
number | i’te Position der Seite im Dokument (Laufvariable für Seiten im Importer) | String (max 255 Zeichen) | ||
type | „Seite“ | String (max 255 Zeichen) | ||
extradata fields | page.text = OCR | Liste aller extradata-Felder (Name und Wert String) | ||
image | media number + „/“ + <document><issue><page><page_metadata><image_filename> | String (max 255 Zeichen) | ||
text | Text aller Wort-Blöcke auf der Seite (ohne Geo-Informationen) | „“ | String (max 60000 Zeichen) |
Seiten – Geoinformationen
Internes Datenfeld | XML-Element | Standard-Wert (wenn im XML nicht vorhanden oder nicht aus XML importiert wird) | Datentyp | Anmerkungen |
---|---|---|---|---|
id | – | Id der zugehörigen Seite | ||
blocks | – | serialisiertes 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="..."> | |||
isImageBlock | false | |||
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 continuation | Lä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 Datenfeld | XML-Element | Standard-Wert (wenn im XML nicht vorhanden oder nicht aus XML importiert wird) | Datentyp | Anmerkungen |
---|---|---|---|---|
barcode | „“ | „“ | String (max 255 Zeichen) | |
checked in | – | Zeitpunkt 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) | |
id | – | systemgenerierte eindeutige Id | String (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 id | eL-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 id | – | Id des ROOT-Dokumentverzeichnisses | ||
extradata fields | item-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 type | – | monograph | String (max 255 Zeichen) | |
chapters | Alle Elemente<section> in <job><structure><content> | Liste aller Kapitel | ||
pages | Alle Elemente<page> in <job><structure><content><section><pages> | |||
number of chapters | Anzahl 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 Datenfeld | XML-Element | Standard-Wert (wenn im XML nicht vorhanden oder nicht aus XML importiert wird) | Datentyp | Anmerkungen |
---|---|---|---|---|
id | – | systemgenerierte eindeutige Id | String (max 255 Zeichen) | |
pageIds | – | Liste von pageIds in dieser section | ||
document | – | Referenz auf zugehöriges Dokument | ||
level | 1 | 32 Bit Integer | ||
title | <job><structure><content><section><sectionname> | „“ | String (max 255 Zeichen) | |
parent | – | Id des umgebenden Kapitels (nur bei Unterkapiteln, bei Kapiteln null} (also bei MyBib eDoc immer null) | ||
extradata | – | Liste aller extradata-Felder (Name und Wert String) |
Seiten
Internes Datenfeld | XML-Element | Standard-Wert (wenn im XML nicht vorhanden oder nicht aus XML importiert wird) | Datentyp | Anmerkungen |
---|---|---|---|---|
id | – | systemgenerierte eindeutige Id | String (max 255 Zeichen) | |
document | – | Referenz 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 fields | wenn 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) | ||
image | media number + „/“ + <job><structure><content><section><pages><page><file> | String (max 255 Zeichen) | ||
text | Text der Seite (ohne Geo-Informationen) (wenn vorhanden, aus TXT) | String (max 255 Zeichen) |
Seiten – Geoinformationen
Internes Datenfeld | XML-Element | Wert (wenn im XML nicht vorhanden oder nicht aus XML importiert wird) | Datentyp | Anmerkungen |
---|---|---|---|---|
id | – | Id der zugehörigen Seite | String (max 255 Zeichen) | |
blocks | – | serialisiertes Objekt für Page Blocks | (Hashtabelle Id, Block) | |
bounding box (l, t, r, b) | <page><block left="..." top="..." right="..." bottom="..."> | |||
type | – | "text" | ||
isImageBlock | – | false | ||
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 italics | – | false (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 Datenfeld | XML-Element | Standard-Wert (wenn im XML nicht vorhanden oder nicht aus XML importiert wird) | Datentyp | Anmerkungen |
---|---|---|---|---|
barcode | – | „“ | String (max 255 Zeichen) | |
checked in | – | Zeitpunkt des Checkins (Serverzeit) (number of milliseconds since January 1, 1970, 00:00:00 GMT) | String (max 255 Zeichen) | |
description | – | „“ | String (max 255 Zeichen) | |
document name | wenn 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) | |
id | – | systemgenerierte eindeutige Id | String (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 Id | String (max 255 Zeichen) | |
media type | – | String (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 id | – | Id des ROOT-Dokumentverzeichnisses | ||
extradata fields | wenn 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 type | – | monograph | String (max 31 Zeichen) | |
chapters | Alle Elemente<TEI><facsimile ana="#facsMeta"><surface> und alle <TEI><body><div> und alle <TEI><front><div> | |||
pages | Alle Elemente<TEI><body><div><page> und alle <TEI><front><div><page> und alle <TEI><facsimile><surface> | |||
number of chapters | Anzahl der Elemente in der chapters Liste | 0 |
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 Datenfeld | XML-Element | Standard-Wert (wenn im XML nicht vorhanden oder nicht aus XML importiert wird) | Datentyp | Anmerkungen |
---|---|---|---|---|
id | systemgenerierte eindeutige Id | String (max 255 Zeichen) | ||
page ids | Liste von page ids im jeweiligen Kapitel | |||
document | Referenz auf zugehöriges Dokument | |||
level | Wenn <TEI><front|body><div><head> nicht null dann 1sonst 0 | |||
title | <TEI><front|body><div><head> | „“ | ||
parent | id des umgebenden Kapitels oder null | |||
extradata | Fü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 Datenfeld | XML-Element | Standard-Wert (wenn im XML nicht vorhanden oder nicht aus XML importiert wird) | Datentyp | Anmerkungen |
---|---|---|---|---|
id | – | systemgenerierte eindeutige Id | ||
document | (Referenz auf Dokument) | |||
name | <TEI><body|front><div><page><image nativeno="..."> | |||
number | <TEI><body|front><div><page><image seqno="..."> | |||
type | – | |||
extradata fields | page.text = OCR wenn vorhanden, sonst page.text = Plain wenn vorhanden | |||
image | medianumber + „/“ + <TEI><body|front><div><page><image entityref="..."> + + jpg/jpeg/tif/tiff/png | |||
text | Text (ohne Geo-Infos) der Seite aus NZZ-XML oder TXT (wenn vorhanden) wenn beides, überschreibt TXT den Text aus XML |
Seiten (Facsimile)
Internes Datenfeld | XML-Element | Standard-Wert (wenn im XML nicht vorhanden oder nicht aus XML importiert wird) | Datentyp | Anmerkungen |
---|---|---|---|---|
id | – | systemgenerierte eindeutige Id | ||
document | (Referenz auf Dokument) | |||
name | <TEI><facsimile><surface><desc><list><item> | |||
number | <TEI><facsimile><surface><desc><list><item> | |||
type | – | |||
extradata fields | – | |||
image | media 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 Format | XML 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 Format | XML 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
sonstpage.text=OCR
Monografien
internes Format | XML 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 Format | XML 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.)