Digital resources in the Social Sciences and Humanities OpenEdition Our platforms OpenEdition Books OpenEdition Journals Hypotheses Calenda Libraries OpenEdition Freemium Follow us

Lehre @DH-BUW // Dokumente – Quellen – Editionen. Texterschließung mit TEI und Co. Sommersemester 2021

Nadine Sutor, WissMa @DHBUW

Mit den inzwischen gut etablierten Digital Humanities an der Bergischen Universität Wuppertal (BUW) nimmt auch die Ausweitung des Lehrangebots weiter Fahrt auf. Zwar sind die DH hier in der Geschichtswissenschaft angesiedelt. Die Konzeption der Lehrveranstaltungen verfolgte jedoch von Beginn an eine interdisziplinäre Ausrichtung. Interessierte Studierende aus allen geisteswissenschaftlichen Disziplinen sollen die Möglichkeit bekommen, einen sicheren Umgang mit digitalen Werkzeugen zu erlernen, ein Grundverständnis in der Arbeit mit XML-basierten Datenstandards, Markup-Sprachen und Semantic-Web Technologien auszubilden sowie von einer Vielzahl an praktischen Übungen profitieren. Damit leisten die digitalen Geisteswissenschaften am Standort Wuppertal einen wichtigen Beitrag zum Kompetenzaufbau und der Ausbildung des wissenschaftlichen Nachwuchses in Form einer jungen, nachrückenden Generation an „Digital Humanists“.

Im Sommersemester 2021 gab es nach einer zweijährigen Auszeit erstmals wieder eine praktische Übung zur philologischen Textauszeichnung mit TEI, in der die texttechnologische Kodierungspraxis in mehreren Beispielen exemplarisch eingeübt wurde. Mit 8 Teilnehmer*innen aus unterschiedlichen, nicht nur geisteswissenschaftlichen Disziplinen war die Anzahl der Studierenden übersichtlich. Einige brachten Vorwissen im Umgang mit Prozessen der elektronischen Datenverarbeitung.

Was ist TEI?

Die Text Encoding Initiative [1] (TEI) ist ein internationales Konsortium, das den maßgeblichen Standard zur Kodierung und zum Austausch von Texten in den Geisteswissenschaften entwickelt, der technisch in XML ausgedrückt wird. Die von der TEI formulierten Richtlinien haben sich für die Wiedergabe beliebiger Arten von Dokumenten und die philologische und historische Textauszeichnung etabliert. Hierzu spezifiziert die TEI eine Markupsprache, die die Datengrundlage für einen großen Teil der geisteswissenschaftlichen Forschungsvorhaben in unserer Zeit darstellt, die Bedienung unterschiedlicher Ausgabeszenarien ermöglicht und ihre Nutzung unter Anwendung von DH-Tools Werkzeugen erlaubt. Als Fundament für die Modellierung unterschiedlicher Textsorten und Genres bieten die Richtlinien nicht nur Kodierungsmöglichkeiten für die Wiedergabe, Erschließung, Annotation und kritische Edition von Texten, sondern erleichtern und unterstützen Vorhaben, die über die statische Präsentation eines Textes hinausgehen. TEI-basierte Daten dokumentieren die Entstehungsgeschichte, erlauben eine detaillierte Auszeichnung des dokumentarischen Befundes, verbinden Text und Bild und generieren variable Anzeigeformen.

Als fester Bestandteil des Studienverlaufs im Master Editions-und Dokumentwissenschaft (EDW) [2] ergänzt und erweitert die praxisorientierte Veranstaltung die Kompetenzen im philologischen und medientechnologischen Profil. Die texttechnologische Kodierungspraxis unter Anwendung des TEI-Standards bereichert jedoch nicht nur die Editionswissenschaft. Da das interdisziplinär ausgerichtete Regelwerk der TEI vielfältige Möglichkeiten der digitalen Textauszeichnung für nahezu alle geisteswissenschaftlichen Disziplinen bietet, profitieren beispielsweise die Geschichtswissenschaft, die Germanistik, die Literaturwissenschaften und die Philosophie von dieser Technologie, um nur einige Disziplinen zu nennen. In Kombination mit speziellen Schemasprachen und Werkzeugen hält die TEI einen ganzen Kosmos an Ideen für unterschiedliche Verwendungszwecke und Anwendungsgebiete in den Digital Humanities bereit.

Die Quelle(n)

