Freud und Leid mit XML-Dateiformaten
15. Februar 2007 von Wolfgang SommergutHeutzutage erlauben fast alle Anwendungen den Export der Daten in ein XML-Format. Das ist ein großer Schritt aus dem Datengefängnis proprietärer Binärformate, aber in der Praxis kann es beim XML-Output noch weit fehlen. Das ist zumindest meine Erfahrung mit einem Buchmanuskript, das Mitte der 90er Jahre entstand und mir als Framemaker-Datei vorlag.
Nach einigen erfolglosen Versuchen, die Framemaker-Dateien in ein offenes Format zu konvertieren, lud ich eine Demoversion des DTP-Programms herunter und konnte damit meine Manuskripte nach XML exportieren. Das Ergebnis fiel aber nicht gerade begeisternd aus. Ein besonderer Mangel des Exportformats besteht darin, dass es die Dokumentstruktur auf eine Ebene zusammenstaucht. Alle Knoten des Dokumentenbaums sind Kinder des Wurzelelements. Bei einem Buchmanuskript, das Kapitel und Unterkapitel auf vier Ebenen organisiert, gehen damit erhebliche Informationen verloren. Man weiß dann zwar, dass eine bestimmte Überschrift zu einem Kapitel der Ebene zwei gehört, aber dieses lässt sich keinem Kapitel der Ebene eins zuordnen. Bei einer Transformation in ein Präsentationsformat wie HTML kann man zwar die Formatierungen von Textelementen aus der ursprünglichen DTP-Datei übernehmen, aber eine Gliederung des Textes für ein Inhaltverzeichnis oder die Navigation ist nicht möglich.
Es bedarf umfangreicher Nacharbeiten, um einen langen Text aus einem derartigen XML-Format vernünftig ins Web zu bringen. Die beschränkt sich nicht auf die Neuorganisation der Dokumentstruktur, sondern man muss auch einige unsinnige Konstruktionen wegräumen. Anstatt jeder Kapitelüberschrift eine ID über ein eigenes Attribut zu spendieren, folgt beim Framemaker-XML ausschließlich für diesen Zweck (auf gleicher Ebene) unmittelbar darauf ein a/@name. Oder Geviertstriche stehen grundsätzlich in einem eigenen Paragraphen, so dass im Ziel-HTML einsame Gedankenstriche allein in einer Zeile stehen. Dabei handelt es sich um keine spezifische XML-Probleme, denn wenn jemand nichts von Datenmodellierung versteht, kann er solchen Unfug auch in jeder anderen Syntax produzieren.
Im Unterschied zu binären Formaten kann man die XML-Daten nachbearbeiten. Und wenn man mit den diversen Tools zur Textmanipulation eine brauchbare Struktur zuwege bringt, dann zeigen sich die Vorzüge einer weit verbreiteten Syntax in Form von vielfältigen Werkzeugen zur Weiterverabeitung. Die Kombination aus named output und dem neuen Element xsl:result-document
erlaubt in XSLT 2 die elegante Aufteilung von langen Texten in mehrere Zieldateien. Der XSLT-Prozessor von Altova beherrschte die neuen Features einwandfrei, während Saxon Probleme bereitete. Insgesamt bin ich mit dem Ergebnis zufrieden, nachdem die Print-Ausgabe des Buches vergriffen ist, habe ich „Programmieren in C“ mit der Web-Version für die Nachwelt gerettet :-)
Kategorie: XML Ein Kommentar »
hervorragend! das web braucht mehr offene bücher. aber eine lizenz konnte ich nicht finden – copyright? creativecommons? public domain?