xml-basierte dokumenterstellung in adobe framemaker
DESCRIPTION
Die Bearbeitung von XML-Inhalten in einer WYSIWYG-Umgebung ist schon lange eine Domäne von FrameMaker. Mit der neuesten Version sind nun noch einige wichtige neue Funktionen dazugekommen. Referent: Marcus BollenbachTRANSCRIPT
Strukturiertes Arbeiten mit FrameMaker
© Computrain M. Bollenbach www.bollenbach.de
Vorstellung Computrain
Marcus Bollenbach Jahrgang 1967 Schriftsetzer, Druckereitechnik-Ingenieur (FH) Seit 1998 freiberuflich tätig als Trainer und Consultant, u.a.
für Adobe Systems, itl, SMI, itraining Kontaktdaten:
[email protected] +49 (172) 7674181
2
© Computrain M. Bollenbach www.bollenbach.de
Themen
Grundsätzliches Struktur-Grundlagen DITA-Unterstützung EDD-Erzeugung Lese-/Schreibregeln Struktur-Oberfläche Formatierungsregeln Strukturierte Bücher Konvertierungstabellen
3
© Computrain M. Bollenbach www.bollenbach.de
Historie…
1969: GML (General Markup Language) durch Goldfarb, Mosher, Lorie (IBM) ;)
Ziel: Vereinheitlichung der firmeninternen Dokumentationen 1986: SGML (Standard General Markup Language)
Zertifizierung durch die ISO als weltweit gültiger Standard 1995: FrameMaker+SGML 5
1997: XML (Extended Markup Language) Verabschiedung durch W3C-Konsortium 2002: FrameMaker 7 mit SGML + XML
(aber noch kein Unicode…) 2007: FrameMaker 8 mit Unicode-Unterstützung
© Computrain M. Bollenbach www.bollenbach.de
Grundsätzliches (1) – Layoutansicht
5
© Computrain M. Bollenbach www.bollenbach.de
Grundsätzliches (2) – Layout mit Tags
6
© Computrain M. Bollenbach www.bollenbach.de
Grundsätzliches (3) – Layout/Strukturansicht
7
© Computrain M. Bollenbach www.bollenbach.de
Grundsätzliches (4) – XML-Ergebnis
8
© Computrain M. Bollenbach www.bollenbach.de
Struktur-Grundlagen: DTD
Document Type Definition Legt die Struktur/Aufbau eines bestimmten Typs von Dokumenten fest
Legt kein Layout fest!!! Definiert:
Elemente Attribute Entitäten Notationen
9
© Computrain M. Bollenbach www.bollenbach.de
Struktur-Grundlagen: Elemente (1)
Definieren die Inhalte des Dokumententyps Können bestehen aus:
Text bzw. Daten, bezeichnet durch das reservierte Wort #PCDATA
Modellgruppen, das sind Abfolgen von Elementen, verknüpft durch Konnektoren
gemischten Inhalten, d. h. eine Mischung aus Text und Subelementen.
beliebigen Inhalten (ANY), für nichtstrukturierte Inhalte wie z.B. generierte Verzeichnisse (Inhalt, Stichwort, etc.)
leeren Elementen (z.B. Grafiken, Marken, Querverweise) dienen nur als Container, eigentlicher Inhalt wird über Attribute (z.B. ID und IDREF) definiert
Bsp: <!ELEMENT elementname - - (element1, element2+, element3?)>
10
Nur SGML!
© Computrain M. Bollenbach www.bollenbach.de
Struktur-Grundlagen: Elemente (2)
Konnektoren/Verbinder Legen die Abfolge der Elemente fest
11
© Computrain M. Bollenbach www.bollenbach.de
Struktur-Grundlagen: Elemente (3)
Häufigkeitsindikatoren Legen fest, wie oft ein Element vorkommen kann oder muss
Steht kein Häufigkeitsindikator bei einem Element, muss dieses Element genau einmal erscheinen
12
© Computrain M. Bollenbach www.bollenbach.de
Struktur-Grundlagen: Attribute (1)
Spezifizieren ein Element genauer Erlauben die Verwaltung von Meta-Daten
(z.B. Autor, Status, Version, etc.), die nicht zwingend im Text erscheinen sollen
Dienen in Verbindung mit DTP-Editoren wie FrameMaker für die Hinterlegung von Layout-Informationen (z.B. Positionierung von Grafiken, Schriftstil, Ausrichtung, etc.)
Bsp.: <!ATTLIST element attributname1 typ defaultwert attributname2 typ defaultwert>
13
© Computrain M. Bollenbach www.bollenbach.de
Struktur-Grundlagen: Attribute (2)
Attribut-Typen (XML + SGML)
14
© Computrain M. Bollenbach www.bollenbach.de
Struktur-Grundlagen: Attribute (3)
Attribut-Typen (nur SGML!)
Attribut Default-Werte
15
© Computrain M. Bollenbach www.bollenbach.de
Struktur-Grundlagen: Entitäten
Stellen Platzhalter bzw. Variablen, die einmal definiert werden und dann an verschiedenen Stellen in der DTD verwendet werden können
Entitäts-Typen Text-Entitäten (für Sonderzeichen in SGML!) Referenzen auf Dokument- bzw. DTD-Module
(z.B. für Tabellen) <!DOCTYPE buch SYSTEM [ <!ENTITY kap1 SYSTEM “c:\sgml\buch\kap1.sgm” > <!ENTITY kap2 SYSTEM “c:\sgml\buch\kap2.sgm” > <!ENTITY kap3 SYSTEM “c:\sgml\buch\kap3.sgm” >] > <buch> &kap1; &kap2; &kap3; </buch>
Referenzen auf Nicht-Struktur-Module wie Grafiken <!ENTITY bild1 SYSTEM c:\images\bild1.tif NDATA tif>
16
© Computrain M. Bollenbach www.bollenbach.de
Struktur-Grundlagen: Notationen
Definieren das Verhalten des Struktur-Editors bei Nicht-Struktur-Entitäten, z.B. Aufruf eines Player für Videos
Bsp.: <!NOTATION tif SYSTEM "" > <!NOTATION avi SYSTEM "mplayer.exe" > <!NOTATION cgm PUBLIC "-//LOCAL//NOTATION Computer Graphics Metafile//EN" >
XML benötigt zwingend einen System-Identifier! Ein zusätzlicher Public-Identifier ist aber möglich
17
© Computrain M. Bollenbach www.bollenbach.de
DITA-Unterstützung (1)
Darwin Information Typing Architecture Open Source Standard der von IBM entwickelt wurde und
von OASIS (open standards group) unterstützt wird Derzeit aktuell: Version 1.2 (wird auch von FM unterstützt) Ermöglicht dem Anwender eine einfache Wiederverwendung
von Inhalten Topic basiert > Granulare Einheiten vs. Kapitel
Wird von Adobes Learning Group (früher ICOMM) verwendet Ist derzeit ein Hype-Thema in der technischen
Dokumentation, in Deutschland aber kaum im Einsatz Weitere Information
http://www.oasis-open.org/home/index.php http://dita.xml.org/ http://www-128.ibm.com/developerworks/xml/library/x-dita1/
18
© Computrain M. Bollenbach www.bollenbach.de
DITA-Unterstützung (2)
FrameMaker bietet: Import/Export Verarbeitung DITA Map-Unterstützung Conref-Unterstützung Xref-Unterstützung Erzeugt FrameMaker-Bücher aus DITA Maps Integration mit dem DITA Open Toolkit Benutzer-Voreinstellungen, wie z.B. die
DITA Struktur-Anwendungen
Beispiel-Anwendung für DITA XML Bietet Formatierung aller DITA-Elemente Ausgangspunkt für eigene Struktur-Anwendungen Schnelle Möglichkeit, DITA in FrameMaker
zu nutzen
19
© Computrain M. Bollenbach www.bollenbach.de
DITA-Unterstützung (3)
In der Regel wird nicht die Original-DITA-Umgebung genutzt, sondern eine mehr oder weniger abgewandelte Form davon. Seit FrameMaker 10 gibt es dafür einen Spezialisierungsassitenten: DITA > DITA-Spezialisierung
20
© Computrain M. Bollenbach www.bollenbach.de
Die Bibeln ;)
Bevor über Details gesprochen wird, hier noch der Hinweis auf zwei Dokumente, die Sie auf jeden Fall brauchen werden: Entwicklerhandbuch
Das Handbuch erläutert alle Aspekte der strukturierten Anwendungsentwicklung http://help.adobe.com/en_US/FrameMaker/8.0/structapp_dev.pdf
Referenzhandbuch Enthält Informationen zu sämtlichen EDD-Elementen von FrameMaker und Elementen strukturierter Anwendungen. Darüber hinaus werden Lese- und Schreibregeln sowie andere relevante Befehle, Funktionen und Listen behandelt http://help.adobe.com/en_US/FrameMaker/8.0/structapp_dev_ref.pdf
21
© Computrain M. Bollenbach www.bollenbach.de
EDD-Erzeugung
Element Definitions Dokument: Entsprechung der DTD auf FrameMaker-Seite
Kann durch Import einer DTD in FrameMaker erzeugt werden (Strukturieurngswerkzeuge > DTD öffnen/importieren)
Kann natürlich auch neu definiert werden: Strukturieurngswerkzeuge > Neues EDD
Weist neben der reinen Strukturinformation auch Formatierungsregeln auf
Ordnet DTD-Elemente speziellen Frame-Funktionen wie Grafiken, Querverweise, Fußnoten oder Tabellen zu. Diese erfolgt durch Lese-/Schreibregeln
Erlaubt die Festlegung mehrerer Highest Level Elemente (notwendig z.B. für strukturierte Bücher: Cover, TOC, Chapter, etc.)
22
© Computrain M. Bollenbach www.bollenbach.de
Strukturiertes FM-Dokument
Strukturiertes FM-Template
EDD (Struktur- & Layout-Regeln)
EDD-Erzeugung und Strukturierung
23
SGML/XML FrameMaker
DTD (Struktur-Regeln)
Direkter Import
Import Element-Def.
• DTD
• Lese-/Schreibregeln
• Template
• Entitäten
• XSLT
• etc.
XML-Dokument
Import per Applikation
Export als XML
Import als XML
Struktur- Applikationen
(structapps.fm)
RDS/DMS
TMS
Inhalt einfügen
Teil-DTDs
© Computrain M. Bollenbach www.bollenbach.de
Anwendungsdefintionen (1)
Werden in der structapps.fm festgelegt Definieren notwendige Bestandteile für den
Im-/Export von SGML-/XML-Dateien in FrameMaker Minimale Bestandteile:
DTD Lese-/Schreibregeln Template-Datei
Hinzufügen/Ändern von Struktur-Applikationen (Strukturierungswerkzeuge > Anwendungsdefinitionen bearbeiten)
Nach Änderungen notwendig (Strukturierungswerkzeuge > Anwendungsdefinitionen lesen)
© Computrain M. Bollenbach www.bollenbach.de
Anwendungsdefintionen (2)
Seit FrameMaker 10 gibt es einen Assistenten für die Erstellung von Anwendungsdefinitionen: Strukturierungswerkzeuge > Gestaltung strukturierter Anwendungen…
Der Befehl Speichern trägt die neu erstellte Anwendungsdef. in die structapps.fm ein
© Computrain M. Bollenbach www.bollenbach.de
Anwendungsdefintionen (3)
Beim Starten von FrameMaker wird automatisch die structapps.fm im Root-Verzeichnis, Unterverzeichnis „Structure“ verarbeitet
Projektspezifische Struktur-Applikationsdateien sind möglich, müssen aber manuell nachgeladen werden
© Computrain M. Bollenbach www.bollenbach.de
Lese-/Schreibregeln (1)
Erlauben eine Zuordnung von Struktur-Elementen und -Attributen auf spezielle FrameMaker-Funktionen wie: Grafiken Tabellen Fußnoten Querverweise Marken
Erlaubt das Umbenennen von Elementen/Attributen Funktioniert in beide Richtungen (Import/Export)! Bsp.:
element “elementname“ is fm element “fmname”;
27
© Computrain M. Bollenbach www.bollenbach.de
Lese-/Schreibregeln (2)
Seit FrameMaker 10 gibt es einen Assistenten für die Erstellung von Lese-/Schreibregeln: Strukturierungswerkzeuge > Neue Lese-/Schreibregeln…
Durch Zugriff auf die DTD werden die zu übernehmenden Elemente vordefiniert
Gleichzeitig bietet der Assistent Zugriff alle zur Verfügung stehenden Parameter – dies erspart den Blick in die Referenz…
28
© Computrain M. Bollenbach www.bollenbach.de
Lese-/Schreibregeln (4)
Fußnoten element „footnote" is fm footnote element "Fußnote";
Marken element „index" is fm marker element "Stichwort";
Querverweis element „crossref" is fm cross-reference element "Querverw";
Grafik element „graphic" is fm graphic element "Grafik";
Gleichung element "equation" is fm equation element "Gleichung";
Variablen element "Datvar" is fm system variable element "Datum";
30
© Computrain M. Bollenbach www.bollenbach.de
Lese-/Schreibregeln (5)
Tabellen Es wird für jeden Tabellenbestandteil eine entsprechende Lese-/Schreibregel benötigt! is fm table element; is fm table title element; is fm table heading element; is fm table footing element; is fm table body element; is fm table row element; is fm table cell element;
31
© Computrain M. Bollenbach www.bollenbach.de
Lese-/Schreibregeln (4)
Elemente auflösen Es gibt die Möglichkeit, Elemente beim Import aufzulösen und alle darunter hängenden Elemente eine Ebene hochzuziehen: TableGroup unwrap; Beim Exportieren wird dieses Element wieder um die Kindelemente herum gelegt
Elemente löschen Es gibt die Möglichkeit, Elemente beim Import zu löschen: Element drop;
32
© Computrain M. Bollenbach www.bollenbach.de
3 Ansichten strukturierter Dateien
WYSIWYG Die Druckdarstellung des FrameMaker-Dokumentes mit Seiten- und Spaltenumbrüchen
Author-View Eine vereinfachte Darstellung des FrameMaker- Dokumentes unter Wegfall von Seiten- und Spaltenumbrüchen sowie manuellen Formatierungsmöglichkeiten ;)
XML-View Native XML-Ansicht mit der Möglichkeit, XSL-Transformationen und XPath-Suche anzuwenden
Erfordert bestehende Anwendungsdefinition
33
© Computrain M. Bollenbach www.bollenbach.de
Struktur-Oberfläche – WYSIWYG
34
Strukturansicht
Elementkatalog
Attibut-Dialog
© Computrain M. Bollenbach www.bollenbach.de
Struktur-Oberfläche – Author-View
35
Strukturansicht
Elementkatalog
Attibut-Dialog
© Computrain M. Bollenbach www.bollenbach.de
Struktur-Oberfläche – XML-View
36
© Computrain M. Bollenbach www.bollenbach.de
Struktur-Oberfläche (2)
Elementkatalog Zeigt die an der aktuellen Stelle zugelassenen Elemente an und erlaubt das Einfügen, Eingliedern oder Ändern von Elementen
Attribut-Dialog Ermöglicht die Festlegung von Attributwerten über ein Auswahl-Menü oder Texteingabe
Strukturansicht Visualisiert die Dokumentenstruktur und erleichtert die
Navigation in ihr Element bzw. Attribute können durch Klick
auf +/– Symbol ein- bzw. ausgeblendet werden (mit Shift-Taste für eine ganze Ebene)
Zeigt durch rote Markierungen Fehler in der Struktur an!
37
© Computrain M. Bollenbach www.bollenbach.de
Struktur-Oberfläche – Strukturansicht (1)
Aufruf über Symbolleiste Strukturierter Zugriff oder Strukturierungswerkzeuge > Strukturansicht…
38
Steuerung Darstellungsgröße
Element mit eingeblendenten Attributen
Element mit Unterelementen
© Computrain M. Bollenbach www.bollenbach.de
Struktur-Oberfläche – Strukturansicht (1)
Ein-/Ausblenden von Unterelementen
39
© Computrain M. Bollenbach www.bollenbach.de
Struktur-Oberfläche – Strukturansicht (2)
Ein-/Ausblenden von Attributen
40
© Computrain M. Bollenbach www.bollenbach.de
Struktur-Oberfläche – Strukturansicht (3)
Visualisierung der Schreibmarkenpostion: Am Anfang: Im Text: Am Ende:
41
© Computrain M. Bollenbach www.bollenbach.de
Anzeige der Attributwerte lässt sich steuern: Darstellung > Attributanzeige-Optionen
Werden nur benötigte und befüllte Attribute angezeigt, kann ein +-Symbol in der Strukturansicht angezeigt werden, obwohl die Attribute schon eingeblendet wurden. Dies zeigt an, das weitere, unbefüllte Attribute angezeigt werden können
Struktur-Oberfläche – Strukturansicht (5)
42
© Computrain M. Bollenbach www.bollenbach.de
Abhängig von den Optionen werden Element angezeigt Nur gültige nachgeordnete Elemente
Empfehle ich für Einsteiger!!!
Struktur-Oberfläche – Elementkatalog (1)
43
© Computrain M. Bollenbach www.bollenbach.de
Struktur-Oberfläche – Elementkatalog (2)
Alle zugelassenen nachgeordneten Elemente
44
© Computrain M. Bollenbach www.bollenbach.de
Struktur-Oberfläche – Elementkatalog (3)
Alle Elemente
45
© Computrain M. Bollenbach www.bollenbach.de
Struktur-Oberfläche – Elementkatalog (4)
3 Funktionsschaltflächen Einfügen (Insert)
Fügt an der Einfügemarke ein leeres Element des gewählten Typs ein Achtung: Wenn vorher Text oder ein Element markiert war, wird dieser durch das leere Element überschrieben!
Eingliedern (Wrap) Gliedert den markierten Text oder das markierte Element in ein Element des gewählten Typs ein, z.B. um Text in ein Auszeichnungselement zu „verpacken“ Gegenbefehl „Ausgliedern“ auf der rechten Maustaste
Ändern (Change) Ändert ein in der Strukturansicht markiertes Element in ein Element des gewählten Typs (z.B. Bold in Italic)
46
© Computrain M. Bollenbach www.bollenbach.de
Struktur-Oberfläche – Attributeeditor
Doppelklick auf Attributname oder -wert in der Strukturansicht (Cursor-Pfeil bekommt durchbrochene Pfeilspitze) öffnet Attributeeditor
Besitzt ein Attribut Auswahlwerte, wird ein Pull-Down-Menü angeboten
47
© Computrain M. Bollenbach www.bollenbach.de
Verwendung von Attributen
Attribut-Werte lassen sich z.B. auch für die Befüllung von Kopf-/Fußzeilen durch Systemvariablen verwenden: Die Variable <$Attribut[AttrName]> ließt den Wert der zugehörigen Variable, z.B. ProduktName aus
Das spannende daran: Dieser Variablen-Wert wird vererbt, er braucht z.B. nur einmal beim Highest Level Element eines Buches vorkommen und gilt dann für alle Teildokumente!
48
© Computrain M. Bollenbach www.bollenbach.de
Formatierungsregeln im EDD (1)
Absatz- und Zeichenformatierungen auf Basis spezieller Element-Kontexte oder Attribut-Werte
Kontext-Spezifkation (Auszug)
49
© Computrain M. Bollenbach www.bollenbach.de
Formatierungsregeln im EDD (2)
Absolute Formatierung durch Zuweisung eines bestehenden Absatz- oder Zeichenformates aus dem Template
Relative Formatierung durch Änderung bestehender Absatz- bzw. Zeicheneigenschaften wie z.B. der Schriftart oder -größe
Formatierung durch Zuweisung einer Format-Änderungsliste, in der immer wieder benötigte Format-Änderungen zusammen gefasst werden
50
© Computrain M. Bollenbach www.bollenbach.de
Formatierungsregeln im EDD (3)
Weitere kontextbasierte Möglichkeiten: Zuweisen eines Tabellenformates bei neuen Tabellen Festlegen einer Tabellen-Start-Struktur Zuweisen eines Querverweisformates bei neuen
Querverweisen Zuweisen von Prä- oder Suffixen wie z.B.
An- und Abführungen oder der Ausdruck „Abbildung“ bei Bildunterschriften
Seit FrameMaker 11 ist auch das Zuweisen von Objektstilen für Grafiken möglich
51
© Computrain M. Bollenbach www.bollenbach.de 52
Formatierungsregeln im EDD (4)
Eine Prüfung der angewendeten Formatierungsregeln in FrameMaker bietet der Elementkontext (Strukturierungswerkzeuge > Elementkontext einblenden…)
Angewendete Regeln
© Computrain M. Bollenbach www.bollenbach.de
Automatisches Einfügen von Startstrukturen
Ergebnis:
53
Autorenunterstützung im EDD
© Computrain M. Bollenbach www.bollenbach.de
Bannertexte: Erläuterung im Dokument (Ansicht > Elementbannertext)
Beschreibungs-Tag: Erläuterung im Element-Katalog
54
Autorenunterstützung im EDD (2)
© Computrain M. Bollenbach www.bollenbach.de
Intelligente Einfügen-Funktion (Bearbeiten > Intelligente Einfügefunktion) wandelt unstrukturierte Inhalte bei Kopiervorgängen z.B. aus Word- oder HTML-Dateien in korrekt strukturierte DITA-Inhalte um
55
Autorenunterstützung
© Computrain M. Bollenbach www.bollenbach.de
Strukturierte Bücher (1)
FrameMaker unterstützt das strukturierte Arbeiten auch in Büchern
Voraussetzung: Die Teildokumente (z.B. Titel, Inhaltsverzeichnis, Kapitel, etc.) sind im EDD als Highest Level Element eines Dokumentes gekennzeichnet worden
Strukturen der Teildokumente werden bei einer Buchaktualisierung ausgelesen und in die Buchstruktur übernommen
Generierte Dateien (IVZ, SIX, etc.) haben meist nur einen Wurzelknoten, aber keine tiefergehende Struktur mehr (Inhaltsmodel ANY)
© Computrain M. Bollenbach www.bollenbach.de
Elementprüfung/Validierung
Prüfung der Struktur in auf Gültigkeit: Element > Prüfen…
Gültigkeit ist Voraussetzung für erfolgreichen XML-Export! Seit FM 10 gibt es einen entsprechenden INI-Eintrag
© Computrain M. Bollenbach www.bollenbach.de
Strukturierte Bücher (2)
Buch nach Neuanlage, Kapitelelemente noch nicht bekannt
© Computrain M. Bollenbach www.bollenbach.de
Strukturierte Bücher (3)
Buch nach Aktualisierung
© Computrain M. Bollenbach www.bollenbach.de
INI-Spezialitäten
DoNotExportInvalidXML=Off Verhindert den Export ungültiger XML-Daten, wenn On
SuppressXMLParserWarnings=Off Unterdrückt XML-Warnungen, wenn On
RemoveExtraWhiteSpacesOnXMLImport=On Entfernt überflüssige Leerzeichen beim XML-Inport, wenn On
60
© Computrain M. Bollenbach www.bollenbach.de
Konvertierungstabellen
Auf Basis bestehender Formatierungen in den FrameMaker-Dokumenten wird die Zugehörigkeit bzw. Zuordnung zu einer bestimmten strukturellen Ebene in der XML-/SGML-Struktur abgeleitet
61
© Computrain M. Bollenbach www.bollenbach.de
Konvertierungstabellen – Beispiel
62
© Computrain M. Bollenbach www.bollenbach.de
Konvertierungstabellen – Ablauf
63
importieren anwenden
EDD (Elementdef.)
Unstrukturiertes FM-Dokument
Layout-Template (Formate)
Konvertierungs- Tabelle
Struktur- & layouthaltiges FM-Dokument
Nach abschließenden Arbeiten: Gültiges strukturiertes
FM-Dokument
© Computrain M. Bollenbach www.bollenbach.de
Tastaturbefehle
Aktion Tastatur- befehl
Die Inhalte aus dem ausgewählten Element ausgliedern Esc e e f Die ausgewählten Elemente im übergeordneten Element zusammenfügen Esc e v 1 Die ausgewählten Elemente im ersten Element zusammenfügen Esc E M Das aktuelle Element an der Einfügemarke teilen Esc e e t Das ausgewählte Element eine Ebene nach oben verschieben Esc E P Das ausgewählte Element eine Ebene nach unten verschieben Esc E D Das ausgewählte Element durch das vorige ersetzen Esc E T Das ausgewählte Element durch das nächste ersetzen Esc E t Den letzten Elementbefehl wiederholen Esc e e w Die Attribute bearbeiten Esc E A Die Namespaces bearbeiten Esc E N Den Elementkatalog aufrufen Esc S L Das Dialogfenster „Verfügbare Elemente zuweisen...“ aufrufen Esc E O C Das Dialogfenster „Neue Elementoptionen...“ aufrufen Esc e O Das Dialogfenster „Prüfen“ aufrufen Esc e e p