W3C XSL-FO 1.0 Standard

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.

XSL-FO Object Support

XSL-FO Property Support

XSL-FO Core Function Library Support

XSL-FO Object Support Table (§6)

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 (ancient) 0.94 (stable) 0.95 (stable) develop- ment
Declarations and Pagination and Layout Formatting Objects (§6.4)
root Basic §6.4.2 yes yes yes yes  
declarations Basic §6.4.3 no yes yes yes  
color-profile Extended §6.4.4 no yes yes yes  
page-sequence Basic §6.4.5 yes yes yes yes  
layout-master-set Basic §6.4.6 yes yes yes yes  
page-sequence-master Basic §6.4.7 yes yes yes yes  
single-page-master-reference Basic §6.4.8 yes yes yes yes  
repeatable-page-master-reference Basic §6.4.9 yes yes yes yes  
repeatable-page-master-alternatives Extended §6.4.10 yes yes yes yes  
conditional-page-master-reference Extended §6.4.11 yes yes yes yes  
simple-page-master Basic §6.4.12 yes partial partial partial
  • [0.94 and later] The page width may not change among pages of the same page-sequence unless a forced break is inserted.
region-body Basic §6.4.13 yes yes yes yes
region-before Extended §6.4.14 yes yes yes yes  
region-after Extended §6.4.15 yes yes yes yes  
region-start Extended §6.4.16 yes yes yes yes  
region-end Extended §6.4.17 yes yes yes yes  
flow Basic §6.4.18 yes yes yes yes  
static-content Extended §6.4.19 yes yes yes yes  
title Extended §6.4.20 no yes yes yes  
Block Formatting Objects (§6.5)
block Basic §6.5.2 yes yes yes yes  
block-container Extended §6.5.3 partial partial partial partial
  • [0.20.5] Only works as direct child of fo:flow.
  • [0.20.5] For absolute positioning, use 'position="absolute"' (as 'absolute-position="absolute"' is not implemented), and specify all four of "left", "top", "width" and "height"
  • [0.94 and later] No known restrictions.
Inline Formatting Objects (§6.6)
bidi-override Extended §6.6.2 no no no no  
character Basic §6.6.3 yes yes yes yes  
initial-property-set Extended §6.6.4 no no no no  
external-graphic Basic §6.6.5 yes yes yes yes  
instream-foreign-object Extended §6.6.6 yes yes yes yes
  • Built-in support for SVG only, additional namespaces through optional extensions.
inline Basic §6.6.7 yes yes yes yes  
inline-container Extended §6.6.8 no no no no  
leader Basic §6.6.9 partial yes yes yes  
page-number Basic §6.6.10 yes yes yes yes  
page-number-citation Extended §6.6.11 partial partial partial partial
  • [0.20.5] Only works for table of contents without any problems. The case where the page number doesn't fit on a line isn't handled, and any text on the same line and after the page-number might not appear exactly where you want it to.
  • [0.94 and later] After the page number is known, no relayout is performed. The appearance may be suboptimal depending on the use case.
Table Formatting Objects (§6.7)
table-and-caption Basic §6.7.2 no no no no  
table Basic §6.7.3 partial partial partial partial
  • [0.20.5] Only border-collapse="separate"
  • [All] No support for auto layout yet
table-column Basic §6.7.4 partial yes yes yes
  • [0.20.5] You must explicitly specify column widths.
table-caption Extended §6.7.5 no no no no  
table-header Basic §6.7.6 yes yes yes yes  
table-footer Extended §6.7.7 yes yes yes yes  
table-body Basic §6.7.8 yes yes yes yes  
table-row Basic §6.7.9 yes yes yes yes  
table-cell Basic §6.7.10 partial yes yes yes  
List Formatting Objects (§6.8)
list-block Basic §6.8.2 yes yes yes yes  
list-item Basic §6.8.3 yes yes yes yes  
list-item-body Basic §6.8.4 yes yes yes yes  
list-item-label Extended §6.8.5 yes yes yes yes  
Link and Multi Formatting Objects (§6.9)
basic-link Extended §6.9.2 yes yes yes yes
  • both internal and external supported
