W3C XSL-FO 1.1 Standard

One of FOP's design goals is conformance to the W3C XSL-FO 1.1 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.

The following table shows the legend used for the tables below:

yes indicates conformance
partial indicates partial conformance
no indicates a lack of conformance
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.

Citation Object Name XSL-FO Conformance Level Support in FOP Comments
0.20.5 (ancient) 0.94 (stable) 0.95 (stable) develop- ment
§6.4 Declarations and Pagination and Layout Formatting Objects
§6.4.2 root Basic yes yes yes yes  
§6.4.3 declarations Basic no yes yes yes  
§6.4.4 color-profile Extended no yes yes yes  
§6.4.5 page-sequence Basic yes yes yes yes  
§6.4.6 page-sequence-wrapper Basic no no no no  
§6.4.7 layout-master-set Basic yes yes yes yes  
§6.4.8 page-sequence-master Basic yes yes yes yes  
§6.4.9 single-page-master-reference Basic yes yes yes yes  
§6.4.10 repeatable-page-master-reference Basic yes yes yes yes  
§6.4.11 repeatable-page-master-alternatives Extended yes yes yes yes  
§6.4.12 conditional-page-master-reference Extended yes yes yes yes  
§6.4.13 simple-page-master Basic 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.
§6.4.14 region-body Basic yes yes yes yes
§6.4.15 region-before Extended yes yes yes yes  
§6.4.16 region-after Extended yes yes yes yes  
§6.4.17 region-start Extended yes yes yes yes  
§6.4.18 region-end Extended yes yes yes yes  
§6.4.19 flow Basic yes yes yes yes  
§6.4.20 static-content Extended yes yes yes yes  
§6.4.21 title Extended no yes yes yes  
§6.4.22 flow-map Extended no no no no  
§6.4.23 flow-assignment Extended no no no no  
§6.4.24 flow-source-list Extended no no no no  
§6.4.25 flow-name-specifier Extended no no no no  
§6.4.26 flow-target-list Extended no no no no  
§6.4.27 region-name-specifier Extended no no no no  
§6.5 Block Formatting Objects
§6.5.2 block Basic yes yes yes yes  
§6.5.3 block-container Extended 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.
§6.6 Inline Formatting Objects
§6.6.2 bidi-override Extended no no no no  
§6.6.3 character Basic yes yes yes yes  
§6.6.4 initial-property-set Extended no no no no  
§6.6.5 external-graphic Basic yes yes yes yes  
§6.6.6 instream-foreign-object Extended yes yes yes yes
  • Built-in support for SVG only, additional namespaces through optional extensions.
§6.6.7 inline Basic yes yes yes yes  
§6.6.8 inline-container Extended no no no no  
§6.6.9 leader Basic partial yes yes yes  
§6.6.10 page-number Basic yes yes yes yes  
§6.6.11 page-number-citation Extended 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.
§6.6.12 page-number-citation-last Extended no partial partial partial
  • [0.94 and 0.95] Works only for page-sequence so far.
  • [0.94 and later] After the page number is known, no relayout is performed. The appearance may be suboptimal depending on the use case.
§6.6.13 folio-prefix Extended no no no no  
§6.6.14 folio-suffix Extended no no no no  
§6.6.15 scaling-value-citation Extended no no no no  
§6.7 Table Formatting Objects
§6.7.2 table-and-caption Basic no no no no  
§6.7.3 table Basic partial partial partial partial
  • [0.20.5] Only border-collapse="separate"
  • [All] No support for auto layout yet
§6.7.4 table-column Basic partial yes yes yes
  • [0.20.5] You must explicitly specify column widths.
§6.7.5 table-caption Extended no no no no  
§6.7.6 table-header Basic yes yes yes yes  
§6.7.7 table-footer Extended yes yes yes yes  
§6.7.8 table-body Basic yes yes yes yes  
§6.7.9 table-row Basic yes yes yes yes  
§6.7.10 table-cell Basic partial yes yes yes  
§6.8 List Formatting Objects
§6.8.2 list-block Basic yes yes yes yes  
§6.8.3 list-item Basic yes yes yes yes  
§6.8.4 list-item-body Basic yes yes yes yes  
§6.8.5 list-item-label Extended yes yes yes yes  
§6.9 Link and Multi Formatting Objects
§6.9.2 basic-link Extended yes yes yes yes
  • both internal and external supported