Als zuvor aufbereitetes Spielmaterial dienten die Transkriptionen [3] der „Briefe aus dem Wupperthal“ [4] die der damals noch junge Friedrich Engels in seiner Bremer Zeit regelmäßig im „Telegraph für Deutschland“ [5] Ende des 19. Jahrhunderts unter dem Pseudonym „Friedrich Oswald“ [6] veröffentlichte. Einige Studierende brachten eigene Texte mit in die Übung. Material aus anderen Veranstaltungen oder aus Projekten, in denen sie aktuell arbeiten. In der Sitzung zu „Genrespezifischen Dokumentstrukturen“ sollten die Teilnehmer*innen jedoch auch mit anderen, ihnen unbekannten Gattungen und den damit verbundenen Herausforderungen, speziell die Kodierung betreffend, konfrontiert werden. Dazu zählt die Auszeichnung von Briefstrukturen, Dramen und lyrischen Texten.

Modellierung: Metadaten und Textbereich

Im Fokus der Sitzungen zur Datenmodellierung stand die Auszeichnung einfacher Textstrukturen und die Kodierung der Metadaten im teiHeader. Nach einer Einleitung in die XML-Technologie, dem Versuch einer Klassifizierung verschiedener Markup-Sprachen sowie der Vermittlung des Konzepts „logisches“ und „präsentationsorientiertes“ Markup und der Erläuterung von Wohlgeformtheit und Validität ging es unmittelbar an die TEI als standardisierte XML-Anwendung. In den textuellen Wissenschaften hat sich inzwischen eine Vielzahl gut etablierter Standards für die Auszeichnung von Dokumenten etabliert. Das betrifft sowohl die Beschreibung übergeordneter Strukturen wie Überschriften und Absätze als auch den semantischen Inhalt. Die Überleitung zur TEI bildete die Frage: Wie sieht es mit einem Standard für die digitale Beschreibung von Dokumenten in den Textwissenschaften aus? Ein stetiger Begleiter waren die TEI-Guidelines. Als modular aufgebautes Regelwerk bildeten diese Richtlinien die Grundlage für die praktische Arbeit und gleichzeitig Orientierung und Empfehlungen für die Studierenden.

Erschließung und Publikation

Als Vorbereitung auf die theoretische wie praktische Behandlung spezifischer Anwendungsfelder wie Personen- Orts- und Werkregister sowie Stellenerläuterungen und Kommentare sollte zusätzlich zur äußeren Textdarstellung auch eine inhaltliche Erschließung mittels sogenannter Named Entities erfolgen. Die Generierung und Einbindung selbst erzeugter Schemata für die Kontrolle der erstellten Daten bildete die vorletzte Einheit. Bevor es um die webbasierte Ausgabe von TEI-Dokumenten ging, mussten zunächst Konzept und Funktionsweise und insbesondere das Zusammenspiel der Transformationssprache XSLT und der Pfadsprache XPath vermittelt werden. Durch ein selbstgeschriebenes XSLT-Skript und unter Hinzunahme zweier relevanter Frontend-Technologien (HTML & CSS) publizierten die Studierenden ihre Daten in einer Webausgabe.

Tools: ROMA und TEI-Publisher

Ein wichtiger Bestandteil einer jeden Veranstaltung sollte der Einbezug von Tools, Werkzeugen und aktueller Software sein. In vielen Fällen unterstützt und erleichtern sie die Arbeit mit projekteigenen Daten. Für die Generierung des Schemas kam das Web-Frontend ROMA [7] zum Einsatz. Als eine Alternative zu XSLT wurde für die TEI-basierte Datenvisualisierung der in den DH inzwischen beliebte TEI-Publisher [8] unter Anwendung in zwei Beispielprojekten [9] vorgestellt.

11 Tipps aus der praktischen Projektarbeit: Luhmann, Rhodomanologia und Co.

Mit einer sehr aufschlussreichen und ausführlichen Präsentation über die praktische Anwendung der TEI in drei aktuellen Forschungsvorhaben gab uns Dr. Jennifer Bunselmeier, wissenschaftliche Mitarbeiterin am Lehrstuhl für DH in Wuppertal und Projektmitarbeiterin im Akademie-Vorhaben “Niklas Luhmann – Theorie als Passion” [10] in der letzten Sitzung wertvolle Einblicke in die projektspezifische Datenmodellierung und die damit verbundenen Herausforderungen. Größere und kleinere Etappen, die in keinem Workflow fehlen dürfen, sind zunächst eine Priorisierung der Arbeitsschritte, eine ausführliche Dokumentation aller durchgeführten Aktionen an und im Projekt, sowie die Einhaltung einer gewissen Ordnung. Letzter Punkt betrifft insbesondere die Organisation und Ablage der Daten. Der Entwurf einer modellhaften Visualisierung des Datenzyklus kann dabei helfen, Fehler im Workflow ausfindig zu machen. Der letzte Schritt einer Überprüfung aller Tasks sollte nicht nur am Schluss, sondern zwischendurch mehrfach wiederholt werden. Mit der Vorstellung dieser Tipps sollten die Studierenden einen Einblick in die praktische Projektarbeit bekommen und dafür sensibilisiert werden, wie wichtig jeder dieser Abschnitte für ein befriedigendes, vielversprechendes und vor allem nachhaltiges Endergebnis ist.

