Exportieren (0) Drucken
Alle erweitern

Erstellen von Veröffentlichungssystemen, die mit Word 2010 oder Word 2007 arbeiten

Office 2010

Zusammenfassung:  Der Einsatz von Word 2010 oder Word 2007 als wichtiger Teil eines Inhaltsverwaltungssystems hat viele Vorzüge. Dieser Artikel enthält Anleitungen zum Erstellen eines Inhaltsverwaltungssystems und Transformieren von Open XML WordprocessingML-Dokumenten in andere Dokumentformate.

Letzte Änderung: Montag, 11. April 2011

Gilt für: Office 2010 | Open XML | Visual Studio Tools for Microsoft Office | Word 2007 | Word 2010

Benutzerdefinierte Veröffentlichungslösungen sind vielleicht der komplexeste Anwendungsbereich für Dokumentformate wie Open XML WordprocessingML. Für die Inhaltserstellung muss ein Veröffentlichungssystem eine benutzerfreundliche, funktionsreiche Benutzeroberfläche zur Verfügung stellen. Der Einsatz von Word 2007 und Word 2010 als Basiskomponente eines Inhaltsveröffentlichungssystems bietet sich gerade zu an. Im Veröffentlichungsprozess können Sie das Open XML WordprocessingML-Format in das gewünschte Zieldokumentformat transformieren.

In einigen Projekten werden Open XML-Dokumente zur Veröffentlichung spezifisch in ein anderes Format transformiert, z. B. in HTML. Softwaresysteme wie diese werden im Rahmen größerer Projekte in der Regel von einem vollständigen Entwicklungs- und Testteam entwickelt, was nicht immer einfach ist. Der wichtigste Faktor bei diesen Arten von Transformationen ist ein sorgfältiger Entwurf der Transformation selbst. Ein Entwicklungsteam verbringt ggf. genau so viel oder mehr Zeit für das Formulieren der technischen Anforderungen für ein solches System wie für die Codeentwicklung selbst. In der Regel werden solche Veröffentlichungssysteme in einer Sprache geschrieben, die für das Schreiben dokumentzentrierter Transformationen konzipiert ist.

Eine typische Vorgehensweise bei Veröffentlichungssystemen ist der Einsatz von Formatvorlagen als Instrument dafür, Inhalte mit Bedeutung zu versehen, was in einigen Szenarien problematisch ist. Diese Probleme können jedoch mithilfe von Inhaltssteuerelementen behoben werden. Sie können ein Dokument beispielsweise wie folgt formatieren.

Abbildung 1. Beispiel eines Dokuments mit Formatvorlagen

Dokument mit Absätzen mit Formatvorlagen
Hinweis Hinweis

In Abbildung 1 wird eine Option in Microsoft Word 2010 und Microsoft Office Word 2007 verwendet, die es ermöglicht, die Formatvorlagennamen jedes Absatzes links neben dem Absatz anzuzeigen.

Sie können anschließend eine Transformation in das gewünschte Format schreiben. Dies ist nicht unproblematisch, da der Ansatz zum Extrahieren von Inhalten das Gruppieren angrenzender Absätze mit einem bestimmten Format einschließt, was zu einer eigentümlichen Umgebung für Inhaltsautoren führen kann. Dem Verfasser ist beispielsweise ein System bekannt, in dem der Entwickler eine speziell formatierte Zeile für einen Codeblock eingeben musste, der die Sprache des Codes angibt. Wenn in diesem System Codebeispiele für mehrere Sprachen bereitgestellt werden mussten, musste eine leere Zeile mit der Absatzformatvorlage "Normal" zwischen den Codebeispielen eingefügt werden:

Abbildung 2. Leere Zeile mit dem Format "Normal"

Dokument mit einem Absatz mit einer Leerzeile