§6.9.3 multi-switch Extended no no no no  
§6.9.4 multi-case Basic no no no no  
§6.9.5 multi-toggle Extended no no no no  
§6.9.6 multi-properties Extended no no no no  
§6.9.7 multi-property-set Extended no no no no  
§6.10 Formatting Objects for Indexing
§6.10.2 index-page-number-prefix Extended no no no no  
§6.10.3 index-page-number-suffix Extended no no no no  
§6.10.4 index-range-begin Extended no no no no  
§6.10.5 index-range-end Extended no no no no  
§6.10.6 index-key-reference Extended no no no no  
§6.10.7 index-page-citation-list Extended no no no no  
§6.10.8 index-page-citation-list-separator Extended no no no no  
§6.10.9 index-page-citation-range-separator Extended no no no no  
§6.11 Formatting Objects for Bookmarks
§6.11.1 bookmark-tree Extended no yes yes yes
  • [0.20.5] Uses the proprietary fox:outline extension.
§6.11.2 bookmark Extended no yes yes yes
  • [0.20.5] Uses the proprietary fox:outline extension.
§6.11.3 bookmark-title Extended 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.
§6.12 Out-of-line Formatting Objects
§6.12.2 float Extended no no no no  
§6.12.3 footnote Extended yes partial partial partial
  • [0.20.5] Footnotes sometimes overlap with the main content
  • [0.94 and later] Restrictions with multi-column documents.
§6.12.4 footnote-body Extended yes yes yes yes  
§6.13 Other Formatting Objects
§6.13.2 change-bar-begin Extended no no no no  
§6.13.3 change-bar-end Extended no no no no  
§6.13.4 wrapper Basic yes partial partial yes
  • [0.95] Only works as expected with inline-level content.
§6.13.5 marker Extended yes yes yes yes  
§6.13.6 retrieve-marker Extended yes yes yes yes  
§6.13.7 retrieve-table-marker Extended no no no no
  • [0.20.5] Uses the proprietary fox:outline extension to mimic table continued

XSL-FO Property Support Table (§7)

The following is a summary of FOP's current support for the standard XSL-FO properties.

Citation Property Name XSL-FO Conformance Level Support in FOP Comments
0.20.5 (ancient) 0.94 (stable) 0.95 (stable) develop- ment
§7.5 Common Accessibility Properties
§7.5.1 source-document Basic no no no no  
§7.5.2 role Basic no no no no  
§7.6 Common Absolute Position Properties
§7.6.1 absolute-position Complete 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.
§7.6.2 top Extended yes yes yes yes  
§7.6.3 right Extended yes yes yes yes  
§7.6.4 bottom Extended yes yes yes yes  
§7.6.5 left Extended yes yes yes yes  
§7.7 Common Aural Properties
§7.7.1 azimuth Basic na na na na  
§7.7.2 cue-after Basic na na na na  
§7.7.3 cue-before Basic na na na na  
§7.7.4 elevation Basic na na na na  
§7.7.5 pause-after Basic na na na na  
§7.7.6 pause-before Basic na na na na  
§7.7.7 pitch Basic na na na na  
§7.7.8 pitch-range Basic na na na na  
§7.7.9 play-during Basic na na na na  
§7.7.10 richness Basic na na na na  
§7.7.11 speak Basic na na na na  
§7.7.12 speak-header Basic na na na na  
§7.7.13 speak-numeral Basic na na na na  
§7.7.14 speak-punctuation Basic na na na na  
§7.7.15 speech-rate Basic na na na na  
§7.7.16 stress Basic na na na na  
§7.7.17 voice-family Basic na na na na  
§7.7.18 volume Basic na na na na  
§7.8 Common Border, Padding, and Background Properties
§7.8.1 background-attachment Extended no no no no  
§7.8.2 background-color Basic yes partial yes yes
  • [0.94] not yet implemented for table-column, table-body, table-header and table-footer.
§7.8.3 background-image Extended yes partial yes yes
  • [0.94] not yet implemented for table-column, table-body, table-header and table-footer.
§7.8.4 background-repeat Extended no yes yes yes  
§7.8.5 background-position-horizontal Extended no partial partial partial [0.94 and later] Ignored when background-repeat set to "repeat" or "repeat-x"
§7.8.6 background-position-vertical Extended no partial partial partial [0.94 and later] Ignored when background-repeat set to "repeat" or "repeat-y"
§7.8.7 border-before-color Basic yes yes yes yes  
§7.8.8 border-before-style Basic partial yes yes yes
  • [0.20.5] only "solid" works
