ドキュメント内のノードの論理レベル

このドキュメントでは、「ブロックレベル」、「インラインレベル」(「インライン」とも呼ばれます)、「行レベル」ノードなど、ドキュメント内の「レベル」に属するノードクラスのグループを参照することがあります。 文書内のこれらのレベルは純粋に論理的に区別され、継承や他のAspose.WordsDOM手段によって明示的に表現されません。 ノードレベルは、ドキュメントツリー内でノードが通常発生する場所を記述するために使用されます。

前の記事では、ノード間の関係と、すべてのノードがノードの子になることが許可されているわけではないという事実についてすでに説明しました。 たとえば、Cellは行の子のみにすることができ、Rowはテーブルの子のみにすることができます。 これらの関係は、ドキュメント内のノードをレベルに論理的に分割する場合にも適用されます。

次のセクションでは、Aspose.Words内のノードの論理レベルと各レベルに属するクラスについて説明します。

文書およびセクションの論理レベル

Word文書は、Sectionクラスで表され、セクション区切りで区切られた一つ以上のセクションで構成されています。 セクションは、独自のページサイズ、余白、向き、テキスト列の数、およびヘッダーとフッターを定義できます。

Documentセクション レベルノードは、次の図に示すような構造を持っています。

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

セクションには、最初のページ、偶数ページ、奇数ページのヘッダーとフッターだけでなく、メインテキストが含まれます。 これらの異なるテキストの「フロー」はstoriesと呼ばれます。

Aspose.Wordsでは、SectionノードにはBodyHeaderFooterストーリーノードが含まれています。 Bodyオブジェクトには、メインテキストが格納されます。 HeaderFooterオブジェクトは、各ヘッダーとフッターのテキストを格納します。 ストーリーのテキストは、それぞれブロックレベルのParagraphオブジェクトとTableオブジェクトで表される段落と表で構成されています。

さらに、各Word文書には、Aspose.WordsのGlossaryDocumentノードで表される用語集を含めることができます。 用語集ドキュメントには、BuildingBlocksAutoText、およびAutoCorrectエントリが含まれています。

GlossaryDocument

ブロック論理レベル

ブロックレベルのノードは、コンテンツおよびコンテンツコントロールのコンテナを表し、次のノードのドキュメントツリーの子ノードに配置できます:

  • ボディ
  • ヘッダー
  • フッタ
  • 脚注
  • コメント
  • GroupShape
  • セル
  • StructuredDocumentTag

ブロックレベルのノードは、次のクラスで表されます:

  • 最も重要なブロックレベルのノードであるTablesParagraphs
  • ブロックレベルとインラインレベルの両方で発生するブックマーク
  • StructuredDocumentTagはカスタムマークアップを表し、コンテンツコントロールとコンテンツコントロールの両方を含めることができます

次の図は、ブロックレベルの要素を示しています。

block-level-aspose-words-cpp

インライン論理レベル

インラインレベルのノードは、ドキュメントの実際のコンテンツを表し、次のコンテナーに含めることができます:

  • 段落-最も一般的なコンテナ
  • SmartTag
  • StructuredDocumentTag

インラインレベルの要素は、次のクラスで表されます:

次の図は、インラインレベルのノード構造を示しています。

inline-level-aspose-words-cpp

表、行、およびセルのノード・レベル

テーブルは、行とセルのノードで構成されています。 テーブル要素は、次のクラスで表されます:

  • Rowはテーブルの行を表します
  • Cellは表のセルを表します
  • StructuredDocumentTagはカスタムマークアップを表します

次の図は、テーブル、行、およびセルレベルのノード構造を示しています。

table-row-cell-aspose-words-cpp