In den letzten Tagen habe ich intensiver mit DITA herum experimentiert. Dabei bin ich auf einige Schwierigkeiten gestossen, die ich im Folgenden beschreibe.
DITA und Eclipse
Zuerst habe ich versucht DITA Dateien in Eclipse zu editieren. Dafür habe ich das Plug-in Vex, einen sogenannten wordprocessor-like XML Editor, installiert. Vex bringt eine eigene Unterstützung für DITA mit. Leider ist das Plug-in in der Version 1.2.1 unter Eclipse 3.1.2 für OS X nicht komplett zu gebrauchen, da im Wizard zum anlegen einer neuen XML Datei die Auswahlliste nicht korrekt gerendert wird. Bei nächster Gelegenheit werde ich einmal schauen, ob ich das fixen kann. Alternativ habe ich Vex dann unter Linux mit dem Motif Eclipse eingesetzt. Da hat es dann auch der Wizard funktioniert. Allerdings ist das Bedienkonzept von Vex nicht sehr intuitiv, so dass ich nach knapp einer halben Stunde entnervt aufgegeben habe.
Weiter mit dem WTP
An die Stellle von Vex trat jetzt das Eclipse WTP. Dies bietet zwar keine wordprocessor-like Bedienung, aber ich konnte die XML Dateien zumindest erstellen und editieren und musste mich nicht zu sehr um die DITA Semantik kümmern. Allerdings ist das System auf dem Mac auch noch nicht ganz ausgereift. Der Design-View des Editors hatte ganz eigene Vorstellungen vom rendern einer Tabelle. Mal mit Linie, mal ohne Linien, mal zwei Zeilen überlappend. Ausserdem erlaubt das WTP nur DTDs mit einer gleichnamigen Endung auszuwählen und keine *.mod-Dateien. Auch kann es nur mit Dateien umgehen, die Dateiendung *.xml haben. Ich mag soetwas gar nicht. XML ist alles. Wichtiger ist die Semantik des Inhaltes und den erfasse ich als Mensch nun einmal schneller über eine sinnhafte Endung. Gerade bei DITA macht das Sinn, da zwischen dem eigentlichen Content und den Mappinginformationen unterschieden wird.
DITA mit dem XXE
Inzwischen habe ich meinen liebsten XML Editor, XXE in der Version 3.2.0 installiert, welche ebenfalls DITA unterstützt. Über Options|Install Add-ons kann der DITA Support nachinstalliert werden.
DTDs - Qual der Wahl
Für meine Versuche habe ich die DTDs des DITA OpenTookits in mein Projekt importiert. Beim anlegen einer neuen Datei muss man darauf achten, welche PUBLIC- und SYSTEM-Namen verwendet und aus welchem Ordner die DTDs referenziert werden. Hier habe ich am Anfang so ziemlich alles falsch gemacht, was man falsch machen kann. Das Ergebnis war, dass das DITA-OT mit meinen Topics nichts anfangen konnte und reihenweise Fehler produzierte, beispielsweise, dass die DITA DTDs nicht korekt sind.
| Type | PUBLIC | SYSTEM |
|---|---|---|
| Concept | -//OASIS//DTD DITA Concept//EN | concept.dtd |
| Task | -//OASIS//DTD DITA Task//EN | task.dtd |
| Reference | -//OASIS//DTD DITA Reference//EN | reference.dtd |
| Map | -//OASIS//DTD DITA Map//EN | map.dtd |
DITA Open Toolkit
Überhaupt, dass DITA-OT in der Version 1.2.1. Ich habe zuerst die Binärversion installiert. Abgesehen von meinen Fehler war ich doch sehr erstaunt, als mir das Toolkit meldete, dass es einige Klassen nicht finden konnte und dann komplett mit einem java.lang.VerifyError abbrach. Als Lösung habe ich die Sourcen des OT herunter geladen und selbst gebaut. Dabei muss darauf geachtet werden, das Ant mit dem Parameter "-f buildPackage.xml" aufgerufen wird. Die "build.xml" ermöglicht in erster Linie nur Contenttransformationen.
Ich weiss auch nicht, ob die Javaprobleme mit dem Mac zusammen hängen. Aus Mangel an Zeit habe ich es unter Linux und Windows nicht ausprobiert.
Aktuelle Probleme
Aktuelle Probleme liegen beim mir im Handling der Maps. In meinem selbst gebastelten Beispiel werden die Maps noch nicht richtig umgesetzt. Ausserdem wollte ich eigentlich erreichen, dass die Zutatenliste und die Zubereitunsganleitung zusammen gerendert werden. Mal sehen, was ich da übersehen habe.
Nachtrag: RTFM an mich selbst. In der Architekturspezifikation (PDF) steht, dass Mappingdateien auf *.ditamap enden. Weil das WTP das aber nicht erkennt, hatte ich für alle Dateien *.xml gewählt. Korrekterweise hat das OT das nicht gefressen und für mich falsche Daten produziert. Ich arbeite jetzt nur noch mit dem XXE und habe auch alls Topicdateien in *.dita umbenannt. Mist!
Nachtrag 2: Jetzt funktioniert auch die PDF-Transformation mit FOP. Dabei ist allerdings zu beachten, dass es mit der aktuellen Version 0.91beta nicht funktioniert, sondern nur mit der älteren Version 0.20.5. Das Layout des Inhaltes ist auch in Ordnung. Das Titelblatt sieht allerdings nicht so gut aus.
Nachtrag 3: Tapas und Salmorejo
Mehr zu DITA
