Die Fachstelle Bibliothek verwendet zur Erstellung ihrer Analysereports eine Validierung auf Basis von Schematron. Auf dieser Seite stellt sie die entsprechendenen Schematron-Dateien für die verschiedenen Anwendungsprofile zur Verfügung, erläutert ihre Bestandteile und ihren Bezug zum Analysereport.
Die Anwendung und das Verständnis der Funktionsweise der Schematron-Validierungen setzt Kenntnisse von Schematron und den verwendeten Techniken voraus (XPath, XSLT).
Bei Fragen und Anregungen zu den Schematron-Validierungen wenden Sie sich bitte an die Fachstelle Bibliothek.
Die Schematron-Validierungen der Fachstelle Bibliothek setzen pro Datensatz genau eine Datei voraus. Ein Datensatz muss das jeweilige Wurzelelement enthalten (z. B. <mets:mets>), welches optional in weitere Elemente (z. B. "OAI-Wrapper") eingebettet sein kann.
Die Fachstelle stellt die Validierungen jeweils als Schematron-Datei und als mit der Skeleton Implementierung kompilierte XSL-Datei zur Verfügung. Letztere verwendet sie zusammen mit Saxon-HE zur Erzeugung des Analysereports.
Alle Dateien sowie eine Übersicht der Änderungen stellt die Fachstelle über das GitHub Repository der Deutschen Digitalen Bibliothek zur Verfügung.
Diese Validierung prüft Datensätze auf die Anforderungen aus dem Anwendungsprofil für DDB-METS/MODS. Sie ist für Datensätze ausgelegt, die einteilige Dokumente, Teile von mehrteiligen Dokumenten oder Ankersätze beschreiben.
Diese Validierung prüft Datensätze auf die Anforderungen aus dem Anwendungsprofil für DDB-METS/MODS - Aufbau für Zeitungsausgaben.
Die Validierung ist nur für Datensätze zu Ausgaben ("issue") bzw. Beilagen ("additional") einer Zeitung ausgelegt. Sie kann daher keine Datensätze zu übergeordneten Strukturen (Bände, Zeitungen) prüfen.
Die Schematron-Dateien enthalten Informationen zur genauen technischen Prüfung und Auswertung. Sie werden im Folgenden beschrieben und stellen - soweit möglich - Bezüge zum Analysereport her.
Die Versionierung erfolgt in der Form des ISO 8601-Zeitstempels im Attribut "shemaVersion" im Wurzelelement "sch:schema".
<sch:schema ... schemaVersion="v2021-07-09T12:13:36" ... > ... |
Die Bezeichnung einer Meldung befindet sich in einem Kommentar über dem Element "sch:assert" bzw. "sch:report".
Sie dient im Analysereport als "Titel" des Meldung.
... <sch:pattern> <sch:rule context="mets:xmlData/mods:mods/mods:titleInfo[@type]"> <!-- Ungültiger Wert im Attribut type von mods:titleInfo --> <sch:assert id="titleInfo_04" ... > ... |
Die Meldung mit dem Hinweis auf die entsprechende Stelle im Anwendungsprofil befindet sich im Elementtext des Elements "sch:assert" bzw. "sch:report". Beide Elemente können zusätzlich das Unterelement "sch:span" mit dem Attribut "class" mit folgenden Werten enthalten:
monotype
italic
bold
Diese Angaben verwendet der Analysrerepot für entsprechende Textformatierungen.
Der Hinweis auf das Anwendungsprofil ist in Abhängigkeit von der Meldung ein Text oder eine URL.
... <sch:assert id="titleInfo_04" ... > Das Attribut <sch:span class="monotype">type</sch:span> im Element <sch:span class="monotype">mods:titleInfo</sch:span> darf nur die folgenden Werte enthalten: * <sch:span class="monotype">abbreviated</sch:span> * <sch:span class="monotype">translated</sch:span> * <sch:span class="monotype">alternative</sch:span> * <sch:span class="monotype">uniform</sch:span> Ist dies nicht der Fall, wird <sch:span class="monotype">mods:titleInfo</sch:span> bei der Bereinigung des Datensatzes entfernt.Weitere Informationen zu diesem Attribut finden Sie im DDB-METS/MODS-Anwendungsprofil auf der Seite mods:titleInfo (https://wiki.deutsche-digitale-bibliothek.de/x/xcIeB). </sch:assert> ... |
Ein Verweis auf die Best Practice-Beispiele zu den für den Meldung relevanten Elementen befindet sich im Attribut "see" des Elements "sch:assert" bzw. "sch:report".
Im Analysereport dient der Verweis als Link für den Text "Beispiele für dieses Element" unterhalb der Meldung.
... <sch:assert id="titleInfo_04" ... see="https://wiki.deutsche-digitale-bibliothek.de/display/DFD/titleInfo" > ... </sch:assert> ... |
Die Meldungs-ID befindet sich im Attribut "id" des Elements "sch:assert" bzw. "sch:report".
Sie dient in der Meldungslistentabelle als Bezeichnung für das entsprechende Tabellenblatt, auf das der Analysereport verweist (z. B. "Die vollständige Liste der Meldungen finden Sie in der Meldungslistentabelle im Tabellenblatt titleInfo_04").
... <sch:assert id="titleInfo_04" ... > ... </sch:assert> ... |
Das Meldungs-Level befindet sich im Attribut "role" des Elements "sch:assert" bzw. "sch:report".
Es dient zur Einordnung der Schwere des Meldung. Der Analysereport ordnet dem Meldungs-Level eine Farbe und Texte für die Grafik in der Übersicht und den Hinweis am Ende der einzelnen Meldungen zu.
Die Validierungen verwenden die folgenden Werte:
info
warn
caution
error
fatal
... <sch:assert id="titleInfo_04" role="error" ... > ... </sch:assert> ... |
Die Schematron-Validierungen verwenden in einigen Prüfungen Schematron-Properties (im Attribut "properties" des Elements "sch:assert" bzw. "sch:report").
Sie dienen dazu, relevante Elemente in den Datensätzen einfacher zu lokalisieren (Beispieldatensätze im Analysereport, Spalte "B" in der Meldungslistentabelle) bzw. im Analysereport Übersichten mit ungültigen Werten zu erzeugen.
Es gibt sowohl allgemeine als auch formatspezifische Properties, die im Folgenden beschrieben sind.
... <sch:assert id="titleInfo_04" ... properties="dmd_id type" ... > ... </sch:assert> ... |
Die folgenden Properties beziehen sich auf allgemeine XML Aspekte:
text
local_name
name
Der Name des relevanten Elements mit Präfix (name())
Die folgenden Properties finden in den Validierungen für METS/MODS-Anwendungsprofile Verwendung:
dmd_id
id
type
TYPE
Der Wert des Attributs TYPE von mets:div Elementen im Element mets:structMap[@TYPE='LOGICAL']
source
Die folgenden Properties finden in den Validierungen für EDM-Anwendungsprofile Verwendung:
xpath_parent
about
lang