Dies ist freilich heikel, denn wenn der Autor diese leere Zeile vergisst, würden bei der Transformation beide Codeblöcke miteinander verbunden. Eine Möglichkeit besteht darin, dass die Entwickler der Transformation auf "magische" Zeilen mit [c#] oder [vb] achten, doch das Schreiben von Code, der auf "magische" Zeilen achtet, ist nie eine gute Idee. War wäre, wenn gültiger Code mit genau dieser Zeichenfolge in einer Zeile als Teil einer mehrzeiligen Zeichenfolge vorhanden ist? Die Transformation würde auf eine wenig nachvollziehbare Weise unterbrochen, und der Entwickler müsste den Beispielcode künstlich so ändern, dass die Transformation ordnungsgemäß funktioniert.

Eine bessere Möglichkeit zum Entwurf eines Inhaltsveröffentlichungssystems ist der Einsatz von Inhaltssteuerelementen zum Gruppieren mehrerer Zeilen und die Bereitstellung entsprechender Metadaten zu diesen Zeilen.

Abbildung 3. Dokument mit Inhaltssteuerelement

Dokument mit Inhaltssteuerelement

Bei der Transformation kann dann der Inhalt jedes Codeblocks gesteuert extrahiert werden.

In der folgenden Aufstellung wird diese Vorgehensweise zum Erstellen eines Inhaltsveröffentlichungssystems zusammengefasst.

  • Wenn eine direkte Transformation von einem Einzelabsatz in einem Quelldokument in ein entsprechendes Konstrukt im transformierten Dokument vorhanden ist, verwenden Sie Absatzformatvorlagen. Sie können die Benutzerumgebung in Word so ändern, dass nur zwei gültige Absatzformatvorlagen zulässig sind. Über einen der Links in der Ressourcenübersicht erhalten Sie dazugehörige Informationen.

  • Wenn eine direkte Transformation von Elementen vom Typ "paragraph/run" in einem Quelldokument in ein entsprechendes Konstrukt im transformierten Dokument vorhanden ist, verwenden Sie Zeichenformatvorlagen.

  • Das Arbeiten mit Formatvorlagen bietet Autoren eine bessere Benutzerumgebung. Die Word-Benutzeroberfläche ist so optimiert, dass Autoren Absätze und Textläufe auswählen und Absatz- und Zeichenformatvorlagen zuordnen können.

  • Wenn Sie mehrere Absätze für die Transformation in ein bestimmtes Konstrukt im transformierten Dokument auswählen, gruppieren Sie diese Absätze mithilfe von Inhaltssteuerelementen, was auch für eine zweckmäßige Benutzerumgebung sorgt. Die Metadaten zu gruppierten Absätzen (z. B. der Codeblock im vorherigen Beispiel) sind eindeutig angegeben, sodass keine "magisch" formatierten Zeilen oder andere fragwürdige Methoden erforderlich sind. Wenn Sie als Entwickler an einem solchen System arbeiten, können Sie Makros für das mühelose Einfügen von Inhaltssteuerelementen bereitstellen, wenngleich es auch einfach ist, Inhaltssteuerelemente auf der Standardbenutzeroberfläche einzufügen.

Ressourcenübersicht

Titel

Beschreibung

Document-Centric Transforms

Bietet Informationen dazu, was eine dokumentzentrierte Transformation ist und beschreibt einen Ansatz zu deren Erstellung.

Transforming Open XML Documents using XSLT

Beschreibt einen Ansatz zum Umwandeln eines Open XML-Pakets in ein flaches Open Packaging Conventions-Paket (OPC), dessen Transformation in ein neues Format und die anschließende Rückumwandlung in das Open XML OPC-Format.

Recursive Pure Functional Transformations

Erläutert eine Methode zum Schreiben dokumentzentrierter Transformationen mit Microsoft Visual C# 3.0.

Using Content Controls vs. Custom XML Elements

Beschreibt einen Ansatz zum Integrieren von Inhaltsveröffentlichungssystemen mit Word 2007.

Programmatically Limit Styles in Word

Mitunter möchten Entwickler von Veröffentlichungssystemen Formatvorlagen programmgesteuert begrenzen, damit Transformationen besser gesteuert werden können.

Converting Open XML WordprocessingML to Html

Eine Reihe mit Blogbeiträgen, in der Probleme erläutert werden, die beim Transformieren von Open XML WordprocessingML-Dokumenten in ein anderes Format auftreten, z. B. in HTML.

Open XML Document Viewer

CodePlex-Projekt für eine XSLT-basierte Transformation von Open XML WordprocessingML in HTML.

Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2015 Microsoft