Compartilhar via


Estrutura de um documento do WordprocessingML

Este tópico aborda a estrutura básica de um documento do WordprocessingML e analisa classes SDK Open XML importantes que são utilizadas com mais frequência para criar documentos wordprocessingML .

A estrutura de documento básica de um documento wordProcessingML consiste nos <document> elementos e <body> , seguidos por um ou mais elementos de nível de bloco, como <p>, que representa um parágrafo. Um parágrafo contém um ou mais <r> elementos. Significa <r> execução, que é uma região de texto com um conjunto comum de propriedades, como formatação. Uma execução contém um ou mais <t> elementos. O <t> elemento contém um intervalo de texto.

Partes Importantes do WordprocessingML

A API do SDK Open XML fornece classes com tipos fortes no espaço de nomes DocumentFormat.OpenXML.WordprocessingML que correspondem a elementos wordprocessingML .

A tabela seguinte lista alguns elementos importantes do WordprocessingML , a parte do pacote de documentos do WordprocessingML à qual o elemento corresponde (quando aplicável) e a classe gerida que representa o elemento na API do SDK Open XML.

Peça de Pacote WordprocessingML Element Abrir Classe SDK XML Descrição
Documento Principal document Document O elemento raiz para a parte do documento principal.
Comments comentários Comments O elemento raiz da parte dos comentários.
Definições do Documento settings Settings O elemento raiz da parte das definições do documento.
Notas de fim notas de fim Endnotes O elemento raiz da parte de notas de fim.
Rodapé ftr Footer O elemento raiz da parte do rodapé.
Notas de rodapé notas de rodapé Footnotes O elemento raiz da parte das notas de rodapé.
Documento do Glossário glossaryDocument GlossaryDocument O elemento raiz da parte do documento do glossário.
Cabeçalho hdr Header O elemento raiz da parte do cabeçalho.
Definições de Estilo estilos Styles O elemento raiz de uma parte Definições de Estilo.

Cenário de Documento Mínimo

Um documento do WordprocessingML está organizado em torno do conceito de histórias. Uma história é uma região de conteúdo num documento do WordprocessingML . As histórias do WordprocessingML incluem:

  • comment

  • nota de fim

  • rodapé

  • nota de rodapé

  • moldura, documento do glossário

  • cabeçalho

  • main história

  • subdocumento

  • caixa de texto

Nem todas as histórias têm de estar presentes num documento válido do WordprocessingML . O documento wordprocessingML mais simples e válido requer apenas um único bloco: a main história do documento. No WordprocessingML, o bloco de documento main é representado pela parte do documento main. No mínimo, para criar um documento wordprocessingML válido com código, adicione um main parte do documento ao documento.

As seguintes informações do ISO/IEC 29500 introduzem os elementos wordprocessingML necessários na parte do documento main para concluir o cenário mínimo do documento.

A main história do documento do WordprocessingML mais simples consiste nos seguintes elementos XML:

  • document— O elemento raiz da parte do documento main de um WordprocessingML, que define a main história do documento.

  • body— O contentor para a coleção de estruturas ao nível do bloco que compõem a história main.

  • p — Um parágrafo.

  • r — Uma execução.

  • t — Um intervalo de texto.

© ISO/IEC 29500: 2016

Open XML SDK Code Example

O código seguinte utiliza o SDK Open XML para criar um documento wordprocessingML simples que contém o texto transmitido como o 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 gerado

Depois de executar o código SDK Open XML na secção anterior para gerar um documento, pode explorar os conteúdos do pacote .zip para ver o código XML wordprocessingML . Para ver o pacote de .zip, mude o nome da extensão no documento mínimo de .docx para .zip. O pacote de .zip contém as partes que compõem o documento. Neste caso, uma vez que o código criou um documento wordprocessingML mínimo, existe apenas uma única parte: a parte do documento main. A figura seguinte mostra a estrutura sob a palavra pasta do pacote de .zip para um documento mínimo que contém uma única linha de texto. Marcador de posição de arteO ficheiro document.xml corresponde à parte do documento main wordprocessingML e é esta parte que contém o conteúdo do corpo main do documento. O seguinte código XML é gerado no ficheiro document.xml quando executa o código SDK Open XML na secção 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>

Cenário de Documento Típico

Um documento típico não será um documento em branco, mínimo. Um documento típico pode conter comentários, cabeçalhos, rodapés, notas de rodapé e notas de fim, por exemplo. Cada uma destas partes adicionais está contida no pacote zip do documento de processamento de palavras.

A figura seguinte mostra muitas das partes que encontraria num documento típico.

Figura 1. Estrutura de documentos típica

Estrutura de um Documento wordprocessingML