Praxistipps Word: Einmal Word und zurück

(Montero Pineda, Manuel, Herkert, Steffen, Klevenz, Tobias, Kutscherauer, Nico: Praxistipps Word: Einmal Word und zurück, in: technische kommunikation, Heft 4, 2009).

Eine der zentralen Einsatzmöglichkeiten von Word ab Version 2003 und seiner XML-Fähigkeit ist das automatisierte Erzeugen von Word-Dokumenten aus XML-Quellen mit Hilfe von XSLT. Wie läuft dieser Vorgang ab und welche Vorteile für die Technische Kommunikation sind damit verbunden?

In der Praxis wird die Automatisierung von Word nach XML und wieder zurück dazu verwendet, um XML-Daten für Kunden aufzubereiten und als Word-Dokumente zur Verfügung zu stellen. Oder aus dem Grund, um mit anderen Technischen Redakteuren und Dienstleistern zu kommunizieren, die beispielsweise nicht über einen XML-Editor verfügen oder für die sich der Einarbeitungsaufwand nicht lohnen würde.
Bei WordML, dem Speicherformat von Word 2003 und Word 2007, handelt es sich um ein XML-Format. Betrachten wir ein kurzes Beispiel für einen Absatz:

<w:p>
   <w:r>
      <w:t>Als Gregor Samsa eines Morgens aus unruhigen Träumen erwachte, fand er sich in seinem Bett zu einem ungeheueren Ungeziefer verwandelt.</w:t>
   </w:r>
</w:p>

WordML verwendet hier das Element <w:p> um einen Absatz (Paragraph) zu definieren. Innerhalb von <w:r> (Run-Text) können verschiedene einzeilige Formatierungen und Eigenschaften angelegt werden. Außerdem enthält das Element <w:r> das Element <w:t> (Text) mit dem Text des Absatzes.

Was passiert bei einer XSLT-Transformation?

Bei dieser Transformation wird zum Beispiel aus einem DITA-Absatz-Element <p> mit Hilfe eines XSLT-Stylesheets und eines XSLT-Prozessors ein Absatzfragment in der Sprache des Zielformats erzeugt. Das neue Format kann beispielsweise XHTML, FO für eine PDF-Ausgabe oder eben WordML sein. Das DITA-Fragment würde hier folgendermaßen aussehen:

<p>Als Gregor Samsa eines Morgens aus unruhigen Träumen erwachte, fand er sich in seinem Bett zu einem ungeheueren Ungeziefer verwandelt.</p>

Und der Ausschnitt eines XSLT-Stylesheets für die Transformation der Absätze nach WordML wie folgt:

<xsl:template match="p">
   <w:p>
      <w:r>
         <w:t><xsl:value-of select="."/></w:t>
      </w:r>
   </w:p>
</xsl:template>

Sehr vereinfacht ausgedrückt, ist XSLT eine intelligente Suche-Ersetze-Sprache, die vom W3C herausgeben wurde. Es handelt sich also um einen W3C-Standard.
Im Beispiel wird nach dem Element <p> aus dem DITA-Dokument gesucht (<xsl:template match=“p“>). Jeder Absatz wird nun jeweils in einen WordML-Absatz umgewandelt, der Inhalt von <xsl:template>. Als Ergebnis erhalten wir das obere WordML-Fragment.

Wie sieht dieses nun in der Praxis aus?

Grundsätzlich bestehen zwei Möglichkeiten, diese Transformationen zu nutzen. Zum einen kann der XSLT-Prozess in einem Batch ablaufen, also vollautomatisch und in einer Blackbox. Dabei erhalten wir die Word-Datei als Ergebnis des XSLT-Transformationsprozesses. Zum anderen lässt Word es zu, die DITA-XML-Datei zu öffnen und den dort integrierten XSLT-Prozessor (MSXML) für die Transformation zu nutzen.

Ausschnitt aus einer XML-Datei.

Abb.: Ausschnitt aus einer XML-Datei.

Beim Öffnen einer XML-Datei in Word erscheint bereits standardmäßig ein Menü, das dem Benutzer die Möglichkeit bietet, ein XSLT-Stylesheet zuzuordnen. Wird nun ein passendes Stylesheet ausgewählt, erscheint das Ergebnis der Transformation, die im Hintergrund abläuft, direkt in Word.

Mit Hilfe des passenden Stylesheets wird das XML-Dokument als Word-Dokument angezeigt.

