FO2ODF - conformance to XSL FO specification

[Home]

This page contains list of formatting objects and properties implemented by FO2ODF Converter.

A. Implemented formatting objects

Formatting object Implemented Notes
Objects for declarations, for page layout and page content
fo:root yes  
fo:declarations no  
fo:color-profile no  
fo:page-sequence yes  
fo:layout-master-set yes  
fo:page-sequence-master no The first referenced fo:simple-page-master will be used.
fo:single-page-master-reference no The first referenced fo:simple-page-master will be used.
fo:repeatable-page-master-reference no The first referenced fo:simple-page-master will be used.
fo:conditional-page-master-reference no The first referenced fo:simple-page-master will be used.
fo:simple-page-master yes  
fo:region-body yes  
fo:region-before yes  
fo:region-after yes  
fo:region-start no ODF support only header and footer.
fo:region-end no ODF support only header and footer.
fo:flow yes  
fo:static-content yes Only for regions “body”, “before” and “after”.
fo:title no In ODF only the title for the whole document can be set.
Block objects
fo:block yes Limited conversion of formatting properties when embedded blocks are used.
fo:block-container yes Only an approximate implementation, without the support of changing writing mode.
Objects for lists
fo:list-block yes With limitations arising from the implementation made by converting lists to tables.
fo:list-item yes  
fo:list-item-body yes  
fo:list-item-label yes  
Objects for tables
fo:table-and-caption yes Simply the content of this element is processed.
fo:table yes  
fo:table-column yes  
fo:table-caption yes Simply the content of this element is processed.
fo:table-header yes  
fo:table-footer yes Without the support of repeating footers (ODF limitation).
fo:table-body yes  
fo:table-row yes  
fo:table-cell yes  
Inline objects
fo:inline yes  
fo:inline-container no Simply the content of this element is processed.
fo:leader yes Width and some other attributes are not supported (because of conversion to ODF tabulator).
fo:character no  
fo:bidi-override no  
Objects for images
fo:external-graphic yes  
fo:instream-foreign-object no  
out-of-line” objects
fo:float yes Without the support of the clear attribute. Floating only on the paragraph level. (ODF limitation). Value before of the float attribute is not supported (ODF limitation).
fo:footnote yes  
fo:footnote-body yes  
Dynamic objects
fo:basic-link yes  
fo:page-number yes  
fo:page-number-citation yes  
fo:multi-switch no  
fo:multi-case no  
fo:multi-toggle no  
fo:multi-properties no  
fo:multi-property-set no  
Other objects
fo:wrapper yes  
fo:marker no  
fo:retrieve-marker no  
fo:initial-property-set no  

B. Implemented formatting properties

The following table shows all formatting properties defined in XSL FO. Properties and their values which are implemented by FO2ODF are written in cursive.

