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