Abb.: Mit Hilfe des passenden Stylesheets wird das XML-Dokument als Word-Dokument angezeigt.

Weitere Einsatzmöglichkeiten von XSLT

Ein sehr praktischer Aspekt dieser Technologie ist es, dass neben kompletten XML-Dokumenten auch XML-Fragmente verarbeitet werden können. Beispielweise lassen sich Tabellen im XML-Format zentral pflegen. Der Benutzer kann eine solche Tabelle über einfache Verlinkungen in sein bestehendes Word-Dokument laden. Formatierungen werden bei diesem Vorgang übernomen. Gerade wenn verschiedene Abteilungen sensible Daten zentral pflegen und Redundanzen vermeiden möchten, sind solche Anwendungen sehr hilfreich. Ein Beispiel hierfür wäre die Marketingabteilung, die die technischen Daten eines Gerätes von der Produktentwicklung benötigt.

Automatisches Taggen

Ein wichtiger Arbeitsschritt ist der von Word nach XML: Ein Anwendungsfall ist der Umstieg von Word-basierter Dokumentation auf ein XML-Redaktionssystem. Dabei stellt sich natürlich die Frage, was mit den alten Word-Dokumenten passiert. Hier ergeben sich durch die WordML-Schnittstelle von Word neue Möglichkeiten. Genauso wie bei der Erstellung von Word aus XML heraus werden auch hierfür XSLT-Stylesheets verwendet, nur dass nun die Suche-Ersetze-Regeln umgekehrt für uns arbeiten. Zum Beispiel wird nun aus einem <w:p>-Element in Word ein <p>-Element in DITA.
Was in der Theorie gut klingt und prinzipiell einfach ist, stellt sich in der Praxis als durchaus problematisch heraus. Eine Voraussetzung für die Transformation von Word nach XML ist nämlich die saubere Arbeit mit Formatvorlagen in Word. Aufgrund dieser Auszeichnungen werden beispielweise Überschriften erkannt und gemäß dieser die Kapitelstrukturen erstellt. Sind aber die Überschiften nicht sauber mit Formatvorlagen erstellt worden, sondern wurde mit Hilfe von Änderungen an der Schriftgröße und Fettstellung eine Überschrift „simuliert“, so kann keine gesicherte Übersetzung geschehen. Im schlimmsten Fall würden alle Texte gefunden und in Absätze umgewandelt werden. Anschließend müsste allerdings die Datei in einem XML-Editor noch nachbearbeitet werden, bis eine valide DITA-Datei entsteht. Für diesen Anwendungsfall ist auch ein anderer Weg denkbar: Word-Dateien mit einer sehr schlechten Datenqualität werden an spezialisierte Dienstleister geschickt und dort einer Qualitätssicherung unterzogen. Der Teil mit den besseren Word-Dateien wird automatisiert mit XSLT umgewandelt. Die Aufteilung in gute und schlechte Dateien kann ebenfalls mit XSLT-Skripten erfolgen.

Externe Zusammenarbeit vereinfachen

Darüber hinaus existieren weitere Anwendungsfälle, zum Beispiel bei externen Autoren, die nicht mit XML arbeiten und Word-Dateien bekommen und bearbeiten. Für diese Prozesse bestehen je nach Art und Umfang der externen Schreibarbeiten unterschiedliche Lösungen, die auf der Verwendung von XSLT-Skripten beruhen. Um hier eine gesicherte Arbeitsweise zu erreichen, werden oftmals zusätzlich VBA-Makro-Oberflächen eingesetzt.

Word-Dokument, erzeugt durch ein XSLT-Skript und unterstützt durch ein VBA-Makro.

Abb.: Word-Dokument, erzeugt durch ein XSLT-Skript und unterstützt durch ein VBA-Makro.

Fazit

Der Einsatz von XSLT-Stylesheets eröffnet neue Möglichkeiten, um XML und Word zu verbinden. Daraus allerdings den Schluss zu ziehen, ein vernünftiger XML-Editor sei nun überflüssig, ist falsch. Es handelt sich vielmehr um eine wichtige Ergänzung im crossmedialen Umfeld.

   

<< zurück vor >>

 

 

 

Tipp der data2type-Redaktion:
Zum Thema WordML bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © 2009 tcwolrd GmbH
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieser Artikel aus der Fachzeitschrift "technische kommunikation" (Heft 4, 2009) denselben Bestimmungen wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

tcworld GmbH, Rotebühlstraße 64, 70178 Stuttgart, info@tekom.de, www.tekom.de