Fazit und Ausblick

Die TEI-Übung im Sommersemester 2021 war meine erste Lehrveranstaltung an der BUW. Sicher ist man vor dem offiziellen Start nervös. Es kommen Fragen auf: Ist das alles so richtig? Kann ich das so machen? Ist die Reihenfolge sinnvoll? Sind die Inhalte verständlich? Sollte noch ein Zwischenschritt kommen? […] Am Ende konnte ich stolz auf mich sein, denn es hat mir Spaß gemacht. Auch bei den Studierenden war eine gewisse Zufriedenheit, aber auch Erleichterung erkennbar. Erleichterung, weil die Welt der X-Technologien und den damit verbundenen Möglichkeiten auf den ersten Blick erschlagend und kompliziert wirken kann. Trotz dieser für einige doch schweren Materie fiel die Feedbackrunde positiv aus und brachte mir eine gute Rückmeldung. Nicht nur die Teilnehmer*innen, auch Kolleginnen und Kollegen, die gelegentlich vorbeischauten, gaben mir ein positives Feedback. Es ist schön zu sehen, wie wir (immer noch) im eigenen Team voneinander lernen können.

In wenigen Wochen geht es auch schon wieder los! Webtechnologien für Geisteswissenschaftler*innen wird es geben. Mit tatkräftiger Unterstützung von Lena Stahn und Stephan Makowski. Mal sehen, wie viele „Geistis“ sich dieses Mal in die digitale Welt wagen. Es gilt: no brackets, no fun!


[1] Offizielle Website des TEI-Consortiums: https://tei-c.org/, zuletzt geprüft am 02.08.2021.

[2] Vorstellung des Masters „EDW“ auf der Website der Bergischen Universität Wuppertal (BUW). Die Veranstaltung zum XML-basierten Datenstandard ist ein Pflichtmodul, das im Rahmen des Studienverlaufsplan als Pflichtkurs zu belegen ist. Startseite online verfügbar unter: https://www.edw.uni-wuppertal.de/de/home.html, zuletzt geprüft am 02.08.2021.

[3] In drei aufeinanderfolgenden Semestern erstellte der EDW-Master unter der Leitung von Bernd Füllner eine Vielzahl an Transkriptionen sämtlicher Werke von Friedrich Engels.

[4] Die Transkriptionen bildeten die Grundlage für die im Winter 2020 publizierte Print-Edition anlässlich des Engels-Jahrs in Wuppertal.
Neuerscheinung zum Engelsjahr. Wuppertaler Studierende bringen „Briefe aus dem Wupperthal“ neu heraus. Medieninformation auf der Website der BUW: https://www.presse.uni-wuppertal.de/de/medieninformationen/2020/12/09/32958-neuerscheinung-zum-engelsjahr-wuppertaler-studierende-bringen-briefe-aus-dem-wupperthal-neu-heraus/ zuletzt geprüft am 03.08.2021.

[5] Telegraph für Deutschland. Deutsche Kulturzeitschrift des 19. Jahrhunderts. Online verfügbar in den Digitalen Sammlungen der Lippischen Landesbibliothek Detmold. https://digitale-sammlungen.llb-detmold.de/periodical/titleinfo/6868786, zuletzt geprüft am 03.08.2021.

[6] Gelegentlich auch „F. Oswald“, und „Friedrich O.“

[7] Roma – ODD Customization. Web-Frontend online verfügbar unter: https://romabeta.tei-c.org/, zuletzt geprüft am 03.08.2021.

[8] TEI-Publisher. The Instant Publishing Toolbox. Projektwebsite online verfügbar unter: https://teipublisher.com/index.html, zuletzt geprüft am 03.08.2021.

[9] Eines der Projekte visualisiert einen mittelalterlichen Handschriftenkorpus in Form einer virtuellen Bibliotheksrekonstruktion. Das zweite Projekt präsentiert die Jahrgänge 1618 und 1619 der Frankfurter Postzeitung. Beide Projekte befinden sich aktuell noch in der Entwicklung.

[10] Projektwebsite online verfügbar unter: https://niklas-luhmann-archiv.de/, zuletzt geprüft am 03.08.2021.

Word validieren mit Schematron?

Wie kann eine Worddatei validiert werden, sodass daraus erfolgreich projektspezifisches TEI-XML transformierbar ist?

von Dr. Jennifer Bunselmeier

Abstract: Um aus einer Worddatei per XSL-Transformation saubere TEI-XML generieren zu können, müssen die Dateien vorgegebene Formatierungsregeln genau einhalten. Wie kann dies sichergestellt und eine kontextabhängige Qualitätskontrolle durchgeführt werden? Ich teste zwei Möglichkeiten: das Onlinetool Data2Check und ein projektspezifisches Schematron, das auf der Word-XML aufsetzt. Hier ein Zwischenbericht.