multi-switch Extended §6.9.3 no no no no  
multi-case Basic §6.9.4 no no no no  
multi-toggle Extended §6.9.5 no no no no  
multi-properties Extended §6.9.6 no no no no  
multi-property-set Extended §6.9.7 no no 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 yes yes
  • [0.20.5] Uses the proprietary fox:outline extension.
bookmark (since XSL 1.1) Extended §6.11.2 in XSL 1.1 WD no yes yes yes
  • [0.20.5] Uses the proprietary fox:outline extension.
bookmark-title (since XSL 1.1) Extended §6.11.3 in XSL 1.1 WD no partial partial partial
  • [0.20.5] Uses the proprietary fox:outline extension.
  • [0.94 and later] color, font-style and font-weight are not supported, yet.
Out-of-line Formatting Objects (§6.10)
float Extended §6.10.2 no no no no  
footnote Extended §6.10.3 yes partial partial partial
  • [0.20.5] Footnotes sometimes overlap with the main content
  • [0.94 and later] Restrictions with multi-column documents.
footnote-body Extended §6.10.4 yes yes yes yes  
Other Formatting Objects (§6.11)
wrapper Basic §6.11.2 yes partial partial yes
  • [0.95] Only works as expected with inline-level content.
marker Extended §6.11.3 yes yes yes yes  
retrieve-marker Extended §6.11.4 yes yes yes yes  

XSL-FO Property Support Table (§7)

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 (ancient) 0.94 (stable) 0.95 (stable) develop- ment
Common Accessibility Properties (§7.4)
source-document Basic §7.4.1 na na na na  
role Basic §7.4.2 na na na na  
Common Absolute Position Properties (§7.5)
absolute-position Complete §7.5.1 no yes yes yes
  • [0.20.5] Use shorthand position="absolute" as a workaround.
  • [0.94 and later] No restrictions. The 0.20.5 work-around is not supported.
top Extended §7.5.2 yes yes yes yes  
right Extended §7.5.3 yes yes yes yes  
bottom Extended §7.5.4 yes yes yes yes  
left Extended §7.5.5 yes yes yes yes  
Common Aural Properties (§7.6)
azimuth Basic §7.6.1 na na na na  
cue-after Basic §7.6.2 na na na na  
cue-before Basic §7.6.3 na na na na  
elevation Basic §7.6.4 na na na na  
pause-after Basic §7.6.5 na na na na  
pause-before Basic §7.6.6 na na na na  
pitch Basic §7.6.7 na na na na  
pitch-range Basic §7.6.8 na na na na  
play-during Basic §7.6.9 na na na na  
richness Basic §7.6.10 na na na na  
speak Basic §7.6.11 na na na na  
speak-header Basic §7.6.12 na na na na  
speak-numeral Basic §7.6.13 na na na na  
speak-punctuation Basic §7.6.14 na na na na  
speech-rate Basic §7.6.15 na na na na  
stress Basic §7.6.16 na na na na  
voice-family Basic §7.6.17 na na na na  
volume Basic §7.6.18 na na na na  
Common Border, Padding, and Background Properties (§7.7)
background-attachment Extended §7.7.1 no no no no  
background-color Basic §7.7.2 yes partial yes yes
  • [0.94] not yet implemented for table-column, table-body, table-header and table-footer.
background-image Extended §7.7.3 yes partial yes yes
  • [0.94] not yet implemented for table-column, table-body, table-header and table-footer.
background-repeat Extended §7.7.4 no yes yes yes  
background-position-horizontal Extended §7.7.5 no partial partial partial [0.94 and later] Ignored when background-repeat set to "repeat" or "repeat-x"
background-position-vertical Extended §7.7.6 no partial partial partial [0.94 and later] Ignored when background-repeat set to "repeat" or "repeat-y"
border-before-color Basic §7.7.7 yes yes yes yes  
border-before-style Basic §7.7.8 partial yes yes yes
  • [0.20.5] only "solid" works
border-before-width Basic §7.7.9 yes partial yes yes
  • [0.94] .conditionality not supported on fo:table-cell