§7.8.9 border-before-width Basic yes partial yes yes
  • [0.94] .conditionality not supported on fo:table-cell
§7.8.10 border-after-color Basic yes yes yes yes  
§7.8.11 border-after-style Basic partial yes yes yes
  • [0.20.5] only "solid" works
§7.8.12 border-after-width Basic yes partial yes yes
  • [0.94] .conditionality not supported on fo:table-cell
§7.8.13 border-start-color Basic yes yes yes yes  
§7.8.14 border-start-style Basic partial yes yes yes
  • [0.20.5] only "solid" works
§7.8.15 border-start-width Basic yes yes yes yes  
§7.8.16 border-end-color Basic yes yes yes yes  
§7.8.17 border-end-style Basic partial yes yes yes
  • [0.20.5] only "solid" works
§7.8.18 border-end-width Basic yes yes yes yes  
§7.8.19 border-top-color Basic yes yes yes yes  
§7.8.20 border-top-style Basic partial yes yes yes
  • [0.20.5] only "solid" works
§7.8.21 border-top-width Basic yes yes yes yes  
§7.8.22 border-bottom-color Basic yes yes yes yes  
§7.8.23 border-bottom-style Basic partial yes yes yes
  • [0.20.5] only "solid" works
§7.8.24 border-bottom-width Basic yes yes yes yes  
§7.8.25 border-left-color Basic yes yes yes yes  
§7.8.26 border-left-style Basic partial yes yes yes
  • [0.20.5] only "solid" works
§7.8.27 border-left-width Basic yes yes yes yes  
§7.8.28 border-right-color Basic yes yes yes yes  
§7.8.29 border-right-style Basic partial yes yes yes
  • [0.20.5] only "solid" works
§7.8.30 border-right-width Basic yes yes yes yes  
§7.8.31 padding-before Basic 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
§7.8.32 padding-after Basic partial yes yes yes
  • [0.20.5] same limitations as padding-before
§7.8.33 padding-start Basic partial yes yes yes
  • [0.20.5] same limitations as padding-before
§7.8.34 padding-end Basic partial yes yes yes
  • [0.20.5] same limitations as padding-before
§7.8.35 padding-top Basic partial yes yes yes
  • [0.20.5] same limitations as padding-before
§7.8.36 padding-bottom Basic partial yes yes yes
  • [0.20.5] same limitations as padding-before
§7.8.37 padding-left Basic partial yes yes yes
  • [0.20.5] same limitations as padding-before
§7.8.38 padding-right Basic partial yes yes yes
  • [0.20.5] same limitations as padding-before
§7.9 Common Font Properties
§7.9.2 font-family Basic 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
§7.9.3 font-selection-strategy Complete no no no no  
§7.9.4 font-size Basic partial yes yes yes
  • [0.20.5] "smaller" and "larger" not implemented
§7.9.5 font-stretch Extended no no no no  
§7.9.6 font-size-adjust Extended no no no no  
§7.9.7 font-style Basic partial yes yes yes
  • [0.20.5] "normal" is not supported
§7.9.8 font-variant Basic yes no no no  
§7.9.9 font-weight Basic partial partial partial partial
  • [0.20.5] "normal", "bolder" and "lighter" are not supported
  • [0.94 and later] TODO <relative> font weights
§7.10 Common Hyphenation Properties
§7.10.1 country Extended 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!
§7.10.2 language Extended 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!
§7.10.3 script Extended no no no no  
§7.10.4 hyphenate Extended yes yes yes yes  
§7.10.5 hyphenation-character Extended yes yes yes yes  
§7.10.6 hyphenation-push-character-count Extended yes yes yes yes  
§7.10.7 hyphenation-remain-character-count Extended yes yes yes yes  
§7.11 Common Margin Properties - Block
§7.11.1 margin-top Basic partial yes yes yes
  • [0.20.5] only on pages and regions
§7.11.2 margin-bottom Basic partial yes yes yes
  • [0.20.5] only on pages and regions
§7.11.3 margin-left Basic partial yes yes yes
  • [0.20.5] only on pages and regions
§7.11.4 margin-right Basic partial yes yes yes
  • [0.20.5] only on pages and regions
§7.11.5 space-before Basic partial partial partial partial
  • [0.20.5] space-before.optimum supported
  • [0.94 and later] Space adjustment may not fully work everywhere, yet.
§7.11.6 space-after Basic partial partial partial partial
  • [0.20.5] space-after.optimum supported
  • [0.94 and later] Space adjustment may not fully work everywhere, yet.
