XML-Know How

XML-Workflow mit InDesign und InCopy

In InDesign ist es grundsätzlich möglich, beliebige XML-Daten zu importieren und XML-Elementen vordefinierte Formate zuzuweisen. Nach dem Import der Daten können die Texte wie gewohnt korrigiert werden – der Anwender merkt nun nichts mehr von dem im Hintergrund liegenden Quelldatenformat. Die Texte können jedoch mit den Änderungen als XML abgespeichert werden. Hierbei wird formal das gleiche XML exportiert, das auch importiert wurde – also keine InDesign-eigene Sonderform. Seit der Version CS2 können auch Textelemente mit externen XML-Daten verknüpft werden, wobei sich der in InDesign angezeigte Text ändert, wenn sich die externe Textquelle ändert.

Das ist bereits sehr viel – aber eben nicht alles. Denn alle diese Funktionen sind leider mit Einschränkungen behaftet.

Zu den Kernfähigkeiten von XML-Anwendungen gehört es, Elemente kontext- und hierarchieabhängig zu behandeln. So sollte ein Element <titel> abhängig davon, in welcher Hierarchietiefe es sich befindet, verschieden formatiert werden können. Auch das Vorhandensein von Attributwerten muss berücksichtigt werden können, d. h. Attributwerte müssen ausgewertet und zur Steuerung bestimmter Funktionen herangezogen werden können. Das Element <abs abstand_vor="10p"> soll beispielsweise vom Programm dergestalt ausgewertet werden, dass der so gekennzeichnete Absatz mit einer Absenkung um 10 Punkt ausgegeben wird, während gleichzeitig das Element <abs> (ohne weitere Attributierung) diesen Abstand nicht zugewiesen bekommen soll. Es müssen somit eine ganze Reihe von kontext- und hierarchieabhängigen Faktoren ausgewertet werden, um einem Element die richtige Formatierung zuweisen zu können.

All das beherrscht die XML-Umsetzung von InDesign nicht – zumindest nicht ohne zusätzliche Vorkehrungen. In InDesign kann einem XML-Element nur genau ein Format zugeordnet werden, kontext- und hierarchieabhängige Faktoren finden ebenso keine Berücksichtigung wie Attributwerte. Damit können nur sehr einfache XML-Strukturen sinnvoll mit InDesign in seiner Standard-Auslieferungsform verarbeitet werden.

Um diese Beschränkungen zu umgehen (die auch nach einigen Verbesserungen in der neuesten Version CS2 fortbestehen), gibt es zwei Wege: das Skripting in InDesign und die Aufbereitung von komplexeren XML-Daten für die Verwendung in InDesign.