border-after-color Basic §7.7.10 yes yes yes yes  
border-after-style Basic §7.7.11 partial yes yes yes
  • [0.20.5] only "solid" works
border-after-width Basic §7.7.12 yes partial yes yes
  • [0.94] .conditionality not supported on fo:table-cell
border-start-color Basic §7.7.13 yes yes yes yes  
border-start-style Basic §7.7.14 partial yes yes yes
  • [0.20.5] only "solid" works
border-start-width Basic §7.7.15 yes yes yes yes  
border-end-color Basic §7.7.16 yes yes yes yes  
border-end-style Basic §7.7.17 partial yes yes yes
  • [0.20.5] only "solid" works
border-end-width Basic §7.7.18 yes yes yes yes  
border-top-color Basic §7.7.19 yes yes yes yes  
border-top-style Basic §7.7.20 partial yes yes yes
  • [0.20.5] only "solid" works
border-top-width Basic §7.7.21 yes yes yes yes  
border-bottom-color Basic §7.7.22 yes yes yes yes  
border-bottom-style Basic §7.7.23 partial yes yes yes
  • [0.20.5] only "solid" works
border-bottom-width Basic §7.7.24 yes yes yes yes  
border-left-color Basic §7.7.25 yes yes yes yes  
border-left-style Basic §7.7.26 partial yes yes yes
  • [0.20.5] only "solid" works
border-left-width Basic §7.7.27 yes yes yes yes  
border-right-color Basic §7.7.28 yes yes yes yes  
border-right-style Basic §7.7.29 partial yes yes yes
  • [0.20.5] only "solid" works
border-right-width Basic §7.7.30 yes yes yes yes  
padding-before Basic §7.7.31 partial yes yes yes
  • [0.20.5] only one value allowed
  • [0.20.5] only implemented for blocks
  • [0.20.5] can't be used to make extra space (use indents + spaces instead)
  • [0.20.5] can be used to control how much the background-color extends beyond the content rectangle
padding-after Basic §7.7.32 partial yes yes yes
  • [0.20.5] same limitations as padding-before
padding-start Basic §7.7.33 partial yes yes yes
  • [0.20.5] same limitations as padding-before
padding-end Basic §7.7.34 partial yes yes yes
  • [0.20.5] same limitations as padding-before
padding-top Basic §7.7.35 partial yes yes yes
  • [0.20.5] same limitations as padding-before
padding-bottom Basic §7.7.36 partial yes yes yes
  • [0.20.5] same limitations as padding-before
padding-left Basic §7.7.37 partial yes yes yes
  • [0.20.5] same limitations as padding-before
padding-right Basic §7.7.38 partial yes yes yes
  • [0.20.5] same limitations as padding-before
Common Font Properties (§7.8)
font-family Basic §7.8.2 partial partial partial partial
  • [0.20.5] font-family lists are not supported, use a single font-family name
  • [0.94 and later] font-family lists are allowed but glyph based font selection is not supported
font-selection-strategy Complete §7.8.3 no no no no  
font-size Basic §7.8.4 partial yes yes yes
  • [0.20.5] "smaller" and "larger" not implemented
font-stretch Extended §7.8.5 no no no no  
font-size-adjust Extended §7.8.6 no no no no  
font-style Basic §7.8.7 partial yes yes yes
  • [0.20.5] "normal" is not supported
font-variant Basic §7.8.8 yes no no no  
font-weight Basic §7.8.9 partial partial partial partial
  • [0.20.5] "normal", "bolder" and "lighter" are not supported
  • [0.94 and later] TODO <relative> font weights
Common Hyphenation Properties (§7.9)
country Extended §7.9.1 yes yes yes yes
  • [0.94 and earlier] Only used for controlling hyphenation.
  • [trunk] For PDF output: Only 2-letter codes from ISO 3166 are supported properly to identify the natural language!
language Extended §7.9.2 yes yes yes yes
  • [0.94 and earlier] Only used for controlling hyphenation.
  • [trunk] For PDF output: Only 2-letter codes from ISO 639 are supported properly to identify the natural language!
