Логические уровни узлов в документе

В этой документации иногда упоминается группа классов узлов, относящихся к “уровню” в документе, например, узлы “уровня блоков”, “встроенного уровня” (также известные как “встроенные”) или “уровня строк”. Эти уровни в документе различаются чисто логически и не выражаются явно посредством наследования или другими способами Aspose.Words DOM. Уровень узла используется для описания места в дереве документа, где обычно находится узел.

В предыдущей статье мы уже говорили о взаимосвязи между узлами и о том факте, что не всем узлам разрешено быть дочерними по отношению к каким-либо узлам. Например, Cell может быть только дочерним элементом Row, а Row может быть только дочерним элементом Table и так далее. Эти связи также применимы для логического разделения узлов на уровни в документе.

В следующих разделах описываются логические уровни узлов в Aspose.Words и классы, принадлежащие каждому уровню.

Логический уровень документа и раздела

Документ Word состоит из одного или нескольких разделов, представленных классом Section и разделенных разделительными полосами. Раздел может сам определять размер страницы, поля, ориентацию, количество текстовых столбцов, а также верхние и нижние колонтитулы.

Узлы уровней Document и Section имеют структуру, показанную на следующей диаграмме.

document-and-section-level-aspose-words

Раздел содержит основной текст, а также верхние и нижние колонтитулы для первой, четной и нечетной страниц. Эти различные “потоки” текста называются stories.

В Aspose.Words узел Section содержит узлы Body и HeaderFooter историй. Объект Body хранит основной текст. Объекты HeaderFooter хранят текст для каждого верхнего и нижнего колонтитула. Текст любой статьи состоит из абзацев и таблиц, соответственно представленных объектами Paragraph и Table уровня блоков.

Кроме того, каждый документ Word может содержать глоссарий, который представлен узлом GlossaryDocument в Aspose.Words. Документ-глоссарий содержит записи building_blocks, BuildingBlockType.AUTO_TEXT и BuildingBlockType.AUTO_CORRECT.

GlossaryDocument включает BuildingBlock узлы, представляющие различные типы записей в документе глоссария. Каждый BuildingBlock содержит разделы, которые можно вставлять, удалять и копировать в документы.

Логический уровень блока

Узлы уровня блоков представляют собой контейнеры для содержимого и элементов управления содержимым и могут встречаться в дочерних узлах дерева документов в следующих узлах:

Узлы блочного уровня представлены следующими классами:

  • Tables и Paragraphs, которые являются наиболее важными узлами блочного уровня
  • Bookmarks, которое происходит как на уровне блока, так и на встроенном уровне
  • StructuredDocumentTag, которые представляют собой пользовательскую разметку и могут содержать как содержимое, так и элементы управления содержимым

На следующей диаграмме показаны элементы блочного уровня.

block-level-aspose-words

Встроенный логический уровень

Узлы встроенного уровня представляют фактическое содержимое документа и могут содержаться в следующих контейнерах:

Элементы встроенного уровня представлены следующими классами:

На следующей диаграмме показана структура узлов встроенного уровня.

inline-level-aspose-words

Уровень узлов таблиц, строк и ячеек

Таблица состоит из узлов строк и ячеек. Table Элементы представлены следующими классами:

  • Row представляет строку таблицы
  • Cell представляет собой ячейку таблицы
  • StructuredDocumentTag представляет пользовательскую разметку

На следующей диаграмме показаны структуры узлов уровней Table, Row и Cell.

table-row-cell-aspose-words