OASIS - OpenDocument

Description du format OpenDocument

Contenu général

Un format OpenDocument est une archive Zip contenant un certain nombre de fichiers et de répertoires, ainsi qu'on peut le découvrir en l'ouvrant comme une archive Zip. Le format OpenDocument soutient une forte séparation entre contenu, mise en page et méta-données.

Il est composé de plusieurs répertoires et fichiers qui le décrivent. Voici le contenu du document texte présent ici :

contenu d'un fichier OpenOffice

content.xml

C'est le fichier le plus important, il contient le véritable contenu du document (excepté le contenu binaire telles les images qui sont stockées dans des fichiers séparés). La syntaxe tire son inspiration du HTML et, quoique bien plus complexe, est raisonnablement compréhensible par un humain entraîné :

	<text:h text:style-name="Heading_2">Ceci est un titre</text:h>
	<text:p text:style-name="Text_body"/>
	<text:p text:style-name="Text_body">
		Ceci est un paragraphe. L'information de mise-en-page
		est stockée à part dans le style "Text_body" (Corps de texte).
		La balise vide text:p au-dessus correspond à un paragraphe
		vide, c'est-à-dire à un saut de ligne.
	</text:p>
			

OpenDocument a été conçu pour permettre de convertir ses données depuis plusieurs formats propriétaires (de Corel, le .doc de Microsoft Office, etc). Il reconnaît donc les fonctionnalités habituelles des suites bureautiques : plusieurs niveaux de chapitres, listes, paragraphes numérotés, liens, références, bookmarks, historique des changements, etc. On y trouve également les mécanismes pour générer automatiquement les tables des matières, les index, les bibliographies, etc.

styles.xml

Un fichier OpenDocument est un ensemble d'objets décrits dans content.xml sur lesquels sont appliqués des styles définis dans le fichier style.xml. Un style est une collections de propriétés à la fois structurelles et de mise en forme. Une utilisation courante d'une application prenant en charge OpenDocument comme OpenOffice.org consiste donc à alterner entre la rédaction de texte et l'application de styles sur celui-ci. L'interface d'OpenOffice.org présente le styliste, une palette consacrée à la gestion des styles.

Les styles s'appliquent sur toutes sortes d'objets : paragraphes, cadres, pages, caractères, numérotations, etc. Les propriétés qu'ils définissent sont entre autres : le type d'un texte (standard, titre, note de bas de page, etc), les caractéristiques visuelles d'un texte (choix de la fonte, la taille, l'alignement, la couleur, etc), le type d'un compteur, l'ombrage d'une image, le nombre de colonnes d'une page, le sens d'écriture d'un cadre (par exemple, pour écrire du japonais à la verticale), etc. Les styles peuvent être créés pour toutes sortes d'usages et même avoir des propriétés conditionnelles. Pour les usages ponctuels de mise en forme, des styles automatiques, dépourvus de sens sémantiques, sont générés par le programme. L'abus de ces styles automatiques est considéré comme une erreur d'utilisation et surcharge inutilement le document.

meta.xml

Ce fichier contient les méta-données associées au document.

Une liste de champs prédéfinis est indiqué par le standard : application, titre, description, sujet, mots-clés, auteur initial, auteur, imprimé par, date de création, date de dernière modification, date de dernière impression, durée d'édition, modèle utilisé, rechargement automatique, comportement url, langue, nombre d'éditions, durée totale d'édition, statistiques sur le document. Un utilisateur (ou une application) peut rajouter ses propres champs à cette liste.

	<meta:creation-date>2003-07-22T15:15:11</meta:creation-date>
	<dc:creator>Jean Dupont</dc:creator>
	<dc:date>2005-06-29T22:02:06</dc:date>
	<dc:language>fr-FR</dc:language>
	<meta:document-statistic
	      meta:table-count="6" meta:object-count="0"
	      meta:page-count="59" meta:paragraph-count="676"
	      meta:image-count="2" meta:word-count="16701"
	      meta:character-count="98757"/>
			

settings.xml

Contient des informations ne faisant pas partie du document en tant que tel, comme la position du curseur ou le zoom courant (100% par exemple).

Pictures

Pour retrouver les images incluses dans un fichier OpenDocument, il suffit de le dézipper et on peut y accéder directement dans ce dossier Pictures.

Une application prenant en charge OpenDocument y fait appel dans le fichier content.xml via une balise <draw:image> similaire à la balise HTML <img> :


	<draw:image
	    xlink:href="Pictures/10000000000005E80000049F21F631AB.tif"
	    xlink:type="simple" xlink:show="embed"
	    xlink:actuate="onLoad"/>
			

La mise en page (hauteur, ancre, etc) se fait par une balise <draw:frame> contenant une balise <draw:image>.

Les images sont le plus souvent conservées dans leur format original (notamment pour les GIF, JPEG et PNG) mais les images bitmap (non compressées) sont converties en PNG pour diminuer la taille du fichier.

Basic

Ce répertoire contient les scripts Basic éventuellement utilisés dans le document.

META-INF/manifest.xml

Ce fichier contient la liste des noms de fichiers (ainsi que leur type) présents dans l'archive.

mimetype

Ce fichier se résume à une ligne contenant le type MIME du document.

Une application implémentant OpenDocument n'a ainsi pas besoin de prendre en compte l'extension (.odt, etc) du document. Celle-ci est néanmoins conservée pour une meilleure compréhension par l'utilisateur.

Valid XHTML 1.0 Strict