Fachzeitschrift 'technische kommunikation' 2/2013
Rubrik: Software, Adobe FrameMaker
Download verfügbar

Intelligenter Strukturieren

Ute Mitschke

Um Inhalte zu strukturieren, gilt Adobe FrameMaker für viele Technische Redakteure als Werkzeug erster Wahl. Gelingt dies mit der neuen Version 11 besser?

 

Zu den neuen Funktionen von Version 11 gehören die Ansichten „AuthorView“ und „CodeView“ direkt auf der Programmoberfläche. Außerdem enthält die Anwendung Funktionen für die Unterstützung von S1000D-Strukturen sowie eine erweiterte Unterstützung für das Erstellen von DITA-Topics und das Publizieren von DITA-Maps. Besonders spannend ist jedoch die Frage: Welche Erweiterungen bietet das Programm, um XML-Dokumente mit eigener Struktur zu erstellen?

 

Der Einstieg in das Arbeiten mit XML

Die Software-Architektur von Version 11 ähnelt nach wie vor den Vorgängerversionen. Das bedeutet, dass im Textfluss der Dokumente XML-Strukturen enthalten sein können. Die XML-Elemente werden innerhalb der Dokumente direkt als FrameMaker-Objekte interpretiert.

In FrameMaker-Dokumenten sind Absätze, Tabellen, verankerte Rahmen, Grafiken, Marken, Querverweise, Variablen, Text­einschübe und Fußnoten die Objekte, die gleichzeitig ein XML-Element sein können. Die Zuordnung zwischen der XML-Strukturdefinition, zum Beispiel in Form einer Dokument-Typ-Definition, DTD, und den FrameMaker-Objekten wird in einem speziellen FrameMaker-Dokument getroffen: Element-Definitions-Dokument, EDD. Darin kann der Anwender nicht nur die XML-Struktur den FrameMaker-Objekten zuordnen, sondern auch die Formatierung der Elemente in verschiedenen Kontexten definieren.

Das Konfigurieren als XML-Editor

Um XML-Dateien in FrameMaker bearbeiten zu können, ist es notwendig, die Transformation von der Textdatei ins FrameMaker-Dokument zu automatisieren. Dafür nutzt FrameMaker seit jeher spezielle Strukturen in ganz bestimmten, dem System bekannten FrameMaker-Dateien (structapps.fm), auch „Strukturapplikationen“.

Neu in FrameMaker 11 ist, dass zu der bereits mitgelieferten structapps.fm, in der die Applikationen für DITA, Docbook oder XHTML eingetragen sind, jeder Nutzer sich eine zusätzliche structapps.fm anlegen kann, in der nur die selbstdefinierten Applikationen eingetragen werden. Sie werden im FrameMaker 11-Ordner des Benutzerprofils gespeichert.

Um beide structapps.fm-Dateien leicht erreichen zu können, befinden sich im Menü „Strukturierungswerkzeuge“ zwei Einträge für die Bearbeitung der globalen und benutzerspezifischen Anwendungsdefinitionen.
Damit der Anwender XML-Dateien öffnen und speichern kann, sind mindestens folgende Dateien notwendig:

 

  • Die DTD als Strukturdefinition der XML-Dateien – sie wird zur Überprüfung beim Einlesen und Herausschreiben der XML-Daten eingesetzt.

 

  • Read-Write-Rules – eine Text- oder FrameMaker-Datei mit Anweisungen, welche XML-Elemente in Frame-Maker auf welche Objekte gemappt werden sollen.

 

  • Eine FrameMaker-Template-Datei – sie enthält die passenden Element- und Formatdefinitionen.

 

  • Ein Element-Definitions-Dokument – aus ihm können die Elementdefinitionen und Formatregeln in das Template importiert werden. Es ist für den eigentlichen Im- und Export von XML als Datei nicht notwendig.

 

Für die Erstellung eigener Anwendungen existiert seit FrameMaker 10 im Menü „Strukturierungswerkzeuge“ das Menü „Gestaltung strukturierter Anwendungen“. Mit dessen Hilfe lässt sich eine Anwendung sehr einfach zusammenstellen.

Abb. 1 Strukturwerkzeuge

Abb. 1 Unter „Strukturierungswerkzeugen“ befindet sich das Menü, um eigene Anwendungen zu erzeugen. Dort werden auch die notwendigen Strukturierungsinformationen ausgewählt.
Screen Adobe

Die Möglichkeit, nach Ordnern und Dateien zu browsen, verhindert mögliche Schreibfehler gegenüber dem manuellen Zusammenstellen direkt in der structapps.fm-Datei

Gestaltung strukturierter Anwendungen - Screen Adobe
Abb. 2 Die Auswahl-Funktion des Menüs verringert die Fehlerhäufigkeit.
Screen Adobe

Ein weiterer großer Vorteil ist die Möglichkeit, die Doctypes automatisch in die Applikation laden zu können. Dazu wird im angegebenen EDD nach den Elementen gesucht, die auf oberster Ebene eines FrameMaker-Dokuments gültig sind. Das erspart Tipparbeit und mögliche Schreibfehler.