Die Frage der Nutzer(un)freundlichkeit von digitalen Tools ist ein Dauerthema in der DH-Community. Die editorische Arbeit in unserem Projekt startete 2012 unmittelbar in den XML-Dateien. Diesen Arbeitsmodus empfanden die EditorInnen jedoch auch nach mehrjähriger Einarbeitungszeit als aufwändig, unkomfortabel und vor allem als extrem störend für den geisteswissenschaftlichen Denk- und Arbeitsfluss. Sie fühlten sich in ihrer editorischen Arbeit mehr behindert als unterstützt.

Als Zugeständnis an die Kodierenden, die sich bei der Arbeit ein etwas wohlgefälligeres Layout wünschen, bei dem der Lesefluss nicht durch XML-Tags im Text gestört wird, hätte sich ein Wechsel zum Oxygen-Autormodus mit einem projektspezifischen Framework (oder angelehnt an Ediarum). Diese Option wurde jedoch seinerzeit aus verschiedenen insbesondere strukturellen Gründen nicht gewählt.

Stattdessen arbeiten die EditorInnen jetzt in Word. Da eine docx-Worddatei im Hintergrund auf XML basiert, kann sie durch eine Transformation, z. B. per XSL oder XQuery (Word2TEI-Transformation), in das gewünschte Zielformat TEI-XML übersetzt werden.1 Dieses TEI-XML wird dann über weitere Skripte in HTML transformiert und in der Onlineedition angezeigt. Auf diese Weise können die EditorInnen in der vertrauten graphischen Wordoberfläche arbeiten und das Ergebnis direkt in der Onlineedition veröffentlicht sehen, ohne selber mit den XML-Dateien arbeiten zu müssen.

Unabdingbare Voraussetzung für eine erfolgreiche Transformation von Word-XML zu TEI-XML sind allerdings klare 1:1 Übersetzungsregeln. Das bedeutet, für jedes Phänomen und jede Formatierung in Word muss festgelegt sein, in welches TEI-Element es übersetzt werden muss. Umgekehrt muss jedes TEI-Element des Projekt-Datenmodells eine eindeutige, identifizierbare Entsprechung in der Worddatei haben. 

Inzwischen hat sich dieser Word2TEI-Workflow im Projekt etabliert, weist allerdings drei große Schwachstellen auf, für die in naher Zukunft eine Lösung gefunden werden muss.


1. Viele Transformationsschritte  – viele Fehlerquellen


Abb. 1   Der Word2TEI-Worfklow im Projekt. Die EditorInnen sehen nur das Eingangsformat Word und das Endergebnis in der Onlineedition, nicht die Schritte dazwischen. Das erschwert die Fehlersuche.

Zwischen dem Ausgangsmaterial (formatierte Worddatei) und dem Endprodukt (HTML-Seite in der Onlineedition) stehen viele komplexe Arbeitsschritte und Skripte, was die Fehlersuche sehr aufwändig macht, falls das Resultat nicht den Erwartungen entspricht.

Ein typisches Beispiel: Die EditorInnen edieren in Word, starten die Transformation und bekommen eine HTML-Seite in der Onlineedition angezeigt. Dort fehlt der erwartete Titel des edierten Textes. Wieso erscheint er nicht in der Ausgabe, obwohl er in der Worddatei steht? Liegt der Fehler in den Anzeigeskripten? In den Transformationsskripten? Oder in der Worddatei?

Die häufigste Ursache: Der Titel wurde in Word versehentlich falsch formatiert, z. B. mit der Formatvorlage „Titel“ und nicht mit der Formatvorlage „Überschrift1“. Die Transformationsskripte übersetzen aber nur Text in der Formatvorlage „Überschrift1“ (nicht „Titel“) in das dafür vorgesehene TEI-Element <title>. Für die Onlineanzeige laufen anschließend weitere XSL-Skripte. Diese übersetzen normalerweise <title> in das HTML-Element <h1>. Da aber <title> im TEI-XML aufgrund der falschen Formatvorlage gar nicht erst kodiert wurde, wird es auch in der HTML-Version nicht als <h1> angezeigt. Im besten Fall wird es in der Onlineanzeige als „normaler“ Text innerhalb von <p> übernommen, im schlechtesten Fall gar nicht visualisiert.

 


Abb. 2       Eine falsche Formatierung in Word führt zu einer fehlerhaften HTML-Anzeige. Für die EditorInnen ist dieser Fehler in Word oft nur schwer zu erkennen, er offenbart sich erst ganz am Ende des Workflows in der fehlerhaften Onlineanzeige.

2. Formale vs. semantische Kodierung