§7.11.7 start-indent Basic yes yes yes yes  
§7.11.8 end-indent Basic yes yes yes yes  
§7.12 Common Margin Properties - Inline
§7.12.1 margin-top Basic no no no no  
§7.12.2 margin-bottom Basic no no no no  
§7.12.3 margin-left Basic no no no no  
§7.12.4 margin-right Basic no no no no  
§7.12.5 space-end Basic no no no no  
§7.12.6 space-start Basic no no no no  
§7.13 Common Relative Position Properties
§7.13.1 top Extended no no no no  
§7.13.2 right Extended no no no no  
§7.13.3 bottom Extended no no no no  
§7.13.4 left Extended no no no no  
§7.13.5 relative-position Extended no no no no  
§7.14 Area Alignment Properties
§7.14.1 alignment-adjust Basic no yes yes yes  
§7.14.2 alignment-baseline Basic no yes yes yes  
§7.14.3 baseline-shift Basic partial yes yes yes
  • [0.20.5] Only values "super" and "sub" have been implemented.
§7.14.4 display-align Extended 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.
§7.14.5 dominant-baseline Basic no yes yes yes  
§7.14.6 relative-align Extended no no no no  
§7.15 Area Dimension Properties
§7.15.1 allowed-height-scale Extended no no no no  
§7.15.2 allowed-width-scale Extended no no no no  
§7.15.3 block-progression-dimension Basic no yes yes yes  
§7.15.4 content-height Extended no partial yes yes
  • [0.94] values "scale-up-to-fit" and "scale-down-to-fit" not supported
§7.15.5 content-width Extended no partial yes yes
  • [0.94] values "scale-up-to-fit" and "scale-down-to-fit" not supported
§7.15.6 height Basic yes yes yes yes  
§7.15.7 inline-progression-dimension Basic no yes yes yes  
§7.15.8 max-height Complete no no no yes  
§7.15.9 max-width Complete no no no yes  
§7.15.10 min-height Complete no no no yes  
§7.15.11 min-width Complete no no no yes  
§7.15.12 scaling Extended no yes yes yes  
§7.15.13 scaling-method Extended no no no no  
§7.15.14 width Basic yes yes yes yes  
§7.16 Block and Line-related Properties
§7.16.1 hyphenation-keep Extended no no no no  
§7.16.2 hyphenation-ladder-count Extended no yes yes yes  
§7.16.3 last-line-end-indent Extended no yes yes yes  
§7.16.4 line-height Basic yes yes yes yes  
§7.16.5 line-height-shift-adjustment Extended no yes yes yes  
§7.16.6 line-stacking-strategy Basic no partial partial partial
  • [0.94 and later] value "line-height" not supported
§7.16.7 linefeed-treatment Extended no yes yes yes  
§7.16.8 white-space-treatment Extended no partial partial partial
  • [0.94 and later] inline elements may interfere with correct handling of this property in some cases
§7.16.9 text-align Basic partial partial partial partial
  • Only start, end, center and justify are supported
§7.16.10 text-align-last Extended partial partial partial partial
  • Only start, end, center and justify are supported
§7.16.11 text-indent Basic yes yes yes yes  
§7.16.12 white-space-collapse Extended yes yes yes yes  
§7.16.13 wrap-option Basic yes partial partial partial
  • [0.94 and later] Only supported on fo:block.
§7.17 Character Properties
§7.17.1 character Basic yes yes yes yes  
§7.17.2 letter-spacing Extended yes yes yes yes  
§7.17.3 suppress-at-line-break Extended no no no no  
§7.17.4 text-decoration Extended yes yes yes yes  
§7.17.5 text-shadow Extended no no no no  
§7.17.6 text-transform Extended no yes yes yes  
§7.17.7 treat-as-word-space Extended no no no no  
§7.17.8 word-spacing Extended no yes yes yes  
§7.18 Color-related Properties
§7.18.1 color Basic yes yes yes yes  
§7.18.2 color-profile-name Extended no no no no  
§7.18.3 rendering-intent Extended no no no no  
§7.19 Float-related Properties
§7.19.1 clear Extended no no no no  
§7.19.2 float Extended no no no no  
§7.19.3 intrusion-displace Extended no no no no  
§7.20 Keeps and Breaks Properties
§7.20.1 break-after Basic yes partial yes yes
  • [0.94] Doesn't work on the last row of a table
