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 de un documento WordProcessingML consta de los <document> elementos y <body> , seguidos de uno o varios elementos de nivel de bloque, como <p>, que representa un párrafo. Un párrafo contiene uno o varios <r> elementos. significa <r> ejecutar, que es una región de texto con un conjunto común de propiedades, como el formato. Una ejecución contiene uno o varios <t> elementos. El <t> elemento 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 configuración 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 : elemento raíz de la parte principal del documento WordprocessingML, que define el artículo principal del documento.

  • body — Contenedor de la colección de estructuras de nivel de bloque que componen la historia principal.

  • p — Un párrafo.

  • r — Una ejecución.

  • t — Un intervalo de texto.

© ISO/IEC 29500: 2016

Ejemplo de código de Open XML SDK 2.0

En el código siguiente se usa el SDK de Open XML para crear un documento WordprocessingML simple que contiene el texto pasado como segundo parámetro.

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

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 from the msg parameter"
        run.AppendChild(new Text(msg));
    }
}

WordprocessingML generado

Después de ejecutar el código del SDK de Open XML en la sección anterior para generar un documento, puede explorar el contenido del paquete .zip para ver el código XML WordprocessingML . To view the .zip package, rename the extension on the minimum document from .docx to .zip. El paquete .zip contiene las partes que componen el documento. En este caso, ya que el código creó un documento mínimo WordprocessingML, hay únicamente una parte, la parte del documento principal. La siguiente ilustración muestra la estructura en la carpeta de texto del paquete .zip para un documento mínimo que contiene una sola línea de texto. Marcador prediseñadasEl archivo document.xml corresponde a la parte del documento principal WordprocessingML y es esta parte la que contiene el contenido del cuerpo principal del documento. El siguiente código XML se genera en el archivo document.xml al ejecutar el código del SDK de Open XML en la sección anterior.

<?xml version="1.0" encoding="utf-8"?>
<w:document xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
  <w:body>
    <w:p>
      <w:r>
        <w:t>The text passed as the second parameter goes here</w:t>
      </w:r>
    </w:p>
  </w:body>
</w:document>

Escenario de documento típico

Un documento típico no es un documento mínimo en blanco. Puede incluir comentarios, encabezados, pies de página, notas al pie y notas al final, por ejemplo. Cada una de estas partes adicionales se incluye en el paquete .zip del documento de procesamiento de texto.

En la siguiente figura se muestran muchas de las partes que pueden encontrarse en un documento típico.

Figura 1. Estructura de un documento típico

Estructura de un documento WordprocessingML