Bestehende Applikationen können aus vorhandenen, beliebigen structapps.fm-Dateien einfach geladen und direkt im Dialogfeld bearbeitet werden.

Das intelligente Einfügen von Inhalten

Hinter dem Dialogfeld „Gestaltung strukturierter Anwendungen“, erreichbar über die Schaltfläche „Erweiterte Einstellungen …“, steckt die Konfiguration einer neuen hilfreichen Funktion: „Smart Paste“ oder auch das intelligente Einfügen externer Inhalte über die Zwischenablage.

Dahinter steht eine Interpretation des Textinhaltes der Zwischenablage mit einer XSLT-Transformation.

Erweiterte Einstellungen
Abb. 3 Vorgaben für XSLT und „Erweiterte Einstellungen“
Screen Adobe

Ein passendes XSLT-Script ist für die Interpretation und Konvertierung von ­XHTML-Inhalten in die DITA-Topic-Struktur bereits vorhanden. XHTML ist die zugrunde liegende Dokumentstruktur von Microsoft Word, EXCEL und Powerpoint. Das bedeutet, dass Inhalte eines Word-Dokuments in die Zwischenablage kopiert und in FrameMaker-Dokumente via SmartPaste in einem Arbeitsgang konvertiert und eingefügt werden können. Im Hintergrund wird dazu ein XSLT-Prozessor gestartet. Er verarbeitet den Inhalt nach den Richtlinien des angegebenen XSLT-Scripts. Die Funktion Smart Paste benötigt einige Zeit, bis sie den Vorgang abgeschlossen hat.

Der Anwender ruft das intelligente Einfügen von Inhalten über einen zusätzlichen Befehl im Menü „Bearbeiten“ auf. Falls der Menüpunkt inaktiv ist, hilft eine Kontrolle nach den folgenden Fragen weiter:

 

  • Ist eine XML-Datei das aktive Dokument im Programmfenster?

 

  • Wurde die XML-Datei über eine Applikation geöffnet, in der für das intelligente Einfügen ein XSLT-Script hinterlegt ist?

 

  • Wurde die Applikation erfolgreich bearbeitet, aber die Anwendungsdefinition noch nicht in FrameMaker wieder eingelesen, um die nach dem Start einmalig gelesenen Inhalte der verfügbaren structapps.fm-Dateien zu aktualisieren?

 

  • Ist das in der Applikation verknüpfte XSLT-Script eine gültige XSLT-Datei?

 

  • Selbst wenn das Script eingesetzt wird, um XHTML nach DITA-Topic zu konvertieren, ist das intelligente Einfügen möglich. Durch eine völlig anders definierte Struktur entstehen jedoch Validitätsfehler.

 

Die Inhalte sauber strukturieren

Wo liegen die Grenzen von Smart Paste? Die Inhalte werden immer eingefügt, auch wenn sie im Kontext der Cursorposition nicht erlaubt sind. Beim Einfügen können daher invalide Strukturen entstehen. Sind die eingefügten Inhalte prinzipiell in der Dokumentstruktur erlaubt, kann durch das Verschieben der Elemente die Validität wieder hergestellt werden. Der Anwender kann erwarten, dass Inhalte die Hierarchie beibehalten, wenn sie aus XHTML stammen und eine gut aufgebaute Struktur besitzen.

Der Anwender kann aber nicht davon ausgehen, dass ein wild aufgebautes Word-Dokument ohne Gliederungsebenen nach der Konvertierung eine fehlerfreie, gut aufgebaute Struktur besitzt.

Den Aufwand reduzieren

Die Funktion des intelligenten Einfügens eignet sich besonders für Tabellen. Ihre Umwandlung ist meist recht aufwendig und kompliziert.

Die intensive Unterstützung von XML-Transformationsprozessen auf Grundlage von XSLT 2.0 suggeriert, FrameMaker würde nur noch XML sprechen. Das ist aber nicht der Fall, auch SGML lässt sich mit der Anwendung bearbeiten. Der Anwender muss sich allerdings damit arrangieren, dass die Applikationen direkt in den structapps.fm-Dateien gepflegt und weder Pre- noch Postprocessing via XSLT nutzbar ist.

Die Gründe für die Aktualisierung

Bereits die neuen Funktionen für das Gestalten von Formaten für Objekte, die Integra­tion von U3D-Grafiken und der Einsatz von Hotspots, also Querverweise auf Grafiken, lohnen ein Update auf die neue Version. Wer zusätzlich das Programm als XML-Editor nutzt, wird durch den Schnellkatalog für das Einfügen von Strukturblöcken, das Smart Paste und die verschiedenen Ansichts-Modi deutlich profitieren können. Funktionen testen

Beispielpaket

Funktionen testen

Zu diesem Beitrag ist ein Beispielpaket verfügbar mit einer XML-Applikation, einer XML-Beispieldatei, einem Word-Dokument zum Testen von Smart Paste und eine XML-Applikation für die Einbindung des Beispiels in das Programm.

Zu den Downloads

Zum Download

Adobe Influencer Logo

Unser Forum ist umgezogen:

Sie finde es jetzt direkt auf 4xscripts.com/forum