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.

Schematron-Dateien

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.

METS/MODS-Anwendungsprofil für digitalisierte Medien

Die Validierung prüft die für die DDB relevanten Anforderungen aus dem METS-Anwendungsprofil für digitalisierte Medien, dem MODS-Anwendungsprofil für digitalisierte Medien und einigen darüber hinausgehenden Anforderungen der DDB.
Die Valdierung ist sowohl für Datensätze zu Bänden (z. B. "monograph", "volume") als auch für Datensätzen zu übergeordneten Strukturen (z. B. "periodical", "multivolume_work") ausgelegt.

METS/MODS-Anwendungsprofil für Zeitungen

Die Validierung prüft die für die DDB relevanten Anforderungen aus dem METS-Anwendungsprofil für digitalisierte Medien, dem MODS-Anwendungsprofil für digitalisierte Medien, dem METS/MODS-Anwendungsprofil für Ausgaben von Zeitungen und einigen darüber hinausgehenden Anforderungen der DDB.
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. 

DDB EDM Anwendungsprofil

  • in Vorbereitung

DDB MARC 21 (XML) Anwendungsprofil

  • in Vorbereitung

Bestandteile der Schematron-Dateien

Die Schematron-Dateien enthalten Informationen zur Auswertung und Analyse der Fehler. Sie werden im Folgenden beschrieben und stellen - soweit möglich - Bezüge zum Analysereport her.

Versionierung

Die Versionierung erfolgt in der Form des ISO 8601-Zeitstempels im Attribut "shemaVersion" im Wurzelelement "sch:schema".

Beispiel
<sch:schema
   ... 
   schemaVersion="v2021-07-09T12:13:36"
   ...
   >
   ...

Bezeichnung

Die Bezeichnung eines Fehler befindet sich in einem Kommentar über dem Element "sch:assert" bzw. "sch:report".
Sie dient im Analysereport als "Titel" des Fehlers.

Beispiel
...
<sch:pattern>
   <sch:rule context="mets:xmlData/mods:mods/mods:titleInfo[@type]">
      <!-- Falsche Attributwerte in mods:titleInfo -->
      <sch:assert 
         id="titleInfo_04"
         ...
      >
    ...

Fehlermeldung und Hinweis auf das Anwendungsprofil

Die Fehlermeldung mit dem Hinweis auf die entsprechende Stelle im Anwendungsprofil befindet sich im Elementtext des Elements "sch:assert" bzw. "sch:report".
Beides wird im Analysereport direkt nach dem Titel angezeigt.
Der Hinweis auf das Anwendungsprofil ist in Abhängigkeit vom Fehler ein Text oder eine URL.

Beispiel
...
<sch:assert
   id="titleInfo_04"
   ...
   >         
   In mods:titleInfo dürfen in dem Attribut type nur die im MODS-Anwendungsprofil genannten Werte verwendet werden. 
   Diese Werte sind: "abbreviated", "translated", "alternative", "uniform". Werden andere Werte verwendet, wird mods:titleInfo bei der Bereinigung der Daten entfernt. 
   Weitere Informationen zu diesem Element s. MODS-Anwendungsprofil Kapitel 2.1.1
</sch:assert>
...
<sch:assert 
   id="originInfo_10"
   ...
   >
   Der Wert in mods:dateIssued muss einem Tagesdatum nach dem ISO 8601 Standard entsprechen. Ist dies nicht der Fall, kann die Ausgabe nicht dem 
   richtigen Datum im Kalender des Zeitungsportals zugeordnet werden und kann daher nicht in das Zeitungsportal übernommen werden. Weitere Informationen 
   zu diesem Element s. https://wiki.deutsche-digitale-bibliothek.de/display/DFD/Ausgabe+Zeitung+1.0#AusgabeZeitung1.0-ErscheinungsdatumderAusgabe
</sch:assert>
...

Verweise auf Beispiele

Ein Verweis auf die Best Practice-Beispiele zu den für den Fehler 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 Fehlermeldung.

Beispiel
...
<sch:assert
   id="titleInfo_04"
   ...
   see="https://wiki.deutsche-digitale-bibliothek.de/display/DFD/titleInfo"
   >         
   ...
