One of FOP's design goals is conformance to the W3C XSL-FO 1.0 standard, which specifies three levels of "conformance": basic, extended, and complete. Although FOP does not currently conform to any of these levels, it is nevertheless a useful work-in-progress for many applications. The information presented here demonstrates FOP's progress toward the goal of conformance, which progress consists of implementation of specific objects and properties in the standard. The information presented is useful not only to the developers as a sort of "to do" list, but also for setting proper expectations for users and potential users.
In the tables below, "yes" (green background) indicates conformance, "no" (red background) indicates a lack of conformance, "partial" (greyish background) indicates partial conformance, and "na" indicates that the item is "not applicable" to FOP usually because FOP supports only visual media.
The following is a summary of FOP's current support for the standard XSL-FO objects.
Object Name | XSL-FO Conformance Level | Citation | Support in FOP | Comments | |
---|---|---|---|---|---|
0.20.5 (current stable) | 0.91 beta (unstable) | ||||
Declarations and Pagination and Layout Formatting Objects (§6.4) | |||||
root | Basic | §6.4.2 | yes | yes | |
declarations | Basic | §6.4.3 | no | no | |
color-profile | Extended | §6.4.4 | no | no | |
page-sequence | Basic | §6.4.5 | yes | yes | |
layout-master-set | Basic | §6.4.6 | yes | yes | |
page-sequence-master | Basic | §6.4.7 | yes | yes | |
single-page-master-reference | Basic | §6.4.8 | yes | yes | |
repeatable-page-master-reference | Basic | §6.4.9 | yes | yes | |
repeatable-page-master-alternatives | Extended | §6.4.10 | yes | yes | |
conditional-page-master-reference | Extended | §6.4.11 | yes | yes | |
simple-page-master | Basic | §6.4.12 | yes | yes | |
region-body | Basic | §6.4.13 | yes | yes | |
region-before | Extended | §6.4.14 | yes | yes | |
region-after | Extended | §6.4.15 | yes | yes | |
region-start | Extended | §6.4.16 | yes | yes | |
region-end | Extended | §6.4.17 | yes | yes | |
flow | Basic | §6.4.18 | yes | yes | |
static-content | Extended | §6.4.19 | yes | yes | |
title | Extended | §6.4.20 | no | no | |
Block Formatting Objects (§6.5) | |||||
block | Basic | §6.5.2 | yes | yes | |
block-container | Extended | §6.5.3 | partial | partial |
|
Inline Formatting Objects (§6.6) | |||||
bidi-override | Extended | §6.6.2 | no | no | |
character | Basic | §6.6.3 | yes | yes | |
initial-property-set | Extended | §6.6.4 | no | no | |
external-graphic | Basic | §6.6.5 | yes | yes | |
instream-foreign-object | Extended | §6.6.6 | yes | yes |
|
inline | Basic | §6.6.7 | yes | yes | |
inline-container | Extended | §6.6.8 | no | no | |
leader | Basic | §6.6.9 | partial | yes | |
page-number | Basic | §6.6.10 | yes | yes | |
page-number-citation | Extended | §6.6.11 | partial | partial |
|
Table Formatting Objects (§6.7) | |||||
table-and-caption | Basic | §6.7.2 | no | no | |
table | Basic | §6.7.3 | partial | partial |
|
table-column | Basic | §6.7.4 | partial | yes |
|
table-caption | Extended | §6.7.5 | no | no | |
table-header | Basic | §6.7.6 | yes | yes | |
table-footer | Extended | §6.7.7 | yes | yes | |
table-body | Basic | §6.7.8 | yes | yes | |
table-row | Basic | §6.7.9 | yes | yes | |
table-cell | Basic | §6.7.10 | partial | yes |
|
List Formatting Objects (§6.8) | |||||
list-block | Basic | §6.8.2 | yes | yes | |
list-item | Basic | §6.8.3 | yes | yes | |
list-item-body | Basic | §6.8.4 | yes | yes | |
list-item-label | Extended | §6.8.5 | yes | yes | |
Link and Multi Formatting Objects (§6.9) | |||||
basic-link | Extended | §6.9.2 | yes | yes |
|
multi-switch | Extended | §6.9.3 | no | no | |
multi-case | Basic | §6.9.4 | no | no | |
multi-toggle | Extended | §6.9.5 | no | no | |
multi-properties | Extended | §6.9.6 | no | no | |
multi-property-set | Extended | §6.9.7 | no | no | |
Formatting Objects for Bookmarks (§6.11 in XSL 1.1 WD) | |||||
bookmark-tree (since XSL 1.1) | Extended | §6.11.1 in XSL 1.1 WD | no | yes |
|
bookmark (since XSL 1.1) | Extended | §6.11.2 in XSL 1.1 WD | no | yes |
|
bookmark-title (since XSL 1.1) | Extended | §6.11.3 in XSL 1.1 WD | no | yes |
|
Out-of-line Formatting Objects (§6.10) | |||||
float | Extended | §6.10.2 | no | no | |
footnote | Extended | §6.10.3 | yes | partial |
|
footnote-body | Extended | §6.10.4 | yes | yes | |
Other Formatting Objects (§6.11) | |||||
wrapper | Basic | §6.11.2 | yes | yes | |
marker | Extended | §6.11.3 | yes | yes | |
retrieve-marker | Extended | §6.11.4 | yes | yes |
The following is a summary of FOP's current support for the standard XSL-FO properties.
Property Name | XSL-FO Conformance Level | Citation | Support in FOP | Comments | |
---|---|---|---|---|---|
0.20.5 (current stable) | 0.91 beta (unstable) | ||||
Common Accessibility Properties (§7.4) | |||||
source-document | Basic | §7.4.1 | na | na | |
role | Basic | §7.4.2 | na | na | |
Common Absolute Position Properties (§7.5) | |||||
absolute-position | Complete | §7.5.1 | no | yes |
|
top | Extended | §7.5.2 | yes | yes | |
right | Extended | §7.5.3 | yes | yes | |
bottom | Extended | §7.5.4 | yes | yes | |
left | Extended | §7.5.5 | yes | yes | |
Common Aural Properties (§7.6) | |||||
azimuth | Basic | §7.6.1 | na | na | |
cue-after | Basic | §7.6.2 | na | na | |
cue-before | Basic | §7.6.3 | na | na | |
elevation | Basic | §7.6.4 | na | na | |
pause-after | Basic | §7.6.5 | na | na | |
pause-before | Basic | §7.6.6 | na | na | |
pitch | Basic | §7.6.7 | na | na | |
pitch-range | Basic | §7.6.8 | na | na | |
play-during | Basic | §7.6.9 | na | na | |
richness | Basic | §7.6.10 | na | na | |
speak | Basic | §7.6.11 | na | na | |
speak-header | Basic | §7.6.12 | na | na | |
speak-numeral | Basic | §7.6.13 | na | na | |
speak-punctuation | Basic | §7.6.14 | na | na | |
speech-rate | Basic | §7.6.15 | na | na | |
stress | Basic | §7.6.16 | na | na | |
voice-family | Basic | §7.6.17 | na | na | |
volume | Basic | §7.6.18 | na | na | |
Common Border, Padding, and Background Properties (§7.7) | |||||
background-attachment | Extended | §7.7.1 | no | no | |
background-color | Basic | §7.7.2 | yes | partial |
|
background-image | Extended | §7.7.3 | yes | yes |
|
background-repeat | Extended | §7.7.4 | no | yes | |
background-position-horizontal | Extended | §7.7.5 | no | yes | |
background-position-vertical | Extended | §7.7.6 | no | yes | |
border-before-color | Basic | §7.7.7 | yes | yes | |
border-before-style | Basic | §7.7.8 | partial | yes |
|
border-before-width | Basic | §7.7.9 | yes | yes | |
border-after-color | Basic | §7.7.10 | yes | yes | |
border-after-style | Basic | §7.7.11 | partial | yes |
|
border-after-width | Basic | §7.7.12 | yes | yes | |
border-start-color | Basic | §7.7.13 | yes | yes | |
border-start-style | Basic | §7.7.14 | partial | yes |
|
border-start-width | Basic | §7.7.15 | yes | yes | |
border-end-color | Basic | §7.7.16 | yes | yes | |
border-end-style | Basic | §7.7.17 | partial | yes |
|
border-end-width | Basic | §7.7.18 | yes | yes | |
border-top-color | Basic | §7.7.19 | yes | yes | |
border-top-style | Basic | §7.7.20 | partial | yes |
|
border-top-width | Basic | §7.7.21 | yes | yes | |
border-bottom-color | Basic | §7.7.22 | yes | yes | |
border-bottom-style | Basic | §7.7.23 | partial | yes |
|
border-bottom-width | Basic | §7.7.24 | yes | yes | |
border-left-color | Basic | §7.7.25 | yes | yes | |
border-left-style | Basic | §7.7.26 | partial | yes |
|
border-left-width | Basic | §7.7.27 | yes | yes | |
border-right-color | Basic | §7.7.28 | yes | yes | |
border-right-style | Basic | §7.7.29 | partial | yes |
|
border-right-width | Basic | §7.7.30 | yes | yes | |
padding-before | Basic | §7.7.31 | partial | yes |
|
padding-after | Basic | §7.7.32 | partial | yes |
|
padding-start | Basic | §7.7.33 | partial | yes |
|
padding-end | Basic | §7.7.34 | partial | yes |
|
padding-top | Basic | §7.7.35 | partial | yes |
|
padding-bottom | Basic | §7.7.36 | partial | yes |
|
padding-left | Basic | §7.7.37 | partial | yes |
|
padding-right | Basic | §7.7.38 | partial | yes |
|
Common Font Properties (§7.8) | |||||
font-family | Basic | §7.8.2 | partial | partial |
|
font-selection-strategy | Complete | §7.8.3 | no | no | |
font-size | Basic | §7.8.4 | partial | yes |
|
font-stretch | Extended | §7.8.5 | no | no | |
font-size-adjust | Extended | §7.8.6 | no | no | |
font-style | Basic | §7.8.7 | partial | yes |
|
font-variant | Basic | §7.8.8 | yes | no | |
font-weight | Basic | §7.8.9 | partial | partial |
|
Common Hyphenation Properties (§7.9) | |||||
country | Extended | §7.9.1 | yes | yes | |
language | Extended | §7.9.2 | yes | yes | |
script | Extended | §7.9.3 | no | no | |
hyphenate | Extended | §7.9.4 | yes | yes | |
hyphenation-character | Extended | §7.9.5 | yes | yes | |
hyphenation-push-character-count | Extended | §7.9.6 | yes | yes | |
hyphenation-remain-character-count | Extended | §7.9.7 | yes | yes | |
Common Margin Properties - Block (§7.10) | |||||
margin-top | Basic | §7.10.1 | partial | yes |
|
margin-bottom | Basic | §7.10.2 | partial | yes |
|
margin-left | Basic | §7.10.3 | partial | yes |
|
margin-right | Basic | §7.10.4 | partial | yes |
|
space-before | Basic | §7.10.5 | partial | partial |
|
space-after | Basic | §7.10.6 | partial | partial |
|
start-indent | Basic | §7.10.7 | yes | yes | |
end-indent | Basic | §7.10.8 | yes | yes | |
Common Margin Properties - Inline (§7.11) | |||||
space-end | Basic | §7.11.1 | no | no | |
space-start | Basic | §7.11.2 | no | no | |
Common Relative Position Properties (§7.12) | |||||
relative-position | Extended | §7.12.1 | no | no | |
Area Alignment Properties (§7.13) | |||||
alignment-adjust | Basic | §7.13.1 | no | yes | |
alignment-baseline | Basic | §7.13.2 | no | yes | |
baseline-shift | Basic | §7.13.3 | partial | yes |
|
display-align | Extended | §7.13.4 | partial | partial |
|
dominant-baseline | Basic | §7.13.5 | no | yes | |
relative-align | Extended | §7.13.6 | no | no | |
Area Dimension Properties (§7.14) | |||||
block-progression-dimension | Basic | §7.14.1 | no | yes | |
content-height | Extended | §7.14.2 | no | yes | |
content-width | Extended | §7.14.3 | no | yes | |
height | Basic | §7.14.4 | yes | yes | |
inline-progression-dimension | Basic | §7.14.5 | no | yes | |
max-height | Complete | §7.14.6 | no | no | |
max-width | Complete | §7.14.7 | no | no | |
min-height | Complete | §7.14.8 | no | no | |
min-width | Complete | §7.14.9 | no | no | |
scaling | Extended | §7.14.10 | no | yes | |
scaling-method | Extended | §7.14.11 | no | no | |
width | Basic | §7.14.12 | yes | yes | |
Block and Line-related Properties (§7.15) | |||||
hyphenation-keep | Extended | §7.15.1 | no | no | |
hyphenation-ladder-count | Extended | §7.15.2 | no | no | |
last-line-end-indent | Extended | §7.15.3 | no | no | |
line-height | Basic | §7.15.4 | yes | yes | |
line-height-shift-adjustment | Extended | §7.15.5 | no | no | |
line-stacking-strategy | Basic | §7.15.6 | no | partial |
|
linefeed-treatment | Extended | §7.15.7 | no | partial |
|
white-space-treatment | Extended | §7.15.8 | no | partial |
|
text-align | Basic | §7.15.9 | partial | partial |
|
text-align-last | Extended | §7.15.10 | partial | partial |
|
text-indent | Basic | §7.15.11 | yes | yes | |
white-space-collapse | Extended | §7.15.12 | yes | yes | |
wrap-option | Basic | §7.15.13 | yes | partial |
|
Character Properties (§7.16) | |||||
character | Basic | §7.16.1 | yes | yes | |
letter-spacing | Extended | §7.16.2 | yes | yes | |
suppress-at-line-break | Extended | §7.16.3 | no | no | |
text-decoration | Extended | §7.16.4 | yes | yes | |
text-shadow | Extended | §7.16.5 | no | no | |
text-transform | Extended | §7.16.6 | no | yes | |
treat-as-word-space | Extended | §7.16.7 | no | no | |
word-spacing | Extended | §7.16.8 | no | yes | |
Color-related Properties (§7.17) | |||||
color | Basic | §7.17.1 | yes | yes | |
color-profile-name | Extended | §7.17.2 | no | no | |
rendering-intent | Extended | §7.17.3 | no | no | |
Float-related Properties (§7.18) | |||||
clear | Extended | §7.18.1 | no | no | |
float | Extended | §7.18.2 | no | no | |
intrusion-displace | Extended | §7.18.3 | no | no | |
Keeps and Breaks Properties (§7.19) | |||||
break-after | Basic | §7.19.1 | yes | yes | |
break-before | Basic | §7.19.2 | yes | yes | |
keep-together | Extended | §7.19.3 | partial | partial |
|
keep-with-next | Basic | §7.19.4 | partial | partial |
|
keep-with-previous | Basic | §7.19.5 | partial | partial |
|
orphans | Basic | §7.19.6 | no | yes | |
widows | Basic | §7.19.7 | no | yes | |
Layout-related Properties (§7.20) | |||||
clip | Extended | §7.20.1 | no | no | |
overflow | Basic | §7.20.2 | no | yes | |
reference-orientation | Extended | §7.20.3 | no | yes |
|
span | Extended | §7.20.4 | yes | yes | |
Leader and Rule Properties (§7.21) | |||||
leader-alignment | Extended | §7.21.1 | partial | no |
|
leader-pattern | Basic | §7.21.2 | partial | yes |
|
leader-pattern-width | Extended | §7.21.3 | yes | yes | |
leader-length | Basic | §7.21.4 | partial | yes |
|
rule-style | Basic | §7.21.5 | yes | yes | |
rule-thickness | Basic | §7.21.6 | yes | yes | |
Properties for Dynamic Effects Formatting Objects (§7.22) | |||||
active-state | Extended | §7.22.1 | no | no | |
auto-restore | Extended | §7.22.2 | no | no | |
case-name | Extended | §7.22.3 | no | no | |
case-title | Extended | §7.22.4 | no | no | |
destination-placement-offset | Extended | §7.22.5 | no | no | |
external-destination | Basic | §7.22.6 | yes | yes | |
indicate-destination | Extended | §7.22.7 | no | no | |
internal-destination | Extended | §7.22.8 | yes | yes | |
show-destination | Extended | §7.22.9 | no | no | |
starting-state | Extended | §7.22.10 | no | no | |
switch-to | Extended | §7.22.11 | no | no | |
target-presentation-context | Extended | §7.22.12 | no | no | |
target-processing-context | Extended | §7.22.13 | no | no | |
target-stylesheet | Extended | §7.22.14 | no | no | |
Properties for Markers (§7.23) | |||||
marker-class-name | Extended | §7.23.1 | no | yes | |
retrieve-class-name | Extended | §7.23.2 | no | yes | |
retrieve-position | Extended | §7.23.3 | no | yes | |
retrieve-boundary | Extended | §7.23.4 | no | yes | |
Properties for Number to String Conversion (§7.24) | |||||
format | Basic | §7.24.1 | no | yes | |
grouping-separator | Extended | §7.24.2 | no | no | |
grouping-size | Extended | §7.24.3 | no | no | |
letter-value | Basic | §7.24.4 | no | no | |
Pagination and Layout Properties (§7.25) | |||||
blank-or-not-blank | Extended | §7.25.1 | yes | yes | |
column-count | Extended | §7.25.2 | yes | yes | |
column-gap | Extended | §7.25.3 | yes | yes | |
extent | Extended | §7.25.4 | yes | yes | |
flow-name | Basic | §7.25.5 | yes | yes | |
force-page-count | Extended | §7.25.6 | no | no | |
initial-page-number | Basic | §7.25.7 | yes | yes | |
master-name | Basic | §7.25.8 | yes | yes | |
master-reference | Basic | §7.25.9 | yes | yes | |
maximum-repeats | Extended | §7.25.10 | yes | yes | |
media-usage | Extended | §7.25.11 | no | no | |
odd-or-even | Extended | §7.25.12 | yes | yes | |
page-height | Basic | §7.25.13 | yes | yes | |
page-position | Extended | §7.25.14 | partial | partial |
|
page-width | Basic | §7.25.15 | yes | yes | |
precedence | Extended | §7.25.16 | no | yes | |
region-name | Basic | §7.25.17 | yes | yes | |
Table Properties (§7.26) | |||||
border-after-precedence | Basic | §7.26.1 | no | no | |
border-before-precedence | Basic | §7.26.2 | no | no | |
border-collapse | Extended | §7.26.3 | partial | partial |
|
border-end-precedence | Basic | §7.26.4 | no | no | |
border-separation | Extended | §7.26.5 | no | yes | |
border-start-precedence | Basic | §7.26.6 | no | no | |
caption-side | Complete | §7.26.7 | no | no | |
column-number | Basic | §7.26.8 | no | yes | |
column-width | Basic | §7.26.9 | partial | yes |
|
empty-cells | Extended | §7.26.10 | no | yes | |
ends-row | Extended | §7.26.11 | no | yes | |
number-columns-repeated | Basic | §7.26.12 | no | yes | |
number-columns-spanned | Basic | §7.26.13 | yes | yes | |
number-rows-spanned | Basic | §7.26.14 | yes | yes | |
starts-row | Extended | §7.26.15 | no | yes | |
table-layout | Extended | §7.26.16 | no | no | |
table-omit-footer-at-break | Extended | §7.26.17 | yes | yes | |
table-omit-header-at-break | Extended | §7.26.18 | yes | yes | |
Writing-mode-related Properties (§7.27) | |||||
direction | Basic | §7.27.1 | no | no | |
glyph-orientation-horizontal | Extended | §7.27.2 | no | no | |
glyph-orientation-vertical | Extended | §7.27.3 | no | no | |
text-altitude | Extended | §7.27.4 | no | no | |
text-depth | Extended | §7.27.5 | no | no | |
unicode-bidi | Extended | §7.27.6 | no | no | |
writing-mode | Basic | §7.27.7 | no | no | |
Miscellaneous Properties (§7.28) | |||||
content-type | Extended | §7.28.1 | no | no | |
id | Basic | §7.28.2 | yes | partial |
|
provisional-label-separation | Basic | §7.28.3 | yes | yes | |
provisional-distance-between-starts | Basic | §7.28.4 | yes | yes | |
ref-id | Extended | §7.28.5 | yes | yes | |
score-spaces | Extended | §7.28.6 | no | no | |
src | Basic | §7.28.7 | yes | yes | |
visibility | Extended | §7.28.8 | no | no | |
z-index | Extended | §7.28.9 | no | no | |
Shorthand Properties (§7.29) | |||||
background | Complete | §7.29.1 | no | no | |
background-position | Complete | §7.29.2 | no | no | |
border | Complete | §7.29.3 | no | yes | |
border-bottom | Complete | §7.29.4 | yes | yes | |
border-color | Complete | §7.29.5 | partial | yes |
|
border-left | Complete | §7.29.6 | yes | yes | |
border-right | Complete | §7.29.7 | yes | yes | |
border-style | Complete | §7.29.8 | partial | yes |
|
border-spacing | Complete | §7.29.9 | no | yes | |
border-top | Complete | §7.29.10 | yes | yes | |
border-width | Complete | §7.29.11 | yes | yes | |
cue | Complete | §7.29.12 | na | na | |
font | Complete | §7.29.13 | no | no | |
margin | Complete | §7.29.14 | partial | yes |
|
padding | Complete | §7.29.15 | partial | yes |
|
page-break-after | Complete | §7.29.16 | no | no | |
page-break-before | Complete | §7.29.17 | no | no | |
page-break-inside | Complete | §7.29.18 | no | no | |
pause | Complete | §7.29.19 | na | na | |
position | Complete | §7.29.20 | partial | yes |
|
size | Complete | §7.29.21 | no | no | |
vertical-align | Complete | §7.29.22 | partial | yes |
|
white-space | Complete | §7.29.23 | no | no | |
xml:lang | Complete | §7.29.24 | no | no |