ドキュメント内のノードの論理レベル
このドキュメントでは、「ブロックレベル」、「インラインレベル」(「インライン」とも呼ばれます)、「行レベル」ノードなど、ドキュメント内の「レベル」に属するノードクラスのグループを参照することがあります。 文書内のこれらのレベルは純粋に論理的に区別され、継承や他のAspose.WordsDOM手段によって明示的に表現されません。 ノードレベルは、ドキュメントツリー内でノードが通常発生する場所を記述するために使用されます。
前の記事では、ノード間の関係と、すべてのノードがノードの子になることが許可されているわけではないという事実についてすでに説明しました。 たとえば、Cellは行の子のみにすることができ、Rowはテーブルの子のみにすることができます。 これらの関係は、ドキュメント内のノードをレベルに論理的に分割する場合にも適用されます。
次のセクションでは、Aspose.Words内のノードの論理レベルと各レベルに属するクラスについて説明します。
文書およびセクションの論理レベル
Word文書は、Sectionクラスで表され、セクション区切りで区切られた一つ以上のセクションで構成されています。 セクションは、独自のページサイズ、余白、向き、テキスト列の数、およびヘッダーとフッターを定義できます。
Documentと セクション レベルノードは、次の図に示すような構造を持っています。
セクションには、最初のページ、偶数ページ、奇数ページのヘッダーとフッターだけでなく、メインテキストが含まれます。 これらの異なるテキストの「フロー」はstoriesと呼ばれます。
Aspose.Wordsでは、SectionノードにはBodyとHeaderFooterストーリーノードが含まれています。 Bodyオブジェクトには、メインテキストが格納されます。 HeaderFooterオブジェクトは、各ヘッダーとフッターのテキストを格納します。 ストーリーのテキストは、それぞれブロックレベルのParagraphオブジェクトとTableオブジェクトで表される段落と表で構成されています。
さらに、各Word文書には、Aspose.WordsのGlossaryDocumentノードで表される用語集を含めることができます。 用語集ドキュメントには、BuildingBlocks、AutoText、およびAutoCorrectエントリが含まれています。
GlossaryDocument
ブロック論理レベル
ブロックレベルのノードは、コンテンツおよびコンテンツコントロールのコンテナを表し、次のノードのドキュメントツリーの子ノードに配置できます:
- ボディ
- ヘッダー
- フッタ
- 脚注
- コメント
- 形
- GroupShape
- セル
- StructuredDocumentTag
ブロックレベルのノードは、次のクラスで表されます:
- 最も重要なブロックレベルのノードであるTablesとParagraphs
- ブロックレベルとインラインレベルの両方で発生するブックマーク
- StructuredDocumentTagはカスタムマークアップを表し、コンテンツコントロールとコンテンツコントロールの両方を含めることができます
次の図は、ブロックレベルの要素を示しています。
インライン論理レベル
インラインレベルのノードは、ドキュメントの実際のコンテンツを表し、次のコンテナーに含めることができます:
- 段落-最も一般的なコンテナ
- SmartTag
- StructuredDocumentTag
インラインレベルの要素は、次のクラスで表されます:
- Run-異なる書式のテキストの実行
- BookmarkStartとBookmarkEndはブックマークを表します
- CommentRangeStart, CommentRangeEnd, Comment そしてFootnoteは注釈を表します
- FieldStart, FieldChar, FieldSeparator そしてFieldEndはフィールド文字を表し、FormFieldは単語フィールドを表します
- SpecialCharは文書内の特殊文字を表します
- ShapeとGroupShapeは、図形、図面、画像などを表します。
- SmartTagとStructuredDocumentTagはカスタムマークアップを表します
次の図は、インラインレベルのノード構造を示しています。
Microsoft Wordの図形には、OfficeアートAutoShapes、テキストボックス、イメージ、OLEオブジェクト、ActiveXコントロールが含まれ、これらはすべてShape
クラスを使用して表されます。 一部の図形にはテキストを含めることもできるため、Aspose.Wordsの図形ノードにはブロックレベルのノードを含めることができます。
図形はGroupShapeノードを使用して互いにグループ化できます。
表、行、およびセルのノード・レベル
テーブルは、行とセルのノードで構成されています。 テーブル要素は、次のクラスで表されます:
次の図は、テーブル、行、およびセルレベルのノード構造を示しています。