Partager via


Structure d’un document WordprocessingML

Cette rubrique décrit la structure de base d'un document WordprocessingML et répertorie les classes Open XML SDK importantes utilisées le plus souvent pour créer des documents WordprocessingML.

La structure de base d’un document WordProcessingML se compose des <document> éléments et <body> , suivis d’un ou plusieurs éléments de niveau bloc tels que <p>, qui représente un paragraphe. Un paragraphe contient un ou plusieurs <r> éléments. l’acronyme <r> de run, qui est une région de texte avec un ensemble commun de propriétés, telles que la mise en forme. Une exécution contient un ou plusieurs <t> éléments. L’élément <t> contient une plage de texte.

Composants importants d’un document WordprocessingML

L’API du Kit de développement logiciel (SDK) Open XML fournit des classes fortement typées dans l’espace de noms DocumentFormat.OpenXML.WordprocessingML qui correspondent aux éléments WordprocessingML .

Le tableau suivant répertorie certains éléments WordprocessingML importants, le composant de package de document WordprocessingML auquel correspond l’élément (le cas échéant) et la classe managée qui représente l’élément dans l’API du Kit de développement logiciel (SDK) Open XML.

Composant du package Élément WordprocessingML Classe du Kit de développement logiciel (SDK) Open XML Description
Document principal document Document Élément racine de la partie principale du document.
Commentaires commentaires Comments Élément racine du composant de commentaires.
Paramètres de document paramètres Settings Élément racine du composant de paramètres de document.
Notes de fin endnotes Endnotes Élément racine du composant de notes de fin.
Pied de page ftr Footer Élément racine du composant de pied de page.
Notes footnotes Footnotes Élément racine du composant de notes.
Document de glossaire glossaryDocument GlossaryDocument Élément racine du composant de document de glossaire.
En-tête hdr Header Élément racine du composant d’en-tête.
Définitions de style styles Styles Élément racine du composant de définitions de style.

Scénario de document minimum

Un document WordprocessingML est organisé autour du concept de niveaux. Un niveau est une région de contenu dans un document WordprocessingML. Les niveaux WordprocessingML sont les suivants :

  • commentaire

  • note de fin

  • pied de page

  • note de bas de page

  • cadre, document de glossaire

  • en-tête

  • niveau principal

  • sous-document

  • zone de texte

Tous les niveaux ne sont pas forcément présents dans un document WordprocessingML valide. Le document valide WordprocessingML le plus simple requiert un seul niveau, le niveau document principal. Dans WordprocessingML, ce niveau est représenté par le composant document principal. Pour créer un document WordprocessingML valide en utilisant du code, ajoutez au moins un composant document principal à ce document.

Les informations suivantes issues des spécifications ISO/IEC 29500 introduisent les éléments WordprocessingML requis dans le composant document principal afin de réaliser le scénario de document minimum.

Le niveau principal du document WordprocessingML le plus simple est constitué des éléments XML suivants :

  • document— L’élément racine d’un composant de document main wordprocessingML, qui définit l’main article du document.

  • body— Conteneur pour la collection de structures de niveau bloc qui composent l’article main.

  • p — Un paragraphe.

  • r — Une exécution.

  • t — Plage de texte.

© ISO/IEC 29500 : 2016

Exemple de code du Kit de développement logiciel (SDK) Open XML

Le code suivant utilise le Kit de développement logiciel (SDK) Open XML pour créer un document WordprocessingML simple qui contient le texte transmis en tant que deuxième paramètre

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));
    }
}

Document WordprocessingML généré

Après avoir exécuté le code du Kit de développement logiciel (SDK) Open XML dans la section précédente pour générer un document, vous pouvez explorer le contenu du package .zip pour afficher le code XML WordprocessingML . To view the .zip package, rename the extension on the minimum document from .docx to .zip. Le package .zip contient les composants qui composent le document. Dans ce cas, comme le code a créé un document WordprocessingML minimum, il ne contient qu’un seul composant, le composant de document principal. Dans l’image suivante figure la structure sous le dossier Word du package .zip d’un document minimum contenant une seule ligne de texte. Espace réservé à l’image Le fichier document.xml correspond au composant de document principal WordprocessingML, qui contient le contenu du corps principal du document. Le code XML suivant est généré dans le fichier document.xml lorsque vous exécutez le code du Kit de développement logiciel (SDK) Open XML dans la section précédente.

<?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>

Scénario de document standard

Un document standard est différent d'un document minimal. Il peut contenir des commentaires, des en-têtes, des pieds de page, des notes de bas de page et des notes de fin, par exemple. Chacun de ces composants supplémentaires est contenu dans le package .zip du document de traitement de texte.

La figure suivante montre la plupart des composants qui peuvent figurer dans un document standard.

Figure 1. Structure de document standard

Structure d’un document WordprocessingML