Niveles Lógicos de Nodos en un Documento

Esta documentación a veces se refiere a un grupo de clases de nodos como pertenecientes a un “nivel” en un documento, como nodos de “nivel de bloque”, “nivel en línea” (también conocido como “en línea”) o “nivel de fila”. Estos niveles en un documento se diferencian de forma puramente lógica y no se expresan explícitamente por herencia u otros medios DOM Aspose.Words. El nivel de nodo se usa para describir el lugar en el árbol de documentos donde normalmente se produciría el nodo.

En el artículo anterior, ya hablamos sobre la relación entre nodos y el hecho de que no todos los nodos pueden ser hijos de ningún nodo. Por ejemplo, la celda solo puede ser un elemento secundario de fila, y una fila solo puede ser un elemento secundario de tabla, y así sucesivamente. Estas relaciones también son aplicables para la división lógica de nodos en niveles en el documento.

Las siguientes secciones describen los niveles lógicos de los nodos en Aspose.Words y las clases que pertenecen a cada nivel.

Nivel Lógico de Documento y Sección

Un documento de Word consta de una o más secciones, representadas por la clase Section y separadas por saltos de sección. Una sección puede definir su propio tamaño de página, márgenes, orientación, número de columnas de texto y encabezados y pies de página.

Document y Sección los nodos de nivel tienen la estructura que se muestra en el siguiente diagrama.

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

Una sección contiene el texto principal, así como encabezados y pies de página para las páginas primera, par e impar. Estos diferentes “flujos” de texto se denominan stories.

En Aspose.Words, el nodo Section contiene los nodos de historia Body y HeaderFooter. El objeto Body almacena el texto principal. Los objetos HeaderFooter almacenan el texto de cada encabezado y pie de página. El texto de cualquier historia consta de párrafos y tablas, representados respectivamente por los objetos Paragraph y Table del nivel de bloque.

Además, cada documento de Word puede contener un glosario, que está representado por el nodo GlossaryDocument en Aspose.Words. Un documento de glosario contiene BuildingBlocks, AutoText y AutoCorrect entradas.

GlossaryDocument

Nivel Lógico de Bloque

Los nodos a nivel de bloque representan contenedores para contenido y controles de contenido, y pueden aparecer en los nodos secundarios del árbol de documentos en los siguientes nodos:

  • Cuerpo
  • Cabecera
  • Pie de página
  • Nota a pie de página
  • Comentario
  • Forma
  • GroupShape
  • Célula
  • StructuredDocumentTag

Los nodos a nivel de bloque están representados por las siguientes clases:

  • Tables y Paragraphs, que son los nodos a nivel de bloque más importantes
  • Marcadores, que ocurre tanto a nivel de bloque como a nivel de línea
  • StructuredDocumentTag, que representan marcas personalizadas y pueden contener contenido y controles de contenido

El siguiente diagrama muestra los elementos a nivel de bloque.

block-level-aspose-words-cpp

Nivel Lógico en Línea

Los nodos de nivel en línea representan el contenido real del documento y pueden estar contenidos en los siguientes contenedores:

  • Párrafo-el contenedor más común
  • SmartTag
  • StructuredDocumentTag

Los elementos de nivel en línea están representados por las siguientes clases:

El siguiente diagrama muestra la estructura de los nodos de nivel en línea.

inline-level-aspose-words-cpp

Nivel de Nodo de Tabla, Fila y Celda

La tabla consta de nodos de filas y celdas. Los elementos de la tabla están representados por las siguientes clases:

  • Row representa una fila de la tabla
  • Cell representa una celda de tabla
  • StructuredDocumentTag representar marcado personalizado

El siguiente diagrama muestra las estructuras de nodos de los niveles de tabla, Fila y Celda.

table-row-cell-aspose-words-cpp