Property Values Default value Inherited Conformance level
absolute-position auto | absolute | fixed | inherit auto no complete
active-state link | visited | active | hover | focus empty string values is required extended
alignment-adjust auto | baseline | before-edge | text-before-edge | middle | central | after-edge | text-after-edge | ideographic | alphabetic | hanging | mathematical | <percentage> | <length> | inherit auto no basic
alignment-baseline auto | baseline | before-edge | text-before-edge | middle | central | after-edge | text-after-edge | ideographic | alphabetic | hanging | mathematical | inherit auto no basic
auto-restore true | false false yes extended
azimuth <angle> | [[ left-side | far-left | left | center-left | center | center-right | right | far-right | right-side ] || behind ] | leftwards | rightwards | inherit center yes basic
background [<background-color> || <background-image> || <background-repeat> || <background-attachment> || <background-position> ]] | inherit see concrete properties no complete
background-attachment scroll | fixed | inherit scroll no extended
background-color <color> | transparent | inherit transparent no basic
background-image <URI> | none | inherit none no extended
background-position [ [<percentage> | <length> ]{1,2} | [ [top | center | bottom] || [left | center | right] ] ] | inherit 0% 0% no complete
background-position-horizontal <percentage> | <length> | left | center | right | inherit 0% no extended
background-position-vertical <percentage> | <length> | top | center | bottom | inherit 0% no extended
background-repeat repeat | repeat-x | repeat-y | no-repeat | inherit repeat no extended
baseline-shift baseline | sub | super | <percentage> | <length> | inherit baseline no basic
blank-or-not-blank blank | not-blank | any | inherit any no extended
block-progression-dimension auto | <length> | <percentage> | <range> | inherit auto no basic
border [ <border-width> || <border-style> || <color> ] | inherit see concrete properties no complete
border-“side”-color <color> | inherit the value of the 'color' property no basic
border-“side”-precedence force | <integer> | inherit see specif. no basic
border-“side”-style none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset | inherit none no basic
border-“side”-width thin | medium | thick | <length> | <conditional length> | inherit medium no basic
border-“side”-color <color> | inherit value of property 'color' no basic
border-“side [ <border-width> || <border-style> || <color> ] | inherit see concrete properties no complete
border-collapse collapse | collapse-with-precedence | separate | inherit collapse yes extended
border-color [ <color> | transparent ]{1,4} | inherit see concrete properties no complete
border-separation <length-bp-ip-direction> | inherit 0pt yes extended
border-spacing <length> <length>? | inherit 0pt yes complete
border-style <border-style>{1,4} | inherit see concrete properties no complete
border-width <border-width>{1,4} | inherit see concrete properties no complete
bottom <length> | <percentage> | auto | inherit auto no extended
break-after auto | column | page | even-page | odd-page | inherit[a] auto no basic
break-before auto | column | page | even-page | odd-page | inherit[a] auto no basic
caption-side before | after | start | end | top | bottom | left | right | inherit before yes complete
case-name <name> values is required values is required extended
case-title <string> values is required values is required extended
character <character> values is required values is required basic
clear start | end | left | right | both | none | inherit none no extended
clip <shape> | auto | inherit auto no extended
color <color> | inherit depends on user agent yes basic
color-profile-name <name> | inherit values is required no extended
column-count <number> | inherit 1 no extended
column-gap <length> | <percentage> | inherit 12.0pt no extended
column-number <number> see specif. no basic
column-width <length> | <percentage> see specif. no basic
content-height auto | scale-to-fit | <length> | <percentage> | inherit auto no extended
content-type <string> | auto auto no extended
content-width auto | scale-to-fit | <length> | <percentage> | inherit auto no extended
country none | <country> | inherit none yes extended
cue <cue-before> || <cue-after> | inherit see concrete properties no complete
cue-after <URI> | none | inherit none no basic
cue-before <URI> | none | inherit none no basic
destination-placement-offset <length> 0pt no extended
direction ltr | rtl | inherit ltr yes basic
display-align auto | before | center | after | inherit auto yes extended
dominant-baseline auto | use-script | no-change | reset-size | ideographic | alphabetic | hanging | mathematical | central | middle | text-after-edge | text-before-edge | inherit auto no basic
elevation <angle> | below | level | above | higher | lower | inherit level yes basic
empty-cells show | hide | inherit show yes extended
end-indent <length> | <percentage> | inherit 0pt yes basic
ends-row true | false false no extended
extent <length> | <percentage> | inherit 0.0pt no extended
external-destination <URI> empty string no extended
float before | start | end | left | right | none | inherit[b] none no extended
flow-name <name> empty string values is required basic
font [ [ <font-style> || <font-variant> || <font-weight> ]? <font-size> [ / <line-height>]? <font-family> ] | caption | icon | menu | message-box | small-caption | status-bar | inherit see concrete properties yes complete
font-family <names of fonts ordered by priority> | inherit[c] depends on user agent yes basic
font-selection-strategy auto | character-by-character | inherit auto yes complete
font-size <xx-small | ... | medium | ... | xx-large> | <larger | smaller> | <length> | <percentage> | inherit medium yes, the computed value is inherited basic
font-size-adjust <number> | none | inherit none yes extended
font-stretch normal | wider | narrower | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded | inherit normal yes extended
font-style normal | italic | oblique | backslant | inherit normal yes basic
font-variant normal | small-caps | inherit normal yes basic
font-weight normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit normal yes basic
force-page-count auto | even | odd | end-on-even | end-on-odd | no-force | inherit auto no extended
format <string> 1 no basic
glyph-orientation-horizontal <angle> | inherit 0deg yes extended
glyph-orientation-vertical auto | <angle> | inherit auto yes extended
grouping-separator <character> no separator no extended
grouping-size <number> no grouping no extended
height <length> | <percentage> | auto | inherit[d] auto no basic
hyphenate false | true | inherit false yes extended
hyphenation-character <character> | inherit[e] Unicode character with code U+2010 yes extended
hyphenation-keep auto | column | page | inherit auto yes extended
hyphenation-ladder-count no-limit | <number> | inherit no-limit yes extended
hyphenation-push-character-count <number> | inherit 2 yes extended
hyphenation-remain-character-count <number> | inherit 2 yes extended
id <id> see specif. no, see specif. basic
indicate-destination true | false false no extended
initial-page-number auto | auto-odd | auto-even | <number> | inherit auto no basic
inline-progression-dimension auto | <length> | <percentage> | <range> | inherit auto no basic
internal-destination <idref> empty string no extended
intrusion-displace auto | none | line | indent | block | inherit auto yes extended
keep-together auto | always | inherit[f] auto yes extended
keep-with-next auto | always | inherit[g] auto no basic
keep-with-previous auto | always | inherit[h] auto no basic
language none | <language> | inherit none yes extended
last-line-end-indent <length> | <percentage> | inherit 0pt yes extended
leader-alignment none | reference-area | page | inherit none yes extended
leader-length <range> | <percentage> | inherit 12pt (see specif.) yes basic
leader-pattern space | rule | dots | use-content | inherit space yes basic
leader-pattern-width use-font-metrics | <length> | <percentage> | inherit use-font-metrics yes extended
left <length> | <percentage> | auto | inherit auto no extended
letter-spacing normal | <length> | <range> | inherit normal yes extended
letter-value auto | alphabetic | traditional auto no basic
linefeed-treatment ignore | preserve | treat-as-space | treat-as-zero-width-space | inherit treat-as-space yes extended
line-height normal | <length> | <number> | <percentage> | <range> | inherit normal yes basic
line-height-shift-adjustment consider-shifts | disregard-shifts | inherit consider-shifts yes extended
line-stacking-strategy line-height | font-height | max-height | inherit max-height yes basic
margin <width>{1,4} | inherit see concrete properties no complete
margin-“side <length> | <percentage> | inherit 0pt no basic
marker-class-name <name> empty string values is required extended
master-name <name> empty string values is required basic
master-reference <name> empty string values is required basic
max-height <length> | <percentage> | none | inherit 0pt no complete
maximum-repeats <number> | no-limit | inherit no-limit no extended
max-width <length> | <percentage> | none | inherit none no complete
media-usage auto | paginate | bounded-in-one-dimension | unbounded auto no extended
min-height <length> | <percentage> | inherit 0pt no complete
min-width <length> | <percentage> | inherit depends on user agent no complete
number-columns-repeated <number> 1 no basic
number-columns-spanned <number> 1 no basic
number-rows-spanned <number> 1 no basic
odd-or-even odd | even | any | inherit any no extended
orphans <integer> | inherit 2 yes basic
overflow visible | hidden | scroll | error-if-overflow | auto | inherit auto no basic
padding <width>{1,4} | inherit see concrete properties no complete
padding-“side <length> | <conditional length> | inherit 0pt no basic
page-break-after auto | always | avoid | left | right | inherit auto no complete
page-break-before auto | always | avoid | left | right | inherit auto no complete
page-break-inside avoid | auto | inherit auto yes complete
page-height auto | indefinite | <length> | inherit auto no basic
page-position first | last | rest | any | inherit any no extended
page-width auto | indefinite | <length> | inherit auto no basic
pause [<time> | <percentage>]{1,2} | inherit depends on user agent no complete
pause-after <time> | <percentage> | inherit depends on user agent no basic
pause-before <time> | <percentage> | inherit depends on user agent no basic
pitch <frequency> | x-low | low | medium | high | x-high | inherit medium yes basic
pitch-range <number> | inherit 50 yes basic
play-during <URI> mix? repeat? | auto | none | inherit auto no basic
position static | relative | absolute | fixed | inherit static no complete
precedence true | false | inherit false no extended
provisional-distance-between-starts <length> | <percentage> | inherit 24.0pt yes basic
provisional-label-separation <length> | <percentage> | inherit 6.0pt yes basic
reference-orientation 0 | 90 | 180 | 270 | -90 | -180 | -270 | inherit 0 yes (see specif.) extended
ref-id <idref> | inherit empty string values is required extended
region-name xsl-region-body | xsl-region-start | xsl-region-end | xsl-region-before | xsl-region-after | xsl-before-float-separator | xsl-footnote-separator | <name> see specif. values is required basic
relative-align before | baseline | inherit before yes extended
relative-position static | relative | inherit static no extended
rendering-intent auto | perceptual | relative-colorimetric | saturation | absolute-colorimetric | inherit auto no extended
retrieve-boundary page | page-sequence | document page-sequence no extended
retrieve-class-name <name> empty string values is required extended
retrieve-position first-starting-within-page | first-including-carryover | last-starting-within-page | last-ending-within-page first-starting-within-page no extended
richness <number> | inherit 50 yes basic
right <length> | <percentage> | auto | inherit auto no extended
role <string> | <URI> | none | inherit none no basic
rule-style none | dotted | dashed | solid | double | groove | ridge | inherit solid yes basic
rule-thickness <length> 1.0pt yes basic
scaling uniform | non-uniform | inherit uniform no extended
scaling-method auto | integer-pixels | resample-any-method | inherit auto no extended
score-spaces true | false | inherit true yes extended
script none | auto | <script> | inherit auto yes extended
show-destination replace | new replace no extended
size <length>{1,2} | auto | landscape | portrait | inherit auto no complete
source-document <URI> [<URI>]* | none | inherit none no basic
space-after <length> | <range> | inherit 0pt no basic
space-before <length> | <range> | inherit 0pt no basic
space-end <range> | <percentage> | inherit 0ptr no basic
space-start <range> | <percentage> | inherit 0pt no basic
span none | all | inherit none no extended
speak normal | none | spell-out | inherit normal yes basic
speak-header once | always | inherit once yes basic
speak-numeral digits | continuous | inherit continuous yes basic
speak-punctuation code | none | inherit none yes basic
speech-rate <number> | x-slow | slow | medium | fast | x-fast | faster | slower | inherit medium yes basic
src <URI> | inherit no, value required no basic
start-indent <length> | <percentage> | inherit 0pt yes basic
starting-state show | hide show no extended
starts-row true | false false no extended
stress <number> | inherit 50 yes basic
suppress-at-line-break auto | suppress | retain | inherit auto no extended
switch-to xsl-preceding | xsl-following | xsl-any | <name>[ <name>]* xsl-any no extended
table-layout auto | fixed | inherit auto no extended
table-omit-footer-at-break true | false false no extended
table-omit-header-at-break true | false false no extended
target-presentation-context use-target-processing-context | <URI> use-target-processing-context no extended
target-processing-context document-root | <URI> document-root no extended
target-stylesheet use-normal-stylesheet | <URI> use-normal-stylesheet no extended
text-align start | center | end | justify | inside | outside | left | right | <string> | inherit start yes basic
text-align-last relative | start | center | end | justify | inside | outside | left | right | inherit relative yes extended
text-altitude use-font-metrics | <length> | <percentage> | inherit use-font-metrics no extended
text-decoration none | [ [ underline | no-underline] || [ overline | no-overline ] || [ line-through | no-line-through ] || [ blink | no-blink ] ] | inherit none no – see specif. extended
text-depth use-font-metrics | <length> | <percentage> | inherit use-font-metrics no extended
text-indent <length> | <percentage> | inherit 0pt yes basic
text-shadow none | [<color> || <length> <length> <length>? ,]* [<color> || <length> <length> <length>?] | inherit none no, see specif. extended
text-transform capitalize | uppercase | lowercase | none | inherit none yes extended
top <length> | <percentage> | auto | inherit auto no extended
treat-as-word-space auto | true | false | inherit auto no extended
unicode-bidi normal | embed | bidi-override | inherit normal no extended
vertical-align baseline | middle | sub | super | text-top | text-bottom | <percentage> | <length> | top | bottom | inherit baseline no complete
visibility visible | hidden | collapse | inherit visible yes extended
voice-family <names of voices ordered by priority> | inherit depends on user agent yes basic
volume <number> | <percentage> | silent | x-soft | soft | medium | loud | x-loud | inherit medium yes basic
white-space normal | pre | nowrap | inherit normal yes complete
white-space-collapse false | true | inherit true yes extended
white-space-treatment ignore | preserve | ignore-if-before-linefeed | ignore-if-after-linefeed | ignore-if-surrounding-linefeed | inherit ignore-if-surrounding-linefeed yes extended
widows <integer> | inherit 2 yes basic
width <length> | <percentage> | auto | inherit[i] auto no basic
word-spacing normal | <length> | <range> | inherit normal yes extended
wrap-option no-wrap | wrap | inherit wrap yes basic
writing-mode lr-tb | rl-tb | tb-rl | lr | rl | tb | inherit lr-tb yes (see specif.) basic
xml:lang <language and/or country> | inherit see concrete properties yes complete
z-index auto | <integer> | inherit auto no extended

[a] Values column, even-page and odd-page converted as if page was specified.

[b] Value start treated as left and value end treated as right.

[c] Only the first from specified fonts is taken.

[d] Property height implemented only for elements <fo:table-row> and <fo:external-graphic>.

[e] ODF doesn't enable to set the hyphenation character.

[f] Property keep-together can be set only for paragraphs and table rows in ODF.

[g] Property keep-with-next can be set only for paragraphs and tables in ODF.

[h] Property keep-with-previous implemented by its conversion to property keep-with-next.

[i] Property width implemented only for elements <fo:table>, <fo:table-cell> and <fo:external-graphic>.

SourceForge.net Logo fo2odf Copyright © 2008 Petr Bodnár