§7.20.2 break-before Basic 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
§7.20.3 keep-together Extended 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.
§7.20.4 keep-with-next Basic 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.
§7.20.5 keep-with-previous Basic 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.
§7.20.6 orphans Basic no yes yes yes  
§7.20.7 widows Basic no yes yes yes  
§7.21 Layout-related Properties
§7.21.1 clip Extended no no no no  
§7.21.2 overflow Basic no yes yes yes  
§7.21.3 reference-orientation Extended 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.
§7.21.4 span Extended yes yes yes yes  
§7.22 Leader and Rule Properties
§7.22.1 leader-alignment Extended partial no no no
  • [0.20.5] not value "page"
  • [0.94 and later] Not supported
§7.22.2 leader-pattern Basic partial yes yes yes
  • [0.20.5] not value "use-content"
  • [0.94 and later] Value "use-content" does not work in all circumstances.
§7.22.3 leader-pattern-width Extended yes yes yes yes  
§7.22.4 leader-length Basic partial yes yes yes
  • [0.20.5] leader-length.minimum is not used at all
§7.22.5 rule-style Basic yes yes yes yes  
§7.22.6 rule-thickness Basic yes yes yes yes  
§7.23 Properties for Dynamic Effects Formatting Objects
§7.23.1 active-state Extended no no no no  
§7.23.2 auto-restore Extended no no no no  
§7.23.3 case-name Extended no no no no  
§7.23.4 case-title Extended no no no no  
§7.23.5 destination-placement-offset Extended no no no no  
§7.23.6 external-destination Extended yes yes yes yes  
§7.23.7 indicate-destination Extended no no no no  
§7.23.8 internal-destination Extended yes yes yes yes  
§7.23.9 show-destination Extended 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.

§7.23.10 starting-state Extended no partial partial partial
  • [0.94 and later] support for starting-state on fo:bookmark
§7.23.11 switch-to Extended no no no no  
§7.23.12 target-presentation-context Extended no no no no  
§7.23.13 target-processing-context Extended no no no no  
§7.23.14 target-stylesheet Extended no no no no  
§7.24 Properties for Indexing
§7.24.1 index-class Extended no no no no  
§7.24.2 index-key Extended no no no no  
§7.24.3 page-number-treatment Extended no no no no  
§7.24.4 merge-ranges-across-index-key-references Extended no no no no  
§7.24.5 merge-sequential-page-numbers Extended no no no no  
§7.24.6 merge-pages-across-index-key-references Extended no no no no  
§7.24.7 ref-index-key Extended no no no no  
§7.25 Properties for Markers
§7.25.1 marker-class-name Extended no yes yes yes  
§7.25.2 retrieve-boundary-within-table Extended no no no no  
§7.25.3 retrieve-class-name Extended no yes yes yes  
§7.53.4 retrieve-position Extended no yes yes yes  
§7.25.5 retrieve-boundary Extended no yes yes yes  
§7.25.6 retrieve-position-within-table Extended no no no no  
§7.26 Properties for Number to String Conversion
§7.26.1 format Basic no yes yes yes  
§7.26.2 grouping-separator Extended no no no no  
§7.26.3 grouping-size Extended no no no no  
§7.26.4 letter-value Basic no no no no  
§7.27 Pagination and Layout Properties
§7.27.1 blank-or-not-blank Extended yes yes yes yes  
§7.27.2 column-count Extended yes yes yes yes  
§7.27.3 column-gap Extended yes yes yes yes  
§7.27.4 extent Extended yes yes yes yes  
§7.27.5 flow-name Basic yes yes yes yes  
§7.27.6 force-page-count Extended no yes yes yes  
§7.27.7 initial-page-number Basic yes yes yes yes  
§7.27.8 master-name Basic yes yes yes yes  
§7.27.9 master-reference Basic yes yes yes yes  
§7.27.10 maximum-repeats Extended yes yes yes yes  
§7.27.11 media-usage Extended no no no no  
§7.27.12 odd-or-even Extended yes yes yes yes  
§7.27.13 page-height Basic yes yes yes yes  
§7.27.14 page-position Extended partial partial partial yes
  • [0.20.5] "last" isn't implemented!
  • [0.95] value "only" not supported
