Logische Ebenen von Knoten in einem Dokument

Diese Dokumentation bezieht sich manchmal auf eine Gruppe von Knotenklassen, die zu einer “Ebene” in einem Dokument gehören, z. B. “Blockebene”, “Inline-Ebene” (auch als “inline” bezeichnet) oder “Zeilenebene” Knoten. Diese Ebenen in einem Dokument werden rein logisch unterschieden und nicht explizit durch Vererbung oder andere Aspose.Words DOM Mittel ausgedrückt. Die Knotenebene wird verwendet, um die Stelle im Dokumentbaum zu beschreiben, an der der Knoten typischerweise auftreten würde.

Im vorherigen Artikel haben wir bereits über die Beziehung zwischen Knoten und die Tatsache gesprochen, dass nicht alle Knoten untergeordneten Knoten sein dürfen. Beispielsweise kann Cell nur ein untergeordnetes Zeilenelement sein, und eine Zeile kann nur ein untergeordnetes Tabellenelement sein usw. Diese Beziehungen gelten auch für die logische Unterteilung von Knoten in Ebenen im Dokument.

In den folgenden Abschnitten werden die logischen Ebenen von Knoten in Aspose.Words und die Klassen, die zu jeder Ebene gehören, beschrieben.

Logische Ebene für Dokumente und Abschnitte

Ein Word-Dokument besteht aus einem oder mehreren Abschnitten, die durch die Klasse Section dargestellt und durch Abschnittsumbrüche getrennt werden. Ein Abschnitt kann seine eigene Seitengröße, Ränder, Ausrichtung, Anzahl der Textspalten sowie Kopf- und Fußzeilen definieren.

Document und Abschnitt Ebenenknoten haben die Struktur wie im folgenden Diagramm gezeigt.

document-and-section-level-aspose-words-cpp

Ein Abschnitt enthält den Haupttext sowie Kopf- und Fußzeilen für die ersten, geraden und ungeraden Seiten. Diese verschiedenen “Textflüsse” werden stories genannt.

In Aspose.Words enthält der Section-Knoten die Body- und HeaderFooter-Story-Knoten. Das Body -Objekt speichert den Haupttext. Die HeaderFooter -Objekte speichern den Text für jede Kopf- und Fußzeile. Der Text einer Story besteht aus Absätzen und Tabellen, die jeweils durch die Objekte Paragraph und Table der Blockebene dargestellt werden.

Zusätzlich kann jedes Word-Dokument ein Glossar enthalten, das durch den Knoten GlossaryDocument in Aspose.Words dargestellt wird. Ein Glossardokument enthält BuildingBlocks-, AutoText- und AutoCorrect-Einträge.

GlossaryDocument

Logische Ebene blockieren

Knoten auf Blockebene stellen Container für Inhalte und Inhaltssteuerelemente dar und können in den untergeordneten Knoten der Dokumentstruktur in den folgenden Knoten vorkommen:

  • Körper
  • Header
  • Fußzeile
  • Fußnote
  • Kommentar
  • Form
  • GroupShape
  • Zelle
  • StructuredDocumentTag

Knoten auf Blockebene werden durch die folgenden Klassen dargestellt:

  • Tables und Paragraphs, die wichtigsten Knoten auf Blockebene
  • Lesezeichen, die sowohl auf Blockebene als auch auf Inline-Ebene vorkommen
  • StructuredDocumentTag, die benutzerdefiniertes Markup darstellen und sowohl Inhalts- als auch Inhaltssteuerelemente enthalten können

Das folgende Diagramm zeigt die Elemente auf Blockebene.

block-level-aspose-words-cpp

Logische Inline-Ebene

Knoten auf Inline-Ebene stellen den eigentlichen Inhalt des Dokuments dar und können in den folgenden Containern enthalten sein:

  • Absatz - der häufigste Behälter
  • SmartTag
  • StructuredDocumentTag

Inline-Level-Elemente werden durch die folgenden Klassen dargestellt:

Das folgende Diagramm zeigt die Knotenstruktur auf Inline-Ebene.

inline-level-aspose-words-cpp

Tabellen-, Zeilen- und Zellknotenebene

Die Tabelle besteht aus Knoten von Zeilen und Zellen. Tabellenelemente werden durch die folgenden Klassen dargestellt:

  • Row steht für eine Tabellenzeile
  • Cell steht für eine Tabellenzelle
  • StructuredDocumentTag stellt benutzerdefiniertes Markup dar

Das folgende Diagramm zeigt die Knotenstrukturen der Tabellen-, Zeilen- und Zellebenen.

table-row-cell-aspose-words-cpp