script Extended §7.9.3 no no no no  
hyphenate Extended §7.9.4 yes yes yes yes  
hyphenation-character Extended §7.9.5 yes yes yes yes  
hyphenation-push-character-count Extended §7.9.6 yes yes yes yes  
hyphenation-remain-character-count Extended §7.9.7 yes yes yes yes  
Common Margin Properties - Block (§7.10)
margin-top Basic §7.10.1 partial yes yes yes
  • [0.20.5] only on pages and regions
margin-bottom Basic §7.10.2 partial yes yes yes
  • [0.20.5] only on pages and regions
margin-left Basic §7.10.3 partial yes yes yes
  • [0.20.5] only on pages and regions
margin-right Basic §7.10.4 partial yes yes yes
  • [0.20.5] only on pages and regions
space-before Basic §7.10.5 partial partial partial partial
  • [0.20.5] space-before.optimum supported
  • [0.94 and later] Space adjustment may not fully work everywhere, yet.
space-after Basic §7.10.6 partial partial partial partial
  • [0.20.5] space-after.optimum supported
  • [0.94 and later] Space adjustment may not fully work everywhere, yet.
start-indent Basic §7.10.7 yes yes yes yes  
end-indent Basic §7.10.8 yes yes yes yes  
Common Margin Properties - Inline (§7.11)
space-end Basic §7.11.1 no no no no  
space-start Basic §7.11.2 no no no no  
Common Relative Position Properties (§7.12)
relative-position Extended §7.12.1 no no no no  
Area Alignment Properties (§7.13)
alignment-adjust Basic §7.13.1 no yes yes yes  
alignment-baseline Basic §7.13.2 no yes yes yes  
baseline-shift Basic §7.13.3 partial yes yes yes
  • [0.20.5] Only values "super" and "sub" have been implemented.
display-align Extended §7.13.4 partial partial partial partial
  • [0.20.5] Implemented only for table-cell and block-container.
  • [0.20.5] For table-cell, the "height" attribute must be set for the parent table-row; setting the height of the table or the table-cell results in vertical centering having no effect.
  • [0.94 and later] TODO Check e-g, i-f-o.
dominant-baseline Basic §7.13.5 no yes yes yes  
relative-align Extended §7.13.6 no no no no  
Area Dimension Properties (§7.14)
block-progression-dimension Basic §7.14.1 no yes yes yes  
content-height Extended §7.14.2 no yes yes yes  
content-width Extended §7.14.3 no yes yes yes  
height Basic §7.14.4 yes yes yes yes  
inline-progression-dimension Basic §7.14.5 no yes yes yes  
max-height Complete §7.14.6 no no no yes  
max-width Complete §7.14.7 no no no yes  
min-height Complete §7.14.8 no no no yes  
min-width Complete §7.14.9 no no no yes  
scaling Extended §7.14.10 no yes yes yes  
scaling-method Extended §7.14.11 no no no no  
width Basic §7.14.12 yes yes yes yes  
Block and Line-related Properties (§7.15)
hyphenation-keep Extended §7.15.1 no no no no  
hyphenation-ladder-count Extended §7.15.2 no yes yes yes  
last-line-end-indent Extended §7.15.3 no yes yes yes  
line-height Basic §7.15.4 yes yes yes yes  
line-height-shift-adjustment Extended §7.15.5 no yes yes yes  
line-stacking-strategy Basic §7.15.6 no partial partial partial
  • [0.94 and later] value "line-height" not supported
linefeed-treatment Extended §7.15.7 no yes yes yes  
white-space-treatment Extended §7.15.8 no partial partial partial
  • [0.94 and later] inline elements may interfere with correct handling of this property in some cases
text-align Basic §7.15.9 partial partial partial partial
  • Only start, end, center and justify are supported
text-align-last Extended §7.15.10 partial partial partial partial
  • Only start, end, center and justify are supported
text-indent Basic §7.15.11 yes yes yes yes  
white-space-collapse Extended §7.15.12 yes yes yes yes  
wrap-option Basic §7.15.13 yes partial partial partial
  • [0.94 and later] Only supported on fo:block.
