TUTORIEL XML 
Le format des documents OpenOffice
Le standard OpenDocument est l'alternative libre et ouverte aux formats bureautiques propriétaires. Il est basé sur un ensemble de fichiers XML. Leur contenu et leurs balises en détail. (24/01/2006)
Le format OpenDocument (ODF, pour Open Document Format), créé par le consortium Oasis et implémenté en standard au sein de la suite bureautique OpenOffice.org, propose un équivalent libre et ouvert aux formats proposés par la suite de Microsoft : les fichiers Word, Excel, Powerpoint ou Access trouvent donc un équivalent accessible et pérenne auprès de l'ODF. Les qualités de ce format ne se limitent cependant pas à un recopiage libre de formats propriétaires ; ses capacités dépassent le simple cadre du traitement de texte.

Le standard OpenDocument met en avant quatre principaux formats de fichiers : .odt pour les textes, .ods pour les tableurs, .odp pour les présentations, .odg pour les graphiques et .odb pour les fichiers de base de données. En tout, 12 formats sont disponibles.

Selon les besoins, un fichier ODF est soit un simple document XML décrivant les informations à l'aide de balises connues, soit un fichier compressé (format Zip) contenant une archive de fichiers XML et de documents attachés (images, sons, ...). C'est ce second cas qui est rencontré le plus souvent, car il facilite tant la transmission du fichier (taille réduite) que son interprétation par un autre système (les données binaires y sont conservées plus proprement).

La composition d'un fichier ODF varie d'un format à l'autre, car les besoins ne sont évidemment pas les mêmes pour un éditeur de texte que pour un graphique. On retrouve cependant le plus souvent les informations suivantes...

Fichiers contenus dans un document texte1) content.xml
Il s'agit de la racine du document, le fichier qui contient l'information elle-même (hors données binaires). Fortement inspiré par HTML.

2) styles.xml
Les informations stylistiques : couleur, taille de la police, hauteur de la page, mise en forme des listes. ODF se sert exclusivement des styles pour mettre en page ses documents : ce fichier est donc nécessaire si l'on veut retrouver le document comme il a été créé.

3) settings.xml
Contient les réglages stockés lors de la sauvegarde du document : position du curseur, zoom, ...

4) meta.xml
Date de création, date de dernière modification, langage utilisé, auteur... : toutes ces métadonnées sont stockées et mises à jour dans ce fichier.

4) mimetype
Un fichier d'une ligne, sans extension, précisant le type MIME du fichier

5) META-INF/manifest.xml
Le manifest est une liste de l'ensemble des fichiers contenus dans l'archive, de la même manière que le fichier équivalent dans les archives JAR.

6) /Pictures
Ce dossier contient toutes les images utilisées depuis les autres documents de l'archive. Ceux-ci font référence directe aux images, souvent au format PNG.

De la même manière, la composition du fichier content.xml varie énormément selon le format, mais chaque format utilise des balises communes. Ainsi, la racine sera toujours de la forme <office:document-content espace:de:nom>. L'espace de nom dispose de nombreuses possibilités. Parmi celles-ci :

Texte : urn:oasis:names:tc:opendocument:xmlns:text:1.0
Présentation : urn:oasis:names:tc:opendocument:xmlns:presentation:1.0
Feuille de style : urn:oasis:names:tc:opendocument:xmlns:style:1.0
Fichier MathML : http://www.w3.org/1998/Math/MathML
Texte OOo : http://openoffice.org/2004/writer

Cette racine contient les éléments optionnels <office:scripts> (macros), <office:font-face-decls> (polices utilisées) ou <office:styles> (styles internes), et l'élément requis <office:body>, toujours en dernier. Cet élément body voit son type défini par son premier sous-élément, par exemple <office:text>.
Un fichier content.xml classique pourra donc prendre la forme suivante :

<office:document-content urn:oasis:names:tc:opendocument:xmlns:text:1.0
  office:version="1.0"
  office:class="application/vnd.oasis.opendocument.text">
  <office:body>
    <office:text>
      <text:h>Devinez !</text:h>
      <text:p>Bonjour toute la Terre !</text:p>
    </office:documentType>
  </office:body>
</office:document-content>


Les fichiers ODF sont donc, à tous les égards, respectueux des standards : entre les formats XML, Zip et PNG, rien n'est inaccessible aux développeurs souhaitant les exploiter pour des applications autres que la simple bureautique. Certains estiment d'ailleurs qu'il pourrait remplacer avantageusement le format PDF, voire le langage HTML, dès qu'il s'agit d'échanges d'informations.

De nombreux outils ou bibliothèque sont d'ailleurs déjà disponibles, dans plusieurs langages, pour autoriser la création et l'utilisation de ces formats. La plupart font appel à des fonctionnalités existantes, traitant les fichiers XML avec les balises adéquates.

Les balises réservées à un document texte ne sont pas si éloignées de celles utilisées en HTML, par exemple :

Les principales balises XML d'un fichier ODT
Balise
Signification
<text:h>
créé un titre
<text:p>
démarre un paragraphe
<text:s>
défini un espace
<text:tab>
place une tabulation
<text:line-break>
fait un retour à la ligne
<text:span>
cible une ligne de texte particulière
<text:section>
marque le début d'une section du document, qui peut regrouper plusieurs titres et paragraphes.

  Forum

Réagissez dans les forums de JDN Développeurs

A noter qu'une page n'est définie directement dans content.xml, mais à l'aide de règles de style contenues dans styles.xml.

Ces balises peuvent avoir divers attributs, comme text:style-name pour faire référence à un style défini, text:name pour nommer l'élément afin de le cibler plus facilement, ou text:style-name, pour le style interne à appliquer.

 
Xavier Borderie, JDN Développeurs
 
Accueil | Haut de page
 
 





Quand achetez-vous le plus en ligne ?
Du lundi au vendredi
Le samedi
Le dimanche

Tous les sondages