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