Character Properties (§7.16)
character Basic §7.16.1 yes yes yes yes  
letter-spacing Extended §7.16.2 yes yes yes yes  
suppress-at-line-break Extended §7.16.3 no no no no  
text-decoration Extended §7.16.4 yes yes yes yes  
text-shadow Extended §7.16.5 no no no no  
text-transform Extended §7.16.6 no yes yes yes  
treat-as-word-space Extended §7.16.7 no no no no  
word-spacing Extended §7.16.8 no yes yes yes  
Color-related Properties (§7.17)
color Basic §7.17.1 yes yes yes yes  
color-profile-name Extended §7.17.2 no no no no  
rendering-intent Extended §7.17.3 no no no no  
Float-related Properties (§7.18)
clear Extended §7.18.1 no no no no  
float Extended §7.18.2 no no no no  
intrusion-displace Extended §7.18.3 no no no no  
Keeps and Breaks Properties (§7.19)
break-after Basic §7.19.1 yes partial yes yes
  • [0.94] Doesn't work on the last row of a table
break-before Basic §7.19.2 yes partial yes yes
  • [0.94] Doesn't work on the first row of a table
  • [0.94] When set on the first child of an fo:table-cell, the border-before is still painted on the previous page
keep-together Extended §7.19.3 partial partial partial partial
  • [0.20.5] works only in table rows
  • [0.95 and earlier] <integer> values are not supported.
  • [Trunk] minimal support for <integer> value.
keep-with-next Basic §7.19.4 partial partial partial partial
  • [0.20.5] works only in table rows
  • [0.94 and later] works on all implemented block-level FOs, but not on inline-level FOs.
  • [0.95 and earlier] <integer> values are not supported.
  • [Trunk] minimal support for <integer> value.
keep-with-previous Basic §7.19.5 partial partial partial partial
  • [0.20.5] works only in table rows
  • [0.94] works on all implemented FOs, except list- and table-related and inline-level FOs.
  • [0.95] works on all implemented FOs, except list- and inline-level FOs.
  • [Trunk] does not work on inline-level FOs.
  • [0.95 and earlier] <integer> values are not supported.
  • [Trunk] minimal support for <integer> value.
orphans Basic §7.19.6 no yes yes yes  
widows Basic §7.19.7 no yes yes yes  
Layout-related Properties (§7.20)
clip Extended §7.20.1 no no no no  
overflow Basic §7.20.2 no yes yes yes  
reference-orientation Extended §7.20.3 no yes yes yes
  • [0.20.5] Workaround for page-orientation (portrait vs. landscape) is to swap the page-width and page-height properties.
  • [0.20.5] Workaround for block-container is to use SVG.
span Extended §7.20.4 yes yes yes yes  
Leader and Rule Properties (§7.21)
leader-alignment Extended §7.21.1 partial no no no
  • [0.20.5] not value "page"
  • [0.94 and later] Not supported
leader-pattern Basic §7.21.2 partial yes yes yes
  • [0.20.5] not value "use-content"
  • [0.94 and later] Value "use-content" does not work in all circumstances.
leader-pattern-width Extended §7.21.3 yes yes yes yes  
leader-length Basic §7.21.4 partial yes yes yes
  • [0.20.5] leader-length.minimum is not used at all
rule-style Basic §7.21.5 yes yes yes yes  
rule-thickness Basic §7.21.6 yes yes yes yes  
Properties for Dynamic Effects Formatting Objects (§7.22)
active-state Extended §7.22.1 no no no no  
auto-restore Extended §7.22.2 no no no no  
case-name Extended §7.22.3 no no no no  
case-title Extended §7.22.4 no no no no  
destination-placement-offset Extended §7.22.5 no no no no  
external-destination Basic §7.22.6 yes yes yes yes  
indicate-destination Extended §7.22.7 no no no no  
internal-destination Extended §7.22.8 yes yes yes yes  
show-destination Extended §7.22.9 no no no partial
  • [FOP Trunk] only has effect in PDF output, for external PDF destinations (links pointing to destinations in another PDF), and only works reliably when the PDF is viewed in a standalone PDF viewer.

    Adobe's browser plugin, for example, ignores the /NewWindow flag.

