Skip to content

FastODS and ODS files structure

Julien Férard edited this page Mar 9, 2018 · 3 revisions

Table Elements in FastODS

TODO.

Styles in FastODS

There is a strong constraint on LibreOffice compatibility, since LO does handle style declarations only if they are in specific elements.

Overview

With LO constraints

ODS location used in FastODS? Use cases
document-content > automatic-styles Yes 1. all <style:style> tags in the document except named table-cell family
2. future anonymous builders for table-cell family: Style.builder()...
document-styles > styles Yes 1. data styles (<number:...-style>)
2. named table-cell family styles <style:style>
3. table-cell family styles default style: <style:default-style>
document-styles > automatic-styles Yes Page layouts of master styles: <style:page-layout> and the text family styles of this layout (e.g. style of text span xin footer/header).
document-styles > master-styles Yes All <style:master-page>s

Note: OO/LO has a very limited use and understanding of <style:default-style> tags.

For information : ideal situation

ODS location used in FastODS? Use cases
document-content > automatic-styles No Reserved for future anonymous builders: Style.builder()...
document-styles > styles Yes Default styles (<style:default-page-layout> and <style:default-style>), data styles (<number:...-style>) and named styles (<style:style>)
document-styles > automatic-styles Yes Only for page layout of master styles: <style:page-layout>
document-styles > master-styles Yes Named <style:master-page>s

Styles

FastODS may use the following style:family values: table, table-cell, table-column, table-row, paragraph and text.

ODS location ODS element FastODS class FastODS output method
document-styles > styles <number:...-style> DataStyle appendXML
idem <number:boolean-style> BooleanStyle idem
idem <number:currency-style> CurrencyStyle idem
idem <number:date-style> DateStyle idem
idem <number:number-style> NumberStyle idem
idem idem FractionStyle idem
idem idem ScientificNumberStyle idem
idem <number:percentage-style> PercentageStyle idem
idem <number:text-style> absent absent
idem <number:time-style> TimeStyle idem
ODS location ODS element FastODS class FastODS output method
document-styles > styles <style:style> StyleTag appendXML
idem <style:style style:family="table"> TableStyle idem
idem <style:style style:family="table-cell"> TableCellStyle idem
idem <style:style style:family="table-column"> TableColumnStyle idem
idem <style:style style:family="table-row"> TableRowStyle idem
idem <style:style style:family="table-column"> TableColumnStyle idem
ODS location ODS element FastODS class FastODS output method Comment
document-styles > styles <style:style> StyleTag appendXML
idem <style:style style:family="paragraph"> absent absent
idem <style:style style:family="text"> TextStyle appendXML
idem <style:text-properties> TextProperties appendXMLContent

Other Elements Styles

TODO.

PageStyle is a <style:master-page> and a <style:page-layout> element.