3B2 zu XML
Hintergrund
Das Satzprogramm 3B2 basiert nutzt eine eigene Auszeichungssprache und Kodierung.
So werden
Satzbefehle vergleichbar zu XML-Verarbeitungsanweisungen
(processing instructions, kurz PI) kodiert
(<? ... >
). Der Begriff „Verarbeitungsanweisung“
ist hierbei wortwörtlich zu nehmen, es sind die eigentlichen
Verarbeitungsbefehle, also die Formatierungsbefehle.
Absatzformate werden als Elemente
kodiert, wobei nur der Starttag
geschrieben wird (<einzug>
), der Endtag wird
durch Minimierung (in der Programmoberfläche mit dem
Zeilenwechsel ¶
, im Code
durch <>
) automatisch
erzeugt.
In der Programmoberfläche wird die Dokumentstruktur
sehr vereinfacht eingegeben:
<titel>Überschrift¶
<ohneeinzug> ... ¶
<einzug> ... ¶
<einzug> ... ¶
Programmintern wird diese Struktur wie folgt gespeichert:
<titel>Überschrift<>
<ohneeinzug> ... <>
<einzug> ... <>
<einzug> ... <>
Der Parser liest das Dokument wie folgt:
<titel>Überschrift</titel>
<ohneeinzug> ... </ohneeinzug>
<einzug> ... </einzug>
<einzug> ... </einzug>
Dilemma: Das automatische Interpretieren des Zeilenwechsels als Element-Ende-Signal ist für die Daten ein Problem, welches dazu führt, dass der Zeilenwechsel nicht als Whitespace-Zeichen verwendet werden sollte.
Container-Elemente werden in der üblichen XML-Syntax
(<beispiel> ... </beispiel>
) geschrieben.
Für Formeln und Formelzeichen wird TeX als Syntax verwendet. Das 3B2-Dateiformat ist ein textbasiertes maschinenlesbares Eigenformat.
Erschwerend kommt hinzu, dass 3B2 einen eigenen Zeichensatz für die Repräsentation von Umlauten und Sonderzeichen verwendet.
3B2 wurde auch in einer Unicode-Version für XML entwickelt. In der Praxis wurden bestehende 3B2-Projekte durchaus in der alten Syntax beibehalten und bis heute gepflegt. Für die Unicode-Version gelten die oben geannten Regeln adäquat.
Verfahren
Mit unseren Tools extrahieren wir die Datenstrukturen aus den Original-3B2-Satzdaten.
Dabei werden Strukturdaten (Ebenensystem, logische Struktur, Text) und Formeldaten (TeX) separiert, gesondert aufbereitet und letztendlich wieder im XML-Dokument zusammengeführt.
Die Prozesse sind hierbei hochautomatisiert, müssen aber projektabhängig individuell konfiguriert werden.
Unsere Dienstleistungen
Wir extrahieren XML-Daten aus 3B2-Satzdaten. Und das unabhängig davon, ob 3B2 mit XML oder als reines Layoutsystem genutzt wurde.