starting-state Extended §7.22.10 no partial partial partial
  • [0.94 and later] support for starting-state on fo:bookmark
switch-to Extended §7.22.11 no no no no  
target-presentation-context Extended §7.22.12 no no no no  
target-processing-context Extended §7.22.13 no no no no  
target-stylesheet Extended §7.22.14 no no no no  
Properties for Markers (§7.23)
marker-class-name Extended §7.23.1 no yes yes yes  
retrieve-class-name Extended §7.23.2 no yes yes yes  
retrieve-position Extended §7.23.3 no yes yes yes  
retrieve-boundary Extended §7.23.4 no yes yes yes  
Properties for Number to String Conversion (§7.24)
format Basic §7.24.1 no yes yes yes  
grouping-separator Extended §7.24.2 no no no no  
grouping-size Extended §7.24.3 no no no no  
letter-value Basic §7.24.4 no no no no  
Pagination and Layout Properties (§7.25)
blank-or-not-blank Extended §7.25.1 yes yes yes yes  
column-count Extended §7.25.2 yes yes yes yes  
column-gap Extended §7.25.3 yes yes yes yes  
extent Extended §7.25.4 yes yes yes yes  
flow-name Basic §7.25.5 yes yes yes yes  
force-page-count Extended §7.25.6 no yes yes yes  
initial-page-number Basic §7.25.7 yes yes yes yes  
master-name Basic §7.25.8 yes yes yes yes  
master-reference Basic §7.25.9 yes yes yes yes  
maximum-repeats Extended §7.25.10 yes yes yes yes  
media-usage Extended §7.25.11 no no no no  
odd-or-even Extended §7.25.12 yes yes yes yes  
page-height Basic §7.25.13 yes yes yes yes  
page-position Extended §7.25.14 partial yes yes yes
  • [0.20.5] "last" isn't implemented!
page-width Basic §7.25.15 yes yes yes yes  
precedence Extended §7.25.16 no yes yes yes  
region-name Basic §7.25.17 yes yes yes yes  
Table Properties (§7.26)
border-after-precedence Basic §7.26.1 no no no no  
border-before-precedence Basic §7.26.2 no no no no  
border-collapse Extended §7.26.3 partial yes yes yes
  • [0.94 and later] Some small limitations
border-end-precedence Basic §7.26.4 no no no no  
border-separation Extended §7.26.5 no yes yes yes  
border-start-precedence Basic §7.26.6 no no no no  
caption-side Complete §7.26.7 no no no no  
column-number Basic §7.26.8 no yes yes yes  
column-width Basic §7.26.9 partial yes yes yes
  • [0.20.5] "percentage" not implemented. Workaround is to use the XSL-FO "proportional-column-width" function.
empty-cells Extended §7.26.10 no no no no  
ends-row Extended §7.26.11 no yes yes yes  
number-columns-repeated Basic §7.26.12 no yes yes yes  
number-columns-spanned Basic §7.26.13 yes yes yes yes  
number-rows-spanned Basic §7.26.14 yes yes yes yes  
starts-row Extended §7.26.15 no yes yes yes  
table-layout Extended §7.26.16 no no no no  
table-omit-footer-at-break Extended §7.26.17 yes yes yes yes  
table-omit-header-at-break Extended §7.26.18 yes yes yes yes  
Writing-mode-related Properties (§7.27)
direction Basic §7.27.1 no no no no  
glyph-orientation-horizontal Extended §7.27.2 no no no no  
glyph-orientation-vertical Extended §7.27.3 no no no no  
text-altitude Extended §7.27.4 no no no no  
text-depth Extended §7.27.5 no no no no  
unicode-bidi Extended §7.27.6 no no no no  
writing-mode Basic §7.27.7 no no no no  
Miscellaneous Properties (§7.28)
content-type Extended §7.28.1 no no no no  
id Basic §7.28.2 yes partial partial partial
  • [0.94 and later] IDs on table-header, table-footer, table-body, table-row, table-and-caption, table-caption, inline-container and bidi-override are not available, yet.