§7.27.15 page-width Basic yes yes yes yes  
§7.27.16 precedence Extended no yes yes yes  
§7.27.17 region-name Basic yes yes yes yes  
§7.27.18 flow-map-name Extended no no no no  
§7.27.19 flow-map-reference Extended no no no no  
§7.27.20 flow-name-reference Extended no no no no  
§7.27.21 region-name-reference Extended no no no no  
§7.28 Table Properties
§7.28.1 border-after-precedence Basic no no no no  
§7.28.2 border-before-precedence Basic no no no no  
§7.28.3 border-collapse Extended partial yes yes yes
  • [0.94 and later] Some small limitations
§7.28.4 border-end-precedence Basic no no no no  
§7.28.5 border-separation Extended no yes yes yes  
§7.28.6 border-start-precedence Basic no no no no  
§7.28.7 caption-side Complete no no no no  
§7.28.8 column-number Basic no yes yes yes  
§7.28.9 column-width Basic partial yes yes yes
  • [0.20.5] "percentage" not implemented. Workaround is to use the XSL-FO "proportional-column-width" function.
§7.28.10 empty-cells Extended no no no no  
§7.28.11 ends-row Extended no yes yes yes  
§7.28.12 number-columns-repeated Basic no yes yes yes  
§7.28.13 number-columns-spanned Basic yes yes yes yes  
§7.28.14 number-rows-spanned Basic yes yes yes yes  
§7.28.15 starts-row Extended no yes yes yes  
§7.28.16 table-layout Extended no no no no  
§7.28.17 table-omit-footer-at-break Extended yes yes yes yes  
§7.28.18 table-omit-header-at-break Extended yes yes yes yes  
§7.29 Writing-mode-related Properties
§7.29.1 direction Basic no no no no  
§7.29.2 glyph-orientation-horizontal Extended no no no no  
§7.29.3 glyph-orientation-vertical Extended no no no no  
§7.29.4 text-altitude Extended no no no no  
§7.29.5 text-depth Extended no no no no  
§7.29.6 unicode-bidi Extended no no no no  
§7.29.7 writing-mode Basic no no no no  
§7.30 Miscellaneous Properties
§7.30.1 change-bar-class Extended no no no no  
§7.30.2 change-bar-color Extended no no no no  
§7.30.3 change-bar-offset Extended no no no no  
§7.30.4 change-bar-placement Extended no no no no  
§7.30.5 change-bar-style Extended no no no no  
§7.30.6 change-bar-width Extended no no no no  
§7.30.7 content-type Extended no no no no  
§7.30.8 id Basic 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.
§7.30.9 intrinsic-scale-value Extended no no no no  
§7.30.10 page-citation-strategy Extended no no no no  
§7.30.11 provisional-label-separation Basic yes yes yes yes  
§7.30.12 provisional-distance-between-starts Basic yes yes yes yes  
§7.30.13 ref-id Extended yes yes yes yes  
§7.30.14 scale-option Extended no no no no  
§7.30.15 score-spaces Extended no no no no  
§7.30.16 src Basic yes yes yes yes  
§7.30.17 visibility Extended no no no no  
§7.30.18 z-index Extended no no no no  
§7.31 Shorthand Properties
§7.31.1 background Complete no no no no  
§7.31.2 background-position Complete no yes yes yes  
§7.31.3 border Complete no yes yes yes  
§7.31.4 border-bottom Complete yes yes yes yes  
§7.31.5 border-color Complete partial yes yes yes
  • [0.20.5] only one value allowed
§7.31.6 border-left Complete yes yes yes yes  
§7.31.7 border-right Complete yes yes yes yes  
§7.31.8 border-style Complete partial yes yes yes
  • [0.20.5] only "solid" works
§7.31.9 border-spacing Complete no yes yes yes  
§7.31.10 border-top Complete yes yes yes yes  
§7.31.11 border-width Complete yes yes yes yes  
§7.31.12 cue Complete na na na na  
§7.31.13 font Complete no partial partial partial
  • [0.94 and later] Enum values other than "inherit" not yet supported.
§7.31.14 margin Complete partial yes yes yes
  • [0.20.5] only on pages and regions
§7.31.15 padding Complete 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
§7.31.16 page-break-after Complete no yes yes yes  
§7.31.17 page-break-before Complete no yes yes yes  
§7.31.18 page-break-inside Complete no yes yes yes  
§7.31.19 pause Complete na na na na  
§7.31.20 position Complete partial yes yes yes
  • [0.20.5] "inherit" not handled
§7.31.21 size Complete no no no no  
§7.31.22 vertical-align Complete 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.
§7.31.23 white-space Complete no yes yes yes  
§7.31.24 xml:lang Complete 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.

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