Freigeben über


Struktur eines WordprocessingML-Dokuments

In diesem Thema werden die Grundstruktur eines WordprocessingML-Dokuments und wichtige Open XML SDK-Klassen behandelt, die zumeist zum Erstellen von WordprocessingML-Dokumenten verwendet werden.

Die grundlegende Dokumentstruktur eines WordProcessingML-Dokuments besteht aus den <document> Elementen und <body> gefolgt von einem oder mehreren Elementen auf Blockebene, z <p>. B. , die einen Absatz darstellt. Ein Absatz enthält mindestens ein <r> Element. Steht <r> für "run", bei dem es sich um einen Textbereich mit einem gemeinsamen Satz von Eigenschaften handelt, z. B. formatierung. Eine Ausführung enthält mindestens ein <t> Element. Das <t> -Element enthält einen Textbereich.

Wichtige WordprocessingML-Komponenten

Die Open XML SDK-API stellt stark typisierte Klassen im DocumentFormat.OpenXML.WordprocessingML-Namespace bereit, die WordprocessingML-Elementen entsprechen.

In der folgenden Tabelle sind einige wichtige WordprocessingML-Elemente , der WordprocessingML-Dokumentpaketteil , dem das Element entspricht (sofern zutreffend), und die verwaltete Klasse aufgeführt, die das Element in der Open XML SDK-API darstellt.

Paketkomponente WordprocessingML-Element Open XML SDK-Klasse Beschreibung
Hauptdokument document Document Das Stammelement des Hauptdokumentteils.
Kommentare Kommentare Comments Das Stammelement des Kommentarteils.
Dokumenteinstellungen settings Settings Das Stammelement des Dokumenteinstellungsteils.
Endnoten endnotes Endnotes Das Stammelement des Endnotenteils.
Fußzeile ftr Footer Das Stammelement des Fußzeilenteils.
Fußnoten footnotes Footnotes Das Stammelement des Fußnotenteils.
Glossardokument glossaryDocument GlossaryDocument Das Stammelement des Glossardokumentteils.
Kopfzeile hdr Header Das Stammelement des Kopfzeilenteils.
Formatvorlagendefinitionen styles Styles Das Stammelement des Teils mit Formatvorlagendefinitionen.

Szenario mit den Mindestkriterien eines Dokuments

Ein WordprocessingML-Dokument ist gemäß eines Textabschnittkonzepts strukturiert. Ein Textabschnitt ist ein Inhaltsbereich eines WordprocessingML-Dokuments. WordprocessingML-Textabschnitte enthalten Folgendes:

  • Kommentar

  • Endnote

  • Fußzeile

  • Fußnote

  • Rahmen, Glossardokument

  • Kopfzeile

  • Hauptartikel

  • Unterdokument

  • Textfeld

In einem WordprocessingML-Dokument müssen nicht alle Textabschnitte vorhanden sein. Das einfachste gültige WordprocessingML-Dokument benötigt nur einen einzelnen Textabschnitt, den Hauptdokumentabschnitt. In WordprocessingML wird der Hauptdokumentabschnitt vom Hauptdokumentteil dargestellt. Fügen Sie zum Erstellen eines gültigen WordprocessingML-Dokuments mithilfe von Code dem Dokument zumindest einen Hauptdokumentteil hinzu.

Die folgenden Informationen aus der Spezifikation ISO/IEC 29500 bieten eine Einführung in die WordprocessingML-Elemente, die im Hauptdokumentteil erforderlich sind, um die Mindestkriterien dieses Szenarios zu erfüllen.

Der Hauptdokumentabschnitt des einfachsten WordprocessingML-Dokuments besteht aus den folgenden XML-Elementen:

  • document– Das Stammelement für den Standard Dokumentteil eines WordprocessingML, der den Standard Dokumentabschnitt definiert.

  • body– Der Container für die Sammlung von Strukturen auf Blockebene, aus denen die Standard besteht.

  • p — Ein Absatz.

  • r — Eine Ausführung.

  • t – Ein Textbereich.

© ISO/IEC 29500: 2016

Open XML SDK-Codebeispiel

Im folgenden Code wird das Open XML SDK verwendet, um ein einfaches WordprocessingML-Dokument zu erstellen, das den text enthält, der als zweiter Parameter übergeben wird.

using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Wordprocessing;

static void CreateWordDoc(string filepath, string msg)
{
    using (WordprocessingDocument doc = WordprocessingDocument.Create(filepath, DocumentFormat.OpenXml.WordprocessingDocumentType.Document))
    {
        // Add a main document part. 
        MainDocumentPart mainPart = doc.AddMainDocumentPart();

        // Create the document structure and add some text.
        mainPart.Document = new Document();
        Body body = mainPart.Document.AppendChild(new Body());
        Paragraph para = body.AppendChild(new Paragraph());
        Run run = para.AppendChild(new Run());

        // String msg contains the text from the msg parameter"
        run.AppendChild(new Text(msg));
    }
}

Generierter WordprocessingML-Code

Nachdem Sie den Open XML SDK-Code im vorherigen Abschnitt ausgeführt haben, um ein Dokument zu generieren, können Sie den Inhalt des .zip Pakets untersuchen, um den WordprocessingML-XML-Code anzuzeigen. To view the .zip package, rename the extension on the minimum document from .docx to .zip. Das ZIP-Paket enthält die Teile, die das Dokument bilden. Da in diesem Fall der Code nur zum Erstellen eines WordprocessingML-Dokuments mit den Mindestkriterien gedient hat, gibt es nur einen einzigen Teil, den Hauptdokumentteil. Die folgende Abbildung zeigt die Struktur unter dem Word-Ordner des ZIP-Pakets eines Dokuments mit den Mindestkriterien mit einer einzigen Textzeile.GrafikplatzhalterDie Datei „document.xml“ entspricht dem WordprocessingML-Hauptdokumentteil. Es ist dieser Teil, der den Inhalt des Hauptabschnitts des Dokuments enthält. Der folgende XML-Code wird in der document.xml-Datei generiert, wenn Sie den Open XML SDK-Code im vorherigen Abschnitt ausführen.

<?xml version="1.0" encoding="utf-8"?>
<w:document xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
  <w:body>
    <w:p>
      <w:r>
        <w:t>The text passed as the second parameter goes here</w:t>
      </w:r>
    </w:p>
  </w:body>
</w:document>

Szenario mit den typischen Dokumentkriterien

Ein typisches Dokument ist kein leeres, minimales Dokument. Ein typisches Dokument kann z. B. Kommentare, Kopfzeilen, Fußzeilen, Fußnoten und Endnoten enthalten. Jeder dieser zusätzlichen Teile ist im ZIP-Paket des Textverarbeitungsdokuments enthalten.

Die folgende Abbildung zeigt viele der Teile, die Sie normalerweise in einem typischen Dokument finden.

Abbildung 1: Struktur eines typischen Dokuments

Struktur eines WordprocessingML-Dokuments