Skip to content

Reminder on ODS files structure

Julien Férard edited this page Dec 3, 2016 · 3 revisions

This is a very small reminder on ODS filses structure. It is focused on what is used by FastODS.

General

3.1.1 : OpenDocument defines two methods of document representation:

  • A single XML document.
  • A collection of files within a package [...], each of which stores a part of a complete document.

Only the latter case will be considered here. See Summary of Document Representation.

Structure of files

<office:document-content>
	<office:scripts>...</office:scripts>
	<office:font-face-decls>...</office:font-face-decls>
	<office:automatic-styles>...</office:automatic-styles>
	<office:body>...<office:body>
</office:document-content>
<office:document-styles>
	<office:font-face-decls>...</office:font-face-decls>
	<office:styles>...</office:styles>
	<office:automatic-styles>...</office:automatic-styles>
	<office:master-styles>...</office:master-styles>
</office:document-styles>
<office:document-meta>
	<office:meta>...</office:meta>
</office:document-meta>
<office:document-settings>
	<office:settings>
		<config:config-item-set>...</config:config-item-set>
	</office:settings>
</office:document-settings>

Styles

Different kind of styles

The documentation explains the difference between styles:

tag style type definition
<office:styles> common A common style is: 1. a named style, chosen by the user (typically, those styles are display unnder OO/LO by hitting F11) or: 2. a default-style for a style family
<office:automatic-styles> automatic An automatic style is: 1. an anonymous style attributed by the user to an object, e.g. when formatting a date, or: 2. a style referenced by a master style.
<office:master-styles> master A master style is a global style for the document formatting, typically a specification of the header and footer formats.

Style families

Example: a cell

A <table:table-cell> element has a reference on style, stored in the table:style-name attribute (see http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part1.html#__RefHeading__1415590_253892949).

The table:style-name attribute specifies a style:style element of type table-cell.

The "type" is the value of the style:family attribute of the <style:style> element (see http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part1.html#attribute-style_family).