XML-Know How

XML-Preprocessing für den Layoutsatz

Es bietet sich daher an, die Aufbereitung von komplexeren XML-Daten für die »mundgerechte« Verwendung in einem Layoutsystem schon vor dem Import der Daten durchzuführen und sich dabei schnellerer und effizienter zu programmierender Lösungen zu bedienen.

Diese Datenvorbereitung nennt man auch Preprocessing. Da die Aufbereitung außerhalb von InDesign stattfindet, können beliebige Skriptsprachen zur Anwendung kommen. Bei pagina sind dies XSLT und TUSTEP. Die Aufbereitung umfasst vor allem die Auswertung der kontext- und hierarchieabhängigen Faktoren und ihre Umsetzung in Form von explizierten Elementen.

Ein Beispiel soll dies anschaulich machen. Wenn in den XML-Daten alle Überschriften als <titel> codiert sind und diese kontext- und hierarchieabhängig fünf verschiedenen Überschriftformaten zugeordnet werden müssen, wertet das Preprocessing Kontext und Hierarchie jedes einzelnen <titel>-Elementes aus und benennt es je nach Ergebnis in <titel1>, <titel2>, <titel3> etc. um. Erst die so explizierten Daten werden nach InDesign importiert. Damit kann ohne weiteres Skripting in InDesign für jeden Überschriftentyp die einfache Zuordnung von je einem XML-Element zu einem Format verwendet werden.

Das Preprocessing allein ist jedoch auch keine Wunderwaffe, so dass in der Regel eine Kombination von Preprocessing und Skripting in InDesign das beste Ergebnis verspricht.

Durch das Preprocessing kann eine weitere Schwäche der XML-Schnittstelle von InDesign umgangen werden: Obwohl es in InDesign eine spezielle XML-Text-Ansicht gibt (siehe nächste Abbildung), die die Bearbeitung der XML-Struktur ermöglicht, und auch eine Strukturkontrolle zur Verfügung steht (DTD-Validierung), unterstützt InDesign nicht die Bearbeitung von XML-Daten durch eine kontextsensitive Eingabekontrolle. Das heißt, dass bei der Bearbeitung der XML-Daten beliebige Änderungen möglich sind, auch solche, die die XML-Struktur zerstören. Ebenso fehlt eine Hilfe bei der XML-Bearbeitung, die dem Nutzer zeigt, welche Änderungen den Strukturvorgaben durch die DTD entsprechen. Bei umfangreichen Textänderungen, vor allem solchen, die die Struktur betreffen, ist daher Vorsicht angebracht: die Gefahr von Fehleingaben ist sehr hoch.

Der Anwender muss daher die DTD oder das XML-Schema, das der Struktur zugrunde liegt, sehr gut kennen, um effektiv und fehlerfrei in den XML-Daten Änderungen vornehmen zu können. Das kann aber in der Regel auch bei professionellen Anwendern von Layoutsystemen nicht vorausgesetzt werden, insbesondere dann nicht, wenn die XML-Struktur sehr komplex aufgebaut ist und man als Dienstleister ggf. jeden Tag mit einer anderen DTD konfrontiert wird. Es bietet sich daher an, die Struktur der XML-Daten für die Bearbeitung in InDesign beim Preprocessing so zu modifizieren, dass sie möglichst einfach ausfällt und sich an den Formatierungen orientiert, die für das betreffende Werk vorgesehen sind. So werden Text- und Strukturänderungen einfacher und weniger fehleranfällig. Hier muss im Einzelfall geprüft werden, auf welchem Wege die (komplexere) Quelldatenstruktur nach Abschluss der Layoutarbeiten wieder zuverlässig aus dem XML-Datenexport hergestellt werden kann (»Postprocessing«) – oder ob sogar ein Verlust von Strukturinformation hinnehmbar ist, was dann der Fall ist, wenn die Daten nicht wieder exportiert werden müssen, also kein Roundtripping gefordert wird.

Eine andere Lösung für dieses Problem ist die konsequente personelle und technische Trennung bei Layout- und Textkorrekturen durch den Einsatz von InCopy. Dann können für Textkorrekturen Bearbeiter eingesetzt werden, die die Datenstruktur besser kennen als der Layouter. Für größere Publikationsvorhaben ist dieser Weg außerordentlich vielversprechend und effizient.

Auf Preprocessing, Import und automatische Vorformatierung der XML-Daten in InDesign folgt die Phase des manuellen Feinlayouts und der allfälligen Autorkorrekturen am Text. Hier stehen dem Bearbeiter sämtliche Möglichkeiten zur Verfügung, die er von InDesign kennt – die Tatsache, dass die Basis der Daten XML war, stellt hier keinerlei Einschränkung in der Gestaltungsfreiheit dar. Die Mischung aus regelbasiertem und automatisierbarem Grobumbruch und völlig frei gestaltbarem Feinumbruch stellt die eigentliche Stärke dieses Verfahrens dar.

Zum Abschluss werden die XML-Daten exportiert und dem Postprocessing unterzogen. Das heißt, dass die Änderungen in der Datenstruktur, die beim Preprocessing an den ursprünglichen XML-Daten vorgenommen wurden, wieder rückgängig gemacht werden.

Beim Preprocessing müssen also nicht nur die Eigenheiten von InDesign, sondern auch die Erfordernisse des Postprocessing berücksichtigt werden. Die XML-Daten dürfen beim Preprocessing nicht so verändert werden, dass ihre Rückführung in die Ausgangsform unmöglich wird. Häufig lässt sich dies nur über »Tricks«, wie dem versteckten Mitführen von schreibgeschützten Informationen im Text, leisten. Hier ist profunde XML-Kenntnis ebenso wichtig wie die Kenntnis der Möglichkeiten und Grenzen des jeweiligen Layoutsystems.