provisional-label-separation Basic §7.28.3 yes yes yes yes  
provisional-distance-between-starts Basic §7.28.4 yes yes yes yes  
ref-id Extended §7.28.5 yes yes yes yes  
score-spaces Extended §7.28.6 no no no no  
src Basic §7.28.7 yes yes yes yes  
visibility Extended §7.28.8 no no no no  
z-index Extended §7.28.9 no no no no  
Shorthand Properties (§7.29)
background Complete §7.29.1 no no no no  
background-position Complete §7.29.2 no yes yes yes  
border Complete §7.29.3 no yes yes yes  
border-bottom Complete §7.29.4 yes yes yes yes  
border-color Complete §7.29.5 partial yes yes yes
  • [0.20.5] only one value allowed
border-left Complete §7.29.6 yes yes yes yes  
border-right Complete §7.29.7 yes yes yes yes  
border-style Complete §7.29.8 partial yes yes yes
  • [0.20.5] only "solid" works
border-spacing Complete §7.29.9 no yes yes yes  
border-top Complete §7.29.10 yes yes yes yes  
border-width Complete §7.29.11 yes yes yes yes  
cue Complete §7.29.12 na na na na  
font Complete §7.29.13 no partial partial partial
  • [0.94 and later] Enum values other than "inherit" not yet supported.
margin Complete §7.29.14 partial yes yes yes
  • [0.20.5] only on pages and regions
padding Complete §7.29.15 partial yes yes yes
  • [0.20.5] only one value allowed
  • [0.20.5] only implemented for blocks
  • [0.20.5] can't be used to make extra space (use indents + spaces instead)
  • [0.20.5] can be used to control how much the background-color extends beyond the content rectangle
page-break-after Complete §7.29.16 no yes yes yes  
page-break-before Complete §7.29.17 no yes yes yes  
page-break-inside Complete §7.29.18 no yes yes yes  
pause Complete §7.29.19 na na na na  
position Complete §7.29.20 partial yes yes yes
  • [0.20.5] "inherit" not handled
size Complete §7.29.21 no no no no  
vertical-align Complete §7.29.22 partial partial partial partial
  • [0.20.5] Only works as a shorthand for baseline-shift property.
  • [0.94 and later] Percentages are not supported, yet.
white-space Complete §7.29.23 no yes yes yes  
xml:lang Complete §7.29.24 no yes yes yes [0.95] Very basic parsing; no validation of the specified value.

XSL-FO Core Function Library Support Table (§5.10)

The following is a summary of FOP's current support for the XSL-FO Core Function Library.

Function Name XSL-FO Conformance Level Citation Support in FOP Comments
0.20.5 (ancient) 0.94 (stable) 0.95 (stable) develop- ment
Number Functions (§5.10.1)
floor Basic §5.10.1 yes yes yes yes  
ceiling Basic §5.10.1 yes yes yes yes  
round Basic §5.10.1 yes yes yes yes  
min Basic §5.10.1 yes yes yes yes  
max Basic §5.10.1 yes yes yes yes  
abs Basic §5.10.1 yes yes yes yes  
Color Functions (§5.10.2)
rgb Basic §5.10.2 yes yes yes yes  
rgb-icc Basic §5.10.2 no yes yes yes  
system-color Basic §5.10.2 no yes yes yes  
Font Functions (§5.10.3)
system-font Basic §5.10.3 no no no no  
Property Value Functions (§5.10.4)
inherited-property-value Basic §5.10.4 yes yes yes yes  
label-end Basic §5.10.4 yes yes yes yes  
body-start Basic §5.10.4 yes yes yes yes  
from-parent Basic §5.10.4 yes yes yes yes  
from-nearest-specified-value Basic §5.10.4 yes yes yes yes  
from-table-column Basic §5.10.4 no yes yes yes  
proportional-column-width Basic §5.10.4 yes yes yes yes  
merge-property-values Basic §5.10.4 no no no no