Word kodiert nach Formateigenschaften, nicht semantisch. Das bedeutet, alle Textportionen, die exakt dieselben formalen Eigenschaften aufweisen, werden in einem Element zusammengehalten. Ob diese Textportionen auch semantisch zusammengehören, spielt dabei keine Rolle. Umgekehrt können Textportionen, die semantisch zusammengehören, aufgrund formal unterschiedlicher Eigenschaften getrennt voneinander kodiert werden. Formateigenschaften, die zu einer getrennten Kodierung führen, können z. B. sein:

  • Absatz
  • geschütztes (oder anderweitig wichtiges) Leerzeichen
  • Wechsel der Schriftschnitte/-arten/-größen
  • Wechsel der Sprache
  • einsetzende/endende Unterkringelung von Wort(-teilen) durch die Grammatik- oder Rechtschreibkorrektur

Einige dieser formalen Trennungen sind für die Weiterverarbeitung nützlich (z. B. können semantisch relevante Passagen gut durch unterschiedliche Schriftschnitte voneinander getrennt werden), andere sind irrelevant und müssen im Rahmen der Transformation bereinigt werden (z. B. Texttrennungen nur aufgrund von Rechtschreibfehlermarkierungen).

Um saubere, sinnvolle TEI-XML-Dateien zu generieren, muss die rein formale Kodierung der Word-XML also zunächst um irrelevante Informationen und Inhalte bereinigt und dann anhand der verbleibenden Formalia in eine semantische Kodierung übersetzt werden. Je komplexer die TEI-Zielkodierung ist, desto stärker ist die Transformation auf ein gut organisiertes Zusammenspiel von projektinternen Absatz- und Zeichenformatierungen, Positionierungen und Formulierungen innerhalb von Textstrings angewiesen.

Ein Beispiel: Eine typische kritische Fußnote wie „am Rand hinzugefügt lorem ipsum B“ soll übersetzt werden in eine TEI-Lesartenkodierung:

<app>
	<lem/>
	<rdg wit="#B">
		<add place="margin">lorem ipsum</add>
	</rdg>
</app>

Listing 1 Eine Lesartenkodierung nach TEI, generiert aus einer Word-Fußnote

Bei diesem Transformationsbeispiel werden verschiedene Formatinformationen ausgewertet:

  • Das Format „Fußnote“, beginnend mit kursiviertem Text, weist auf eine Kodierung zur Textkritik hin (anders z. B. Sachanmerkungen, die als Fußnote in recte gesetzt wären). Die gesamte Fußnote wird daher übersetzt in <app><lem/><rdg/></app> (und nicht z. B. in <note type=“footnote“/>).
  • Der kursivierte Textstring selbst entspricht einer von mehreren möglichen standardisierten textkritischen Wendungen. Eine Liste aller Wendungen und ihrer TEI-Entsprechungen ist bei der Transformation hinterlegt. So wird „am Rand hinzugefügt“ übersetzt in <add place=“margin“>, weitere Beispiele wären „im Korrekturverzeichnis hinzugefügt“ in <add type=“corrigenda“> oder „gestrichen“ in <del>.
  • Der Text „lorem ipsum“ in recte beinhaltet den eigentlichen Textinhalt, der innerhalb von <add place=“margin“> stehen soll.
  • Der Textinhalt endet, sobald nach einem Leerzeichen eine weitere kursivierte Passage folgt. Diese wird als Bezeichnung des Textzeugen interpretiert und dem umgebenden <rdg/>-Element als @wit-Attribut beigegeben.
  • Da es sich um eine Hinzufügung in einem anderen als dem Haupttextzeugen handelt, bleibt das <lem/> leer.
Abb. 3   Eine Fußnote kann anhand verschiedener Formatinformationen in eine TEI-Lesartenkodierung übersetzt werden

Dieses Beispiel verdeutlicht die Wichtigkeit exakt eingehaltener Vorgaben. Schon kleine Fehler wie das versehentliche Nicht-kursivieren des Textzeugen oder ein Tippfehler in der standardisierten Wendung können zu falschen Kodierungen führen.

3. Zu viele Freiheiten in Word

Ziel des Word2TEI-Workflows ist es, den EditorInnen zu ermöglichen, die beiden Schritte „freies, kreatives geisteswissenschaftliches Arbeiten“ und „Glätten und Einpassen in ein einheitliches, projektspezifisches Format“ nicht mehr gleichzeitig durchführen zu müssen. Stattdessen sollen sie diese nach eigenen Präferenzen in den Arbeitsablauf einbauen können. Das strukturelle Arbeitsumfeld von Word ist jedoch primär auf die Anforderungen des ersten Schrittes ausgelegt und bietet kaum Unterstützung für den zweiten Schritt.

