Title: Apache(tm) FOP - Compliance
Apache™ FOP Compliance Page
W3C XSL-FO 1.1 Standard
One of Apache™ 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{.yes} | indicates conformance |
partial{.partial} | indicates partial conformance |
no{.no} | indicates a lack of conformance |
na{.na} | indicates that the item is "not applicable" to FOP usually because FOP supports only visual media |
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 | FOP 1.0 | FOP 1.1 | FOP 2.0 | FOP 2.3 | FOP 2.4 | FOP dev | Comments |
---|---|---|---|---|---|---|---|---|---|
§6.4 | Declarations and Pagination and Layout Formatting Objects | { #fo-object-decl-section} | |||||||
§6.4.2 | root | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.4.3 | declarations | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.4.4 | color-profile | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.4.5 | page-sequence | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.4.6 | page-sequence-wrapper | Basic{.basic} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§6.4.7 | layout-master-set | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.4.8 | page-sequence-master | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.4.9 | single-page-master-reference | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.4.10 | repeatable-page-master-reference | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.4.11 | repeatable-page-master-alternatives | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.4.12 | conditional-page-master-reference | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.4.13 | simple-page-master | Basic{.basic} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | 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{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.4.15 | region-before | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.4.16 | region-after | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.4.17 | region-start | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.4.18 | region-end | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.4.19 | flow | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.4.20 | static-content | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.4.21 | title | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.4.22 | flow-map | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§6.4.23 | flow-assignment | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§6.4.24 | flow-source-list | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§6.4.25 | flow-name-specifier | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§6.4.26 | flow-target-list | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§6.4.27 | region-name-specifier | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§6.5 | Block Formatting Objects | { #fo-object-block-section} | |||||||
§6.5.2 | block | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.5.3 | block-container | Extended{.extended} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | |
§6.6 | Inline Formatting Objects | { #fo-object-inline-section} | |||||||
§6.6.2 | bidi-override | Extended{.extended} | no{.no} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.6.3 | character | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.6.4 | initial-property-set | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§6.6.5 | external-graphic | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.6.6 | instream-foreign-object | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | Built-in support for SVG only, additional namespaces through optional extensions. |
§6.6.7 | inline | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.6.8 | inline-container | Extended{.extended} | no{.no} | no{.no} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | [FOP 2.0] initial support: not all properties are implemented. See FOP-1524 |
§6.6.9 | leader | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.6.10 | page-number | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.6.11 | page-number-citation | Extended{.extended} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | 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{.extended} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | Works only for page-sequence so far. 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{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§6.6.14 | folio-suffix | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§6.6.15 | scaling-value-citation | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§6.7 | Table Formatting Objects | { #fo-object-table-section} | |||||||
§6.7.2 | table-and-caption | Basic{.basic} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§6.7.3 | table | Basic{.basic} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | No support for auto layout yet |
§6.7.4 | table-column | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.7.5 | table-caption | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§6.7.6 | table-header | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.7.7 | table-footer | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.7.8 | table-body | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.7.9 | table-row | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.7.10 | table-cell | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.8 | List Formatting Objects | { #fo-object-list-section} | |||||||
§6.8.2 | list-block | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.8.3 | list-item | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.8.4 | list-item-body | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.8.5 | list-item-label | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.9 | Link and Multi Formatting Objects | { #fo-object-link-section} | |||||||
§6.9.2 | basic-link | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | both internal and external supported |
§6.9.3 | multi-switch | Extended{.extended} | no{.no} | no{.no} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | [FOP 2.0] initial support: used with fox:auto-toggle extension |
§6.9.4 | multi-case | Basic{.basic} | no{.no} | no{.no} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | [FOP 2.0] initial support: space attributes not currently supported; dynamic content inside a table cell does not work |
§6.9.5 | multi-toggle | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§6.9.6 | multi-properties | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§6.9.7 | multi-property-set | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§6.10 | Formatting Objects for Indexing | { #fo-object-indexing-section} | |||||||
§6.10.2 | index-page-number-prefix | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§6.10.3 | index-page-number-suffix | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§6.10.4 | index-range-begin | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§6.10.5 | index-range-end | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§6.10.6 | index-key-reference | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§6.10.7 | index-page-citation-list | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§6.10.8 | index-page-citation-list-separator | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§6.10.9 | index-page-citation-range-separator | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§6.11 | Formatting Objects for Bookmarks | { #fo-object-bookmarks-section} | |||||||
§6.11.1 | bookmark-tree | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.11.2 | bookmark | Extended{.extended} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | external-destination is not yet supported. |
§6.11.3 | bookmark-title | Extended{.extended} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | color, font-style and font-weight are not supported, yet. |
§6.12 | Out-of-line Formatting Objects | { #fo-object-outofline-section} | |||||||
§6.12.2 | float | Extended{.extended} | no{.no} | no{.no} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | See restrictions |
§6.12.3 | footnote | Extended{.extended} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | Restrictions with multi-column documents. |
§6.12.4 | footnote-body | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.13 | Other Formatting Objects | { #fo-object-other-section} | |||||||
§6.13.2 | change-bar-begin | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | yes{.yes} | yes{.yes} | |
§6.13.3 | change-bar-end | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | yes{.yes} | yes{.yes} | |
§6.13.4 | wrapper | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | Only works as expected with inline-level content. |
§6.13.5 | marker | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.13.6 | retrieve-marker | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§6.13.7 | retrieve-table-marker | Extended{.extended} | no{.no} | no{.no} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | [FOP 2.0] initial support: marker element needs to be an element that does not change the BPD of the containing cell. |
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 | FOP 1.0 | FOP 1.1 | FOP 2.0 | FOP 2.3 | FOP 2.4 | FOP dev | Comments |
---|---|---|---|---|---|---|---|---|---|
§7.5 | Common Accessibility Properties | { #fo-property-commonaccess-section} | |||||||
§7.5.1 | source-document | Basic{.basic} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.5.2 | role | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.6 | Common Absolute Position Properties | { #fo-property-commonabspos-section} | |||||||
§7.6.1 | absolute-position | Complete{.complete} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.6.2 | top | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.6.3 | right | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.6.4 | bottom | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.6.5 | left | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.7 | Common Aural Properties | { #fo-property-commonaural-section} | |||||||
§7.7.1 | azimuth | Basic{.basic} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | |
§7.7.2 | cue-after | Basic{.basic} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | |
§7.7.3 | cue-before | Basic{.basic} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | |
§7.7.4 | elevation | Basic{.basic} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | |
§7.7.5 | pause-after | Basic{.basic} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | |
§7.7.6 | pause-before | Basic{.basic} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | |
§7.7.7 | pitch | Basic{.basic} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | |
§7.7.8 | pitch-range | Basic{.basic} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | |
§7.7.9 | play-during | Basic{.basic} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | |
§7.7.10 | richness | Basic{.basic} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | |
§7.7.11 | speak | Basic{.basic} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | |
§7.7.12 | speak-header | Basic{.basic} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | |
§7.7.13 | speak-numeral | Basic{.basic} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | |
§7.7.14 | speak-punctuation | Basic{.basic} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | |
§7.7.15 | speech-rate | Basic{.basic} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | |
§7.7.16 | stress | Basic{.basic} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | |
§7.7.17 | voice-family | Basic{.basic} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | |
§7.7.18 | volume | Basic{.basic} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | |
§7.8 | Common Border, Padding, and Background Properties | { #fo-property-commonenv-section} | |||||||
§7.8.1 | background-attachment | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.8.2 | background-color | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.8.3 | background-image | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.8.4 | background-repeat | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.8.5 | background-position-horizontal | Extended{.extended} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | Ignored when background-repeat set to "repeat" or "repeat-x" |
§7.8.6 | background-position-vertical | Extended{.extended} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | Ignored when background-repeat set to "repeat" or "repeat-y" |
§7.8.7 | border-before-color | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.8.8 | border-before-style | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.8.9 | border-before-width | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.8.10 | border-after-color | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.8.11 | border-after-style | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.8.12 | border-after-width | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.8.13 | border-start-color | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.8.14 | border-start-style | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.8.15 | border-start-width | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.8.16 | border-end-color | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.8.17 | border-end-style | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.8.18 | border-end-width | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.8.19 | border-top-color | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.8.20 | border-top-style | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.8.21 | border-top-width | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.8.22 | border-bottom-color | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.8.23 | border-bottom-style | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.8.24 | border-bottom-width | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.8.25 | border-left-color | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.8.26 | border-left-style | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.8.27 | border-left-width | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.8.28 | border-right-color | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.8.29 | border-right-style | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.8.30 | border-right-width | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.8.31 | padding-before | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.8.32 | padding-after | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.8.33 | padding-start | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.8.34 | padding-end | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.8.35 | padding-top | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.8.36 | padding-bottom | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.8.37 | padding-left | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.8.38 | padding-right | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.9 | Common Font Properties | { #fo-property-commonfont-section} | |||||||
§7.9.2 | font-family | Basic{.basic} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | font-family lists are allowed but glyph based font selection is not supported |
§7.9.3 | font-selection-strategy | Complete{.complete} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.9.4 | font-size | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.9.5 | font-stretch | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.9.6 | font-size-adjust | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.9.7 | font-style | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.9.8 | font-variant | Basic{.basic} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.9.9 | font-weight | Basic{.basic} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | TODO <relative> font weights |
§7.10 | Common Hyphenation Properties | { #fo-property-commonhyphen-section} | |||||||
§7.10.1 | country | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | For PDF output: Only 2-letter codes from ISO 3166 are supported properly to identify the natural language! |
§7.10.2 | language | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | For PDF output: Only 2-letter codes from ISO 639 are supported properly to identify the natural language! Also used with complex scripts features. |
§7.10.3 | script | Extended{.extended} | no{.no} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | Used with complex scripts features to override default script heuristics. |
§7.10.4 | hyphenate | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.10.5 | hyphenation-character | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.10.6 | hyphenation-push-character-count | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.10.7 | hyphenation-remain-character-count | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.11 | Common Margin Properties - Block | { #fo-property-commonmarginblock-section} | |||||||
§7.11.1 | margin-top | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.11.2 | margin-bottom | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.11.3 | margin-left | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.11.4 | margin-right | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.11.5 | space-before | Basic{.basic} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | Space adjustment may not fully work everywhere, yet. |
§7.11.6 | space-after | Basic{.basic} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | Space adjustment may not fully work everywhere, yet. |
§7.11.7 | start-indent | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.11.8 | end-indent | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.12 | Common Margin Properties - Inline | { #fo-property-commonmargininline-section} | |||||||
§7.12.1 | margin-top | Basic{.basic} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.12.2 | margin-bottom | Basic{.basic} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.12.3 | margin-left | Basic{.basic} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.12.4 | margin-right | Basic{.basic} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.12.5 | space-end | Basic{.basic} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.12.6 | space-start | Basic{.basic} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.13 | Common Relative Position Properties | { #fo-property-commonrelpos-section} | |||||||
§7.13.1 | top | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.13.2 | right | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.13.3 | bottom | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.13.4 | left | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.13.5 | relative-position | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.14 | Area Alignment Properties | { #fo-property-areaalign-section} | |||||||
§7.14.1 | alignment-adjust | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.14.2 | alignment-baseline | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.14.3 | baseline-shift | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.14.4 | display-align | Extended{.extended} | partial{.partial} | partial{.partial} | partial | partial{.partial} | partial{.partial} | partial{.partial} | TODO Check e-g, i-f-o. |
§7.14.5 | dominant-baseline | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.14.6 | relative-align | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.15 | Area Dimension Properties | { #fo-property-areadim-section} | |||||||
§7.15.1 | allowed-height-scale | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.15.2 | allowed-width-scale | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.15.3 | block-progression-dimension | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.15.4 | content-height | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.15.5 | content-width | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.15.6 | height | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.15.7 | inline-progression-dimension | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.15.8 | max-height | Complete{.complete} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.15.9 | max-width | Complete{.complete} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.15.10 | min-height | Complete{.complete} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.15.11 | min-width | Complete{.complete} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.15.12 | scaling | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.15.13 | scaling-method | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.15.14 | width | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.16 | Block and Line-related Properties | { #fo-property-blockandline-section} | |||||||
§7.16.1 | hyphenation-keep | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.16.2 | hyphenation-ladder-count | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.16.3 | last-line-end-indent | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.16.4 | line-height | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.16.5 | line-height-shift-adjustment | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.16.6 | line-stacking-strategy | Basic{.basic} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | value "line-height" not supported |
§7.16.7 | linefeed-treatment | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.16.8 | white-space-treatment | Extended{.extended} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | inline elements may interfere with correct handling of this property in some cases |
§7.16.9 | text-align | Basic{.basic} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | Only start, end, center and justify are supported |
§7.16.10 | text-align-last | Extended{.extended} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | Only start, end, center and justify are supported |
§7.16.11 | text-indent | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.16.12 | white-space-collapse | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.16.13 | wrap-option | Basic{.basic} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | Only supported on fo:block. |
§7.17 | Character Properties | { #fo-property-char-section} | |||||||
§7.17.1 | character | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.17.2 | letter-spacing | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.17.3 | suppress-at-line-break | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.17.4 | text-decoration | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.17.5 | text-shadow | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.17.6 | text-transform | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.17.7 | treat-as-word-space | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.17.8 | word-spacing | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.18 | Color-related Properties | { #fo-property-color-section} | |||||||
§7.18.1 | color | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.18.2 | color-profile-name | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.18.3 | rendering-intent | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.19 | Float-related Properties | { #fo-property-float-section} | |||||||
§7.19.1 | clear | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.19.2 | float | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.19.3 | intrusion-displace | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.20 | Keeps and Breaks Properties | { #fo-property-keepsbreaks-section} | |||||||
§7.20.1 | break-after | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.20.2 | break-before | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.20.3 | keep-together | Extended{.extended} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | [1.0 and later] minimal support for <integer> value. |
§7.20.4 | keep-with-next | Basic{.basic} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | Works on all implemented block-level FOs, but not on inline-level FOs. Minimal support for <integer> value. |
§7.20.5 | keep-with-previous | Basic{.basic} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | works on all implemented block-level FOs, but not on inline-level FOs. Minimal support for <integer> value. |
§7.20.6 | orphans | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.20.7 | widows | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.21 | Layout-related Properties | { #fo-property-layout-section} | |||||||
§7.21.1 | clip | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.21.2 | overflow | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.21.3 | reference-orientation | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.21.4 | span | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.22 | Leader and Rule Properties | { #fo-property-leader-section} | |||||||
§7.22.1 | leader-alignment | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | Not supported |
§7.22.2 | leader-pattern | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | Value "use-content" does not work in all circumstances. |
§7.22.3 | leader-pattern-width | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.22.4 | leader-length | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.22.5 | rule-style | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.22.6 | rule-thickness | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.23 | Properties for Dynamic Effects Formatting Objects | { #fo-property-dynamiceffects-section} | |||||||
§7.23.1 | active-state | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.23.2 | auto-restore | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.23.3 | case-name | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.23.4 | case-title | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.23.5 | destination-placement-offset | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.23.6 | external-destination | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.23.7 | indicate-destination | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.23.8 | internal-destination | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.23.9 | show-destination | Extended{.extended} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | [1.0 and later] 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 |
§7.23.10 | starting-state | Extended{.extended} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | support for starting-state on fo:bookmark |
§7.23.11 | switch-to | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.23.12 | target-presentation-context | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.23.13 | target-processing-context | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.23.14 | target-stylesheet | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.24 | Properties for Indexing | { #fo-property-indexing-section} | |||||||
§7.24.1 | index-class | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.24.2 | index-key | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.24.3 | page-number-treatment | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.24.4 | merge-ranges-across-index-key-references | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.24.5 | merge-sequential-page-numbers | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.24.6 | merge-pages-across-index-key-references | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.24.7 | ref-index-key | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.25 | Properties for Markers | { #fo-property-markers-section} | |||||||
§7.25.1 | marker-class-name | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.25.2 | retrieve-boundary-within-table | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.25.3 | retrieve-class-name | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.53.4 | retrieve-position | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.25.5 | retrieve-boundary | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.25.6 | retrieve-position-within-table | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.26 | Properties for Number to String Conversion | { #fo-property-numberstring-section} | |||||||
§7.26.1 | format | Basic{.basic} | partial{.partial} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | [1.0 and earlier] only values '0*1', 'a', 'A', 'i', 'I' supported |
§7.26.2 | grouping-separator | Extended{.extended} | no{.no} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.26.3 | grouping-size | Extended{.extended} | no{.no} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.26.4 | letter-value | Basic{.basic} | no{.no} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.27 | Pagination and Layout Properties | { #fo-property-pagination-section} | |||||||
§7.27.1 | blank-or-not-blank | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.27.2 | column-count | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.27.3 | column-gap | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.27.4 | extent | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.27.5 | flow-name | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.27.6 | force-page-count | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.27.7 | initial-page-number | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.27.8 | master-name | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.27.9 | master-reference | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.27.10 | maximum-repeats | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.27.11 | media-usage | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.27.12 | odd-or-even | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.27.13 | page-height | Basic{.basic} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | value "indefinite" not yet supported |
§7.27.14 | page-position | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | value "only" not supported |
§7.27.15 | page-width | Basic{.basic} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | value "indefinite" not yet supported |
§7.27.16 | precedence | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.27.17 | region-name | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.27.18 | flow-map-name | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.27.19 | flow-map-reference | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.27.20 | flow-name-reference | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.27.21 | region-name-reference | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.28 | Table Properties | { #fo-property-table-section} | |||||||
§7.28.1 | border-after-precedence | Basic{.basic} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.28.2 | border-before-precedence | Basic{.basic} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.28.3 | border-collapse | Extended{.extended} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | value "collapse-with-precedence" not yet supported |
§7.28.4 | border-end-precedence | Basic{.basic} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.28.5 | border-separation | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.28.6 | border-start-precedence | Basic{.basic} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.28.7 | caption-side | Complete{.complete} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.28.8 | column-number | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.28.9 | column-width | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.28.10 | empty-cells | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.28.11 | ends-row | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.28.12 | number-columns-repeated | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.28.13 | number-columns-spanned | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.28.14 | number-rows-spanned | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.28.15 | starts-row | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.28.16 | table-layout | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.28.17 | table-omit-footer-at-break | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.28.18 | table-omit-header-at-break | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.29 | Writing-mode-related Properties | { #fo-property-writingmode-section} | |||||||
§7.29.1 | direction | Basic{.basic} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.29.2 | glyph-orientation-horizontal | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.29.3 | glyph-orientation-vertical | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.29.4 | text-altitude | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.29.5 | text-depth | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.29.6 | unicode-bidi | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.29.7 | writing-mode | Basic{.basic} | no{.no} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | [1.1 and later] only horizontal left-to-right and right-to-left modes |
§7.30 | Miscellaneous Properties | { #fo-property-misc-section} | |||||||
§7.30.1 | change-bar-class | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | yes{.yes} | yes{.yes} | |
§7.30.2 | change-bar-color | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | yes{.yes} | yes{.yes} | |
§7.30.3 | change-bar-offset | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | yes{.yes} | yes{.yes} | |
§7.30.4 | change-bar-placement | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | yes{.yes} | yes{.yes} | |
§7.30.5 | change-bar-style | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | yes{.yes} | yes{.yes} | |
§7.30.6 | change-bar-width | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | yes{.yes} | yes{.yes} | |
§7.30.7 | content-type | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.30.8 | id | Basic{.basic} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | 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{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.30.10 | page-citation-strategy | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.30.11 | provisional-label-separation | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.30.12 | provisional-distance-between-starts | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.30.13 | ref-id | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.30.14 | scale-option | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.30.15 | score-spaces | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.30.16 | src | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.30.17 | visibility | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.30.18 | z-index | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.31 | Shorthand Properties | { #fo-property-shorthand-section} | |||||||
§7.31.1 | background | Complete{.complete} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.31.2 | background-position | Complete{.complete} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.31.3 | border | Complete{.complete} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.31.4 | border-bottom | Complete{.complete} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.31.5 | border-color | Complete{.complete} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.31.6 | border-left | Complete{.complete} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.31.7 | border-right | Complete{.complete} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.31.8 | border-style | Complete{.complete} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.31.9 | border-spacing | Complete{.complete} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.31.10 | border-top | Complete{.complete} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.31.11 | border-width | Complete{.complete} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.31.12 | cue | Complete{.complete} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | |
§7.31.13 | font | Complete{.complete} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | Enum values other than "inherit" not yet supported. |
§7.31.14 | margin | Complete{.complete} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.31.15 | padding | Complete{.complete} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.31.16 | page-break-after | Complete{.complete} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.31.17 | page-break-before | Complete{.complete} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.31.18 | page-break-inside | Complete{.complete} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.31.19 | pause | Complete{.complete} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | |
§7.31.20 | position | Complete{.complete} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.31.21 | size | Complete{.complete} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§7.31.22 | vertical-align | Complete{.complete} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | Percentages are not supported, yet. |
§7.31.23 | white-space | Complete{.complete} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§7.31.24 | xml:lang | Complete{.complete} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | 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 | FOP 1.0 | FOP 1.1 | FOP 2.0 | FOP 2.3 | FOP 2.4 | FOP dev | Comments |
---|---|---|---|---|---|---|---|---|---|
§5.10.1 | Number Functions | { #fo-function-number-section} | |||||||
§5.10.1 | floor | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§5.10.1 | ceiling | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§5.10.1 | round | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§5.10.1 | min | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§5.10.1 | max | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§5.10.1 | abs | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§5.10.2 | Color Functions | { #fo-function-color-section} | |||||||
§5.10.2 | rgb | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§5.10.2 | rgb-icc | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§5.10.2 | system-color | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§5.10.3 | Font Functions | { #fo-function-font-section} | |||||||
§5.10.3 | system-font | Basic{.basic} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§5.10.4 | Property Value Functions | { #fo-function-property-value-section} | |||||||
§5.10.4 | inherited-property-value | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§5.10.4 | label-end | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§5.10.4 | body-start | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§5.10.4 | from-parent | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§5.10.4 | from-nearest-specified-value | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§5.10.4 | from-page-master-region | Basic{.basic} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | |
§5.10.4 | from-table-column | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§5.10.4 | proportional-column-width | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | |
§5.10.4 | merge-property-values | Basic{.basic} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} |