Compartir a través de


Estructura de un documento WordprocessingML

En este tema se trata la estructura básica de un documento WordprocessingML y se revisan las clases importantes de Open XML SDK que se usan con mayor frecuencia para crear documentos WordprocessingML.

La estructura básica del documento de un documento WordProcessingML se compone de los elementos <document> y <body>, seguidos de uno o más elementos de nivel de bloque como <p>, que representa un párrafo. Un párrafo contiene uno o más elementos<r>. La <r> significa ejecutar, que es un área de texto con un conjunto común de propiedades, como el formato. Una ejecución contiene uno o más elementos <t>. El elemento <t> contiene un intervalo de texto.

Partes importantes WordprocessingML

La API del SDK de Open XML proporciona clases fuertemente tipadas en el espacio de nombres DocumentFormat.OpenXML.WordprocessingML que corresponden a elementos WordprocessingML .

En la tabla siguiente se enumeran algunos elementos importantes de WordprocessingML , la parte del paquete de documentos WordprocessingML a la que corresponde el elemento (si procede) y la clase administrada que representa el elemento en la API del SDK de Open XML.

Parte de paquete Elemento de WordprocessingML Open XML SDK (clase) Descripción
Documento principal documento Document El elemento raíz de la parte de documento principal.
Comentarios comments Comments El elemento raíz para la parte comments
Configuración del documento settings Settings El elemento raíz para la parte settings de documento.
Notas al final endnotes Endnotes El elemento raíz para la parte endnotes.
Pie de página ftr Footer El elemento raíz para la parte footer.
Pies de página footnotes Footnotes El elemento raíz para la parte footnotes.
Documento de glosario glossaryDocument GlossaryDocument El elemento raíz de la parte glossary document.
Encabezado hdr Header El elemento raíz para la parte header.
Definiciones de estilo styles Styles El elemento raíz de una parte de definiciones de estilo.

Escenario de un documento mínimo

Un documento WordprocessingML se organiza en torno al concepto de artículos. Un artículo es una región de contenido de un documento WordprocessingML. Entre los artículos de WordprocessingML se incluyen:

  • comment

  • nota al final

  • pie de página

  • nota al pie

  • marco, documento de glosario

  • encabezado

  • artículo principal

  • subdocumento

  • cuadro de texto

No todos los artículos deben estar presentes en un documento WordprocessingML válido. El documento WordprocessingML válido básico solo requiere un artículo: el artículo de documento principal. En WordprocessingML, el artículo de documento principal se representa mediante la parte de documento principal. Como mínimo, para crear un documento WordprocessingML válido mediante código, agregue una parte de documento principal al documento.

La siguiente información de ISO/IEC 29500 presenta los elementos de WordprocessingML necesarios en la parte de documento principal para completar el escenario de documento mínimo.

El artículo de documento principal del documento WordprocessingML básico consta de los siguientes elementos XML:

document: el elemento raíz de una parte de documento principal de WordprocessingML, que define el artículo de documento principal.

body: el contenedor de las estructuras a nivel de bloque que componen el artículo principal.

p: un párrafo.

r: un segmento.

t: un intervalo de texto.

© ISO/IEC29500: 2008.

Ejemplo de código de Open XML SDK 2.0

El código siguiente usa el SDK de Open XML para crear un documento WordprocessingML simple que contiene el texto "Hello, Word!"

using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Wordprocessing;

CreateWordDoc(args[0], args[1]);

static void CreateWordDoc(string filepath, string msg)
{
    using (WordprocessingDocument doc = WordprocessingDocument.Create(filepath, DocumentFormat.OpenXml.WordprocessingDocumentType.Document))
    {
        // Add a main document part. 
        MainDocumentPart mainPart = doc.AddMainDocumentPart();

        // Create the document structure and add some text.
        mainPart.Document = new Document();
        Body body = mainPart.Document.AppendChild(new Body());
        Paragraph para = body.AppendChild(new Paragraph());
        Run run = para.AppendChild(new Run());

        // String msg contains the text, "Hello, Word!"
        run.AppendChild(new Text(msg));
    }
}