</sch:assert>
...

Fehler-ID

Die Fehler-ID befindet sich im Attribut "id" des Elements "sch:assert" bzw. "sch:report".
Sie dient in der Fehlerlistentabelle als Bezeichnung für das entsprechende Tabellenblatt, auf das der Analysereport verweist (z. B. "Die vollständige Liste der Fehler finden Sie in der Fehlerlistentabelle im Tabellenblatt titleInfo_04").

Beispiel
...
<sch:assert
   id="titleInfo_04"
   ...
   >         
   ...
</sch:assert>
...

Fehler-Level

Das Fehler-Level befindet sich im Attribut "role" des Elements "sch:assert" bzw. "sch:report".
Es dient zur Einordnung der Schwere des Fehlers. Der Analysereport ordnet dem Fehler-Level eine Farbe und Texte für die Grafik in der Übersicht und den Hinweis am Ende der einzelnen Fehlermeldungen zu.

Die Validierungen verwenden die folgenden Werte:

  • info
    • blau
    • Datensätze mit Elementen, die in der DDB nicht berücksichtigt werden. (Grafik)
    • Diese Elemente werden in der DDB nicht berücksichtigt. (Fehlermeldung)
  • warn
    • gelb
    • Fehlerhafte Datensätze, die unverändert eingespielt werden. (Grafik)
    • Dieser Fehler verhindert nicht das Einspielen der Datensätze. (Fehlermeldung)
  • error
    • orange
    • Fehlerhafte Datensätze, die von der Fachstelle korrigiert werden. (Grafik)
    • Dieser Fehler wird von der Fachstelle Bibliothek bereinigt. (Fehlermeldung)
  • fatal
    • rot
    • Fehlerhafte Datensätze, die nicht eingespielt werden. (Grafik)
    • Dieser Fehler verhindert das Einspielen der Datensätze. (Fehlermeldung)
Beispiel
...
<sch:assert
   id="titleInfo_04"
   role="error"
   ...
   >         
   ...
</sch:assert>
...

Properties

Die Schematron-Validierungen verwenden in einigen Prüfungen Schematron-Properties (im Attribut "properties" des Elements "sch:assert" bzw. "sch:report").
Sie dienen dazu, Fehler in den Datensätzen einfacher zu lokalisieren (Beispieldatensätze im Analysereport, Spalte "B" in der Fehlerlistentabelle) bzw. im Analysereport Übersichten mit ungültigen Werten zu erzeugen.
Es gibt sowohl allgemeine als auch formatspezifische Properties, die im Folgenden beschrieben sind.

Beispiel
...
<sch:assert
   id="titleInfo_04"
   ...
   properties="dmd_id type"
   ...
   >         
   ...
</sch:assert>
...

Allgemein

Die folgenden Properties beziehen sich auf allgemeine XML Aspekte:

  • text
    • Der Elementinhalt (text()) des relevanten Elements
  • local_name
    • Der Name des relevanten Elements ohne Präfix (local-name())
  • name
    • Der Name des relevanten Elements mit Präfix (name())

METS/MODS

Die folgenden Properties finden in den Validierungen für METS/MODS-Anwendungsprofile Verwendung:

  • dmd_id
    • Der Wert des Attributs ID der mets:dmdSec, in der sich das relevante Element befindet.
  • id
    • Der Wert des Attributs ID des relevante Elements (z. B. mets:div)
  • type
    • Der Wert des Attributs type des relevante Elements (z. B. mods:note)
  • TYPE
    • Der Wert des Attributs TYPE von mets:div Elementen im Element mets:structMap[@TYPE='LOGICAL']

  • source
    • Der Wert des Attributs source des relevanten Elements (z. B. mods:recordIdentifier)

EDM

Die folgenden Properties finden in den Validierungen für EDM-Anwendungsprofile Verwendung:

  • xpath_parent
    • Der XPath des relevanten Elements beginnend mit dem Klassenelement
  • about
    • Der Wert des Attributs rdf:about des relevanten Elements (Klassen-Element, z. B. edm:ProvidedCHO)
  • lang
    • Der Wert des Attributs xml:lang des relevanten Elements (Property-Element, z. B. skos:prefLabel)


  • No labels