Das Problem: In Word kann, anders als in XML, kein Schema eingebunden werden, das die Schreibenden direkt warnt, wenn sie etwas formulieren oder formatieren, was nicht den Projektregeln entspricht und in dieser Form entweder gar nicht oder auf eine nicht gewollte Weise transformiert würde.

Erschwerend kommt bei unserer Hybridedition hinzu, dass die Worddateien nicht nur die Grundlage für die XML-Dateien bilden, sondern auch als Basis für die Erstellung einer Printedition durch eine Setzerei verwendet werden. Das bedeutet, die Worddateien müssen gleich zwei formalen Ansprüchen genügen: 1. Die Formatierung muss in einer Art und Weise vorliegen, dass die Dateien problemlos in ein fehlerfreies TEI-XML-basiertes Datenmodell transformiert werden können. 2. Die Dateien aller BearbeiterInnen müssen ein einheitliches Format aufweisen und den Anforderungen an ein Druckmanuskript entsprechen, sodass beim Satz keine arbeitsaufwendige und kostenintensive Nachbearbeitung erfolgen muss.

Die Lösung für alle drei genannten Schwachstellen ist eine möglichst frühzeitige Qualitätskontrolle der Ausgangsdokumente. Ich habe zu diesem Zweck zwei Möglichkeiten getestet.

Möglichkeit A – Das Wordvalidierungstool Data2Check

Abb. 4 Data2Check – ein leicht zu bedienendes, individuell konfigurierbares Onlinetool. [Quelle: https://www.data2check.de/documentation/doku-word.html#regeln]

Vielversprechend ist das Tool Data2Check.

Data2Check ist ein komfortables, leicht bedienbares und individuell konfigurierbares frei zugängliches Onlinetool, mit dessen Hilfe man u. a. prüfen kann, ob Worddateien einer festgelegten Struktur folgen oder eine vorgegebene Terminologie verwenden. Ein Vorteil für EditorInnen: Erkannte Fehler können unmittelbar als Kommentar in der Worddatei zurückgegeben werden.

Das Tool kann Formatvorlagenabfolgen (Absatz und Zeichen) prüfen, z. B.:

  • Nach jeder Formatvorlage „Überschrift1“ muss genau einmal die Formatvorlage „Absatz ohne Einzug“ folgen.
  • Jedes Dokument muss (genau) eine Formatvorlage „Überschrift1“ und (mindestens) eine Formatvorlage „BearbeiterIn“ enthalten.
  • In der Formatvorlage „Zitat“ sind keine Zeichenformatvorlagen (Kursivierung etc.) erlaubt.
  • Bilder und/oder Tabellen sind nie erlaubt usw.

Spezielle Formulierungen sind per String oder Regular Expression (RegEx) suchbar, anzeigbar oder sogar direkt ersetzbar, z. B.:

  • Alle Dokumente sollen die Schreibweise „Onlineedition“ verwenden. Andere (explizit anzugebende) Schreibungen wie „online Edition“, „Online Edition“ oder „Online-Edition“ werden „angewarnt“ oder direkt ersetzt.
  • Datumsangaben müssen einem bestimmten Format entsprechen usw.

Ein absolut empfehlenswertes Tool!

Leider ist es für unsere Zwecke nicht weitreichend genug, denn: String-/RegEx-Abfragen und Formatvorlagen können nicht kombiniert geprüft werden. Genau das führt bei unserer Transformation aber oftmals zu Fehlern, denn die TEI-Elemente werden oft auf Basis von standardisierten Formulierungen innerhalb bestimmter Formatvorlagen generiert. So sind Wörter wie „gestrichen“ in einer Fußnote explizite Marker für eine ganz bestimmte Kodierung und ähnliche, aber falsche Formulierungen wie „durchgestrichen“ sind an dieser Stelle nicht erlaubt – an anderen Stellen im Text sind jedoch natürlich beide Wörter zugelassen, weil sie dort keine (oder eine andere) Funktion haben.

Möglichkeit B – Schematron für Word-XML

Da Word-XML auf XML basiert, ist es möglich, die Datei außerhalb des Wordprogamms zu validieren, noch bevor sie transformiert wird. Dabei soll sichergestellt werden, dass…

  1. alle Konstellationen, Formulierungen und Formatvorlagen, auf die die Transformationsskripte zugreifen, korrekt verwendet wurden,
  2. die EditorInnen so früh wie möglich eine Rückmeldung erhalten, wenn und wo(!) Fehler auftreten, die die Transformation stören oder verhindern.

Um XML-Dateien nicht nur rein syntaktisch, sondern auch kontextabhängig zu prüfen, bietet sich Schematron an. Dazu wird die Worddatei direkt im Oxygen-Editor geöffnet und mit einer Schematron-Schemadatei validiert.

Die ersten Versuche sind sehr vielversprechend.

Beispiel Titelei – Struktur gut prüfbar

Was mit Schematron sofort gut funktioniert, sind strukturelle Abfragen auf Formatvorlagenebene ohne (oder mit nur minimaler) Textbeteiligung.

Das obige Beispiel mit der fälschlich verwendeten Formatvorlage „Titel“ statt „Überschrift1“ lässt sich z. B. gut abbilden. Wenn an bestimmten Stellen im Dokument nur bestimmte Formatvorlagen erlaubt sind, kann für die Word-Kodierung der Formatvorlagen (<w:pStyle w:val=“…“>) in einem Schematron-<assert>-Test einfach eine feste Liste an Attributwerten für @w:val vorgegeben und jede Abweichung angewarnt werden.

Ein anderes Beispiel: alle unsere Worddateien müssen mit vier Absätzen in einer bestimmten Formatvorlage und mit standardisierten Angaben beginnen (Titel, BearbeiterIn, Datum und projektinterne Textnummer). Aus diesen werden wichtige Angaben für den <teiHeader> generiert. Danach folgt eine Leerzeile ohne Formatvorlage. Die ersten vier Absätze sind aufgrund der festgelegten Reihenfolge und des standardisierten Inhalts (u. a. ein festes Zahlenformat) gut prüfbar. Für die Leerzeile greift ein einfacher <report>-Test der sicherstellt, dass der fünfte Absatz im Dokument keinerlei Formatvorlagen-Styleinformationen und keinen Text enthält. Fehlt diese Leerzeile, scheitert die Transformation komplett, da die unmittelbar nachfolgende Struktur darüber entscheidet, welche Transformationsskripte angewendet werden und welche nicht, weshalb diese Prüfung besonders wichtig ist.

Beispiel Spracheinstellung und Sonderzeichen – Transformationsskripte entlasten

Da die Wordprogramme der EditorInnen in sehr unterschiedlichen Sprachen eingestellt sind, weisen die Dateien mitunter unterschiedlich benannte Word-Formatvorlagen auf (Überschrift1, Heading1, Titolo1,…) oder verschiedene per Autokorrektur ersetzte Anführungszeichen (typographische, französische,…). Diese Details sind für die EditorInnen nur schwer zu bemerken, führen jedoch zu großen Transformationsproblemen.

Aktuell müssen die Transformationsskripte deshalb per <choice>-Test vieles abfangen, was bei einer einheitlichen Formatierung in Word nicht nötig wäre.

Wird diese Art der Qualitätskontrolle aus den XSL-Transformationsskripten ins Schematron verlagert, ist das nicht nur methodisch sauberer, sondern entlastet zusätzlich die XSL-Skripte, macht sie weniger fehleranfällig und steigert dafür deren Performanz. Darüber hinaus sind Kleinigkeiten wie eine einheitliche Verwendung der Anführungszeichen für ein sauberes Druckmanuskript ebenfalls wichtig.

Beispiel Stringabfragen – Schematron um individuelle Funktionen erweiterbar

Die oben erwähnte Zerstückelung des Textes aufgrund formaler Kriterien führt dazu, dass String- oder RegEx-Abfragen beim Prüfen der Word-XML nicht ohne Weiteres funktionieren.

Glücklicherweise sah sich der Kollege, der seinerzeit die XSL-Skripte für die Word2TEI-Transformation geschrieben hat, mit demselben Problem konfrontiert. Seine Lösung: er hat XSL-Funktionen geschrieben, mit denen sich das Word-XML leichter parsen lässt.2 Darunter auch eine Funktion, die die Textblöcke wieder zusammensetzt, sodass Stringabfragen möglich sind. Auf diese Funktionen kann auch Schematron aufbauen, sodass eine Kombination von Formatvorlage und String abfragbar ist.


<xsl:function name="wt:string" as="xs:string">
	<xsl:param name="context" as="item()*"/>
	<xsl:value-of select="string-join($context//w:t, '')"/>
</xsl:function>
<pattern id="standardisierte_Wendungen">
	<rule context="w:footnote/w:p[w:r/w:t]">
		<let name="string" value="wt:string(.)"/>
		<report test="not(starts-with($string,'am Rand hinzugefügt') or starts-with($string,'gestrichen'))" role="warning">Bitte standardisierte Formulierung in der krit. Anm. prüfen.</report>
	</rule>
</pattern>

Listing 2 Eine XSL-Funktion wt:string() setzt die Word-Textblöcke aus w:t per string-join() zusammen. Die Funktion kann in einer Variablen oder direkt im <report>-Test aufgerufen werden.

Ein bislang ungelöster Schönheitsfehler ist die Genauigkeit in der Fehlermarkierung. Da derartige Abfragen den gesamten Inhalt von w:p (also einem Absatz) als String ansetzen und nur ein boolesches „String-enthält“ / „String-enthält-nicht“ zurückgeben, wird bei einer Fehlermeldung folglich der gesamte Absatz als fehlerhaft markiert, nicht eine konkrete Tippfehler-Stelle. Insbesondere bei längeren Abschnitten wäre eine präzisere Lokalisierung wünschenswert.

Ein Problem bleibt – zurück zum Oxygen

Für die EditorInnen dürfte der Anblick von Word-XML eine noch abschreckendere Wirkung haben als die Code-Ansicht von TEI-XML. Wie sollen Schematronwarnungen in Word-XML dabei helfen, in Word das eine Spatium zu finden, das versehentlich in der falschen Formatvorlage formatiert ist?

Lösung: Doch der Autormodus

Die erste und einfachste Möglichkeit ist die Anzeige der Word-XML in einem sehr einfachen Autormodus ohne komplizierte CSS-Stilanweisungen, in dem die fehlerhafte Stelle vom Schema möglichst präzise markiert wird. Die EditorInnen können die markierte Textstelle dann in ihrer Worddatei suchen und dort die Formatierung überprüfen. Diese Option nutzen wir aktuell und sie wird als durchaus zumutbar empfunden. Da kein projektspezifisches Framework verwendet wird, werden jedoch Auszeichnungen wie Kursivierung nicht wiedergegeben.

Abb. 5 Die Anzeige von Word-Fußnoten im Oxygen-Autormodus. Das Schematron warnt die falsche Formulierung „durchgestrichen“ an (richtig wäre „gestrichen“).

Vision: Schematronfehlermeldungen in Word zurückspielen

Eine elegante Lösung wäre ein Zurückspielen der Schematronfehlermeldungen in die Worddatei in Form eines Kommentars, wie es bei Data2Check möglich ist. Einen solchen Weg hat Colin Mackenzie auf der XML Prag (Februar 2020) vorgestellt3: Mithilfe einer XProc Pipeline4 können alle notwendigen Schritte automatisch nacheinander ablaufen: „Word.zip entpacken à Word-XML validieren à Schematronfehlermeldungen über XSL in Worddatei einfügen“. Ob sich diese Vorgehensweise auch für unser Projekt als effizient und praktikabel erweist, muss noch getestet werden.

Zwischenfazit zu Wordvalidierungstools

  Pro Contra
Data2Check
  • sehr einfach zu konfigurieren
  • grobe Struktur gut prüfbar
  • globale String- und RegEx-Abfragen möglich
  • Fehlermeldung direkt in Word möglich
  • Kombination von Stringabfrage und Formatvorlage nicht möglich
  • Regeln für komplexe Schachtelungen von Formatvorlagen nur bedingt möglich
Schematron
  • deutlich komplexere Abfragen und Konfigurationen möglich als bei Data2Check
  • erweiterbar um QuickFixes (Tauglichkeit noch zu prüfen)
  • Typisierung der Fehler in Error und Warnung möglich
  • alle Regeln in den Transformationsskripten können einzeln schon vorab geprüft werden, da mit XPath und den Funktionen dieselbe Sprache verwendet wird
  • Qualitätskontrolle (i.S.v. typische Fehler abfangen) muss nicht mehr in den XSL-Skripten während der W2T-Transformation stattfinden
  • Stringabfragen nur durch Erweiterung um eigene Funktionen möglich (dann aber Kombination von Stringabfrage und Formatvorlage möglich)
  • Fehlermeldung (erstmal) nur im Word-XML (=Oxygen-Autormodus) möglich
  • Word-XML (erstmal) nicht im Ganzen validierbar (da Text, Fußnoten, Endnoten und Kommentare jew. als einzelne XML gespeichert werden)

 

  1. Die Transformation muss nicht zwangsläufig selbst geschrieben werden, der TEI-Onlineservice OxGarage bietet automatische Transformationen für eine Vielzahl an Ausgangs- und Zielformaten an, darunter Word zu XML, TEI-XML oder Verbatim-XML. Die individuellen Projektanforderungen, insbesondere hinsichtlich der Transformation der Apparate, erforderten jedoch komplexere Eingriffe, als dies mit OxGarage möglich ist, daher wurde dieser Service nicht gewählt. []
  2. Zur Dokumentation siehe Dario Kampkaspars GitHub-Repository; Zusammenstellung aller Funktionen hier. []
  3. Mackenzie, Colin: Use cases and examination of XMLtechnologies to process MS Worddocuments in a corporate environmentToolset to test and improve the quality and consistency of styling in MS Word. (Vortragsmaterialien hier) []
  4. XProc ist eine XML-Sprache, die die Stapelverarbeitung beliebig vieler Eingangsdokumente (z.B. XML-Dateien) durch beliebig viele automatisch nacheinander ablaufende Verarbeitungsschritte (z.B. XSL-Transformationen oder Schematron-Validierungen) ermöglicht. []