Title: Apache(tm) FOP - Compliance Title: Apache(tm) FOP - Compliance #Apache™ FOP Compliance Page ## W3C XSL-FO 1.1 Standard { #W3C-XSL-FO1.1-Standard} One of Apache™ FOP's design goals is conformance to the [W3C XSL-FO 1.1 standard](http://www.w3.org/TR/xsl/), 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) { #fo-object-section} 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](http://www.w3.org/TR/xsl/#d0e7057) {.category} | Declarations and Pagination and Layout Formatting Objects {.category} | { #fo-object-decl-section} | | [§6.4.2](http://www.w3.org/TR/xsl/#fo_root) | root { #fo-object-root} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.4.3](http://www.w3.org/TR/xsl/#fo_declarations) | declarations { #fo-object-declarations} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.4.4](http://www.w3.org/TR/xsl/#fo_color-profile) | color-profile { #fo-object-color-profile} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.4.5](http://www.w3.org/TR/xsl/#fo_page-sequence) | page-sequence { #fo-object-page-sequence} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.4.6](http://www.w3.org/TR/xsl/#fo_page-sequence-wrapper) | page-sequence-wrapper { #fo-object-page-sequence-wrapper} | Basic{.basic} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§6.4.7](http://www.w3.org/TR/xsl/#fo_layout-master-set) | layout-master-set { #fo-object-layout-master-set} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.4.8](http://www.w3.org/TR/xsl/#fo_page-sequence-master) | page-sequence-master { #fo-object-page-sequence-master} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.4.9](http://www.w3.org/TR/xsl/#fo_single-page-master-reference) | single-page-master-reference { #fo-object-single-page-master-reference} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.4.10](http://www.w3.org/TR/xsl/#fo_repeatable-page-master-reference) | repeatable-page-master-reference { #fo-object-repeatable-page-master-reference} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.4.11](http://www.w3.org/TR/xsl/#fo_repeatable-page-master-alternatives) | repeatable-page-master-alternatives { #fo-object-repeatable-page-master-alternatives} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.4.12](http://www.w3.org/TR/xsl/#fo_conditional-page-master-reference) | conditional-page-master-reference { #fo-object-conditional-page-master-reference} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.4.13](http://www.w3.org/TR/xsl/#fo_simple-page-master) | simple-page-master { #fo-object-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](http://www.w3.org/TR/xsl/#fo_region-body) | region-body { #fo-object-region-body} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.4.15](http://www.w3.org/TR/xsl/#fo_region-before) | region-before { #fo-object-region-before} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.4.16](http://www.w3.org/TR/xsl/#fo_region-after) | region-after { #fo-object-region-after} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.4.17](http://www.w3.org/TR/xsl/#fo_region-start) | region-start { #fo-object-region-start} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.4.18](http://www.w3.org/TR/xsl/#fo_region-end) | region-end { #fo-object-region-end} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.4.19](http://www.w3.org/TR/xsl/#fo_flow) | flow { #fo-object-flow} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.4.20](http://www.w3.org/TR/xsl/#fo_static-content) | static-content { #fo-object-static-content} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.4.21](http://www.w3.org/TR/xsl/#fo_title) | title { #fo-object-title} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.4.22](http://www.w3.org/TR/xsl/#fo_flow-map) | flow-map { #fo-object-flow-map} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§6.4.23](http://www.w3.org/TR/xsl/#fo_flow-assignment) | flow-assignment { #fo-object-flow-assignment} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§6.4.24](http://www.w3.org/TR/xsl/#fo_flow-source-list) | flow-source-list { #fo-object-flow-source-list} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§6.4.25](http://www.w3.org/TR/xsl/#fo_flow-name-specifier) | flow-name-specifier { #fo-object-flow-name-specifier} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§6.4.26](http://www.w3.org/TR/xsl/#fo_flow-target-list) | flow-target-list { #fo-object-flow-target-list} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§6.4.27](http://www.w3.org/TR/xsl/#fo_region-name-specifier) | region-name-specifier { #fo-object-region-name-specifier} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§6.5](http://www.w3.org/TR/xsl/#d0e9451) {.category} | Block Formatting Objects {.category} | { #fo-object-block-section} | | [§6.5.2](http://www.w3.org/TR/xsl/#fo_block) | block { #fo-object-block} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.5.3](http://www.w3.org/TR/xsl/#fo_block-container) | block-container { #fo-object-block-container} | Extended{.extended} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | | | [§6.6](http://www.w3.org/TR/xsl/#d0e9759) {.category} | Inline Formatting Objects {.category} | { #fo-object-inline-section} | | [§6.6.2](http://www.w3.org/TR/xsl/#fo_bidi-override) | bidi-override { #fo-object-bidi-override} | Extended{.extended} | no{.no} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.6.3](http://www.w3.org/TR/xsl/#fo_character) | character { #fo-object-character} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.6.4](http://www.w3.org/TR/xsl/#fo_initial-property-set) | initial-property-set { #fo-object-initial-property-set} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§6.6.5](http://www.w3.org/TR/xsl/#fo_external-graphic) | external-graphic { #fo-object-external-graphic} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.6.6](http://www.w3.org/TR/xsl/#fo_instream-foreign-object) | instream-foreign-object { #fo-object-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](http://www.w3.org/TR/xsl/#fo_inline) | inline { #fo-object-inline} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.6.8](http://www.w3.org/TR/xsl/#fo_inline-container) | inline-container { #fo-object-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](https://issues.apache.org/jira/browse/FOP-1524) | | [§6.6.9](http://www.w3.org/TR/xsl/#fo_leader) | leader { #fo-object-leader} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.6.10](http://www.w3.org/TR/xsl/#fo_page-number) | page-number { #fo-object-page-number} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.6.11](http://www.w3.org/TR/xsl/#fo_page-number-citation) | page-number-citation { #fo-object-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](http://www.w3.org/TR/xsl/#fo_page-number-citation-last) | page-number-citation-last { #fo-object-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](http://www.w3.org/TR/xsl/#fo_folio-prefix) | folio-prefix { #fo-object-folio-prefix} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§6.6.14](http://www.w3.org/TR/xsl/#fo_folio-suffix) | folio-suffix { #fo-object-folio-suffix} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§6.6.15](http://www.w3.org/TR/xsl/#fo_scaling-value-citation) | scaling-value-citation { #fo-object-scaling-value-citation} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§6.7](http://www.w3.org/TR/xsl/#d0e11404) {.category} | Table Formatting Objects {.category} | { #fo-object-table-section} | | [§6.7.2](http://www.w3.org/TR/xsl/#fo_table-and-caption) | table-and-caption { #fo-object-table-and-caption} | Basic{.basic} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§6.7.3](http://www.w3.org/TR/xsl/#fo_table) | table { #fo-object-table} | Basic{.basic} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | No support for auto layout yet | | [§6.7.4](http://www.w3.org/TR/xsl/#fo_table-column) | table-column { #fo-object-table-column} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.7.5](http://www.w3.org/TR/xsl/#fo_table-caption) | table-caption { #fo-object-table-caption} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§6.7.6](http://www.w3.org/TR/xsl/#fo_table-header) | table-header { #fo-object-table-header} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.7.7](http://www.w3.org/TR/xsl/#fo_table-footer) | table-footer { #fo-object-table-footer} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.7.8](http://www.w3.org/TR/xsl/#fo_table-body) | table-body { #fo-object-table-body} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.7.9](http://www.w3.org/TR/xsl/#fo_table-row) | table-row { #fo-object-table-row} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.7.10](http://www.w3.org/TR/xsl/#fo_table-cell) | table-cell { #fo-object-table-cell} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.8](http://www.w3.org/TR/xsl/#d0e12374) {.category} | List Formatting Objects {.category} | { #fo-object-list-section} | | [§6.8.2](http://www.w3.org/TR/xsl/#fo_list-block) | list-block { #fo-object-list-block} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.8.3](http://www.w3.org/TR/xsl/#fo_list-item) | list-item { #fo-object-list-item} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.8.4](http://www.w3.org/TR/xsl/#fo_list-item-body) | list-item-body { #fo-object-list-item-body} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.8.5](http://www.w3.org/TR/xsl/#fo_list-item-label) | list-item-label { #fo-object-list-item-label} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.9](http://www.w3.org/TR/xsl/#d0e12855) {.category} | Link and Multi Formatting Objects {.category} | { #fo-object-link-section} | | [§6.9.2](http://www.w3.org/TR/xsl/#fo_basic-link) | basic-link { #fo-object-basic-link} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | both internal and external supported | | [§6.9.3](http://www.w3.org/TR/xsl/#fo_multi-switch) | multi-switch { #fo-object-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](http://www.w3.org/TR/xsl/#fo_multi-case) | multi-case { #fo-object-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](http://www.w3.org/TR/xsl/#fo_multi-toggle) | multi-toggle { #fo-object-multi-toggle} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§6.9.6](http://www.w3.org/TR/xsl/#fo_multi-properties) | multi-properties { #fo-object-multi-properties} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§6.9.7](http://www.w3.org/TR/xsl/#fo_multi-property-set) | multi-property-set { #fo-object-multi-property-set} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§6.10](http://www.w3.org/TR/xsl11/#d0e13293) {.category} | Formatting Objects for Indexing {.category} | { #fo-object-indexing-section} | | [§6.10.2](http://www.w3.org/TR/xsl11/#fo_index-page-number-prefix) | index-page-number-prefix { #fo-object-index-page-number-prefix} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§6.10.3](http://www.w3.org/TR/xsl11/#fo_index-page-number-suffix) | index-page-number-suffix { #fo-object-index-page-number-suffix} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§6.10.4](http://www.w3.org/TR/xsl11/#fo_index-range-begin) | index-range-begin { #fo-object-index-range-begin} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§6.10.5](http://www.w3.org/TR/xsl11/#fo_index-range-end) | index-range-end { #fo-object-index-range-end} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§6.10.6](http://www.w3.org/TR/xsl11/#fo_index-key-reference) | index-key-reference { #fo-object-index-key-reference} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§6.10.7](http://www.w3.org/TR/xsl11/#fo_index-page-citation-list) | index-page-citation-list { #fo-object-index-page-citation-list} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§6.10.8](http://www.w3.org/TR/xsl11/#fo_index-page-citation-list-separator) | index-page-citation-list-separator { #fo-object-index-page-citation-list-separator} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§6.10.9](http://www.w3.org/TR/xsl11/#fo_index-page-citation-range-separator) | index-page-citation-range-separator { #fo-object-index-page-citation-range-separator} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§6.11](http://www.w3.org/TR/xsl11/#d0e14206) {.category} | Formatting Objects for Bookmarks {.category} | { #fo-object-bookmarks-section} | | [§6.11.1](http://www.w3.org/TR/xsl11/#fo_bookmark-tree) | bookmark-tree { #fo-object-bookmark-tree} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.11.2](http://www.w3.org/TR/xsl11/#fo_bookmark) | bookmark { #fo-object-bookmark} | Extended{.extended} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | external-destination is not yet supported. | | [§6.11.3](http://www.w3.org/TR/xsl11/#fo_bookmark-title) | bookmark-title { #fo-object-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](http://www.w3.org/TR/xsl/#d0e14340) {.category} | Out-of-line Formatting Objects {.category} | { #fo-object-outofline-section} | | [§6.12.2](http://www.w3.org/TR/xsl/#fo_float) | float { #fo-object-float} | Extended{.extended} | no{.no} | no{.no} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | [See restrictions](http://xmlgraphics.apache.org/fop/fo.html#floats) | | [§6.12.3](http://www.w3.org/TR/xsl/#fo_footnote) | footnote { #fo-object-footnote} | Extended{.extended} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | Restrictions with multi-column documents. | | [§6.12.4](http://www.w3.org/TR/xsl/#fo_footnote-body) | footnote-body { #fo-object-footnote-body} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.13](http://www.w3.org/TR/xsl/#d0e14653) {.category} | Other Formatting Objects {.category} | { #fo-object-other-section} | | [§6.13.2](http://www.w3.org/TR/xsl/#fo_change-bar-begin) | change-bar-begin { #fo-object-change-bar-begin} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | yes{.yes} | yes{.yes} | | | [§6.13.3](http://www.w3.org/TR/xsl/#fo_change-bar-end) | change-bar-end { #fo-object-change-bar-end} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | yes{.yes} | yes{.yes} | | | [§6.13.4](http://www.w3.org/TR/xsl/#fo_wrapper) | wrapper { #fo-object-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](http://www.w3.org/TR/xsl/#fo_marker) | marker { #fo-object-marker} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.13.6](http://www.w3.org/TR/xsl/#fo_retrieve-marker) | retrieve-marker { #fo-object-retrieve-marker} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§6.13.7](http://www.w3.org/TR/xsl/#fo_retrieve-table-marker) | retrieve-table-marker { #fo-object-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) { #fo-property-section} 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](http://www.w3.org/TR/xsl/#common-accessibility-properties) {.category} | Common Accessibility Properties {.category} | { #fo-property-commonaccess-section} | | [§7.5.1](http://www.w3.org/TR/xsl/#source-document) | source-document { #fo-property-source-document} | Basic{.basic} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§7.5.2](http://www.w3.org/TR/xsl/#role) | role { #fo-property-role} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.6](http://www.w3.org/TR/xsl/#common-absolute-position-properties) {.category} | Common Absolute Position Properties {.category} | { #fo-property-commonabspos-section} | | [§7.6.1](http://www.w3.org/TR/xsl/#absolute-position) | absolute-position { #fo-property-absolute-position} | Complete{.complete} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.6.2](http://www.w3.org/TR/xsl/#top) | top { #fo-property-top} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.6.3](http://www.w3.org/TR/xsl/#right) | right { #fo-property-right} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.6.4](http://www.w3.org/TR/xsl/#bottom) | bottom { #fo-property-bottom} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.6.5](http://www.w3.org/TR/xsl/#left) | left { #fo-property-left} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.7](http://www.w3.org/TR/xsl/#common-aural-properties) {.category} | Common Aural Properties {.category} | { #fo-property-commonaural-section} | | [§7.7.1](http://www.w3.org/TR/xsl/#azimuth) | azimuth { #fo-property-azimuth} | Basic{.basic} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | | | [§7.7.2](http://www.w3.org/TR/xsl/#cue-after) | cue-after { #fo-property-cue-after} | Basic{.basic} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | | | [§7.7.3](http://www.w3.org/TR/xsl/#cue-before) | cue-before { #fo-property-cue-before} | Basic{.basic} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | | | [§7.7.4](http://www.w3.org/TR/xsl/#elevation) | elevation { #fo-property-elevation} | Basic{.basic} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | | | [§7.7.5](http://www.w3.org/TR/xsl/#pause-after) | pause-after { #fo-property-pause-after} | Basic{.basic} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | | | [§7.7.6](http://www.w3.org/TR/xsl/#pause-before) | pause-before { #fo-property-pause-before} | Basic{.basic} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | | | [§7.7.7](http://www.w3.org/TR/xsl/#pitch) | pitch { #fo-property-pitch} | Basic{.basic} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | | | [§7.7.8](http://www.w3.org/TR/xsl/#pitch-range) | pitch-range { #fo-property-pitch-range} | Basic{.basic} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | | | [§7.7.9](http://www.w3.org/TR/xsl/#play-during) | play-during { #fo-property-play-during} | Basic{.basic} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | | | [§7.7.10](http://www.w3.org/TR/xsl/#richness) | richness { #fo-property-richness} | Basic{.basic} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | | | [§7.7.11](http://www.w3.org/TR/xsl/#speak) | speak { #fo-property-speak} | Basic{.basic} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | | | [§7.7.12](http://www.w3.org/TR/xsl/#speak-header) | speak-header { #fo-property-speak-header} | Basic{.basic} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | | | [§7.7.13](http://www.w3.org/TR/xsl/#speak-numeral) | speak-numeral { #fo-property-speak-numeral} | Basic{.basic} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | | | [§7.7.14](http://www.w3.org/TR/xsl/#speak-punctuation) | speak-punctuation { #fo-property-speak-punctuation} | Basic{.basic} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | | | [§7.7.15](http://www.w3.org/TR/xsl/#speech-rate) | speech-rate { #fo-property-speech-rate} | Basic{.basic} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | | | [§7.7.16](http://www.w3.org/TR/xsl/#stress) | stress { #fo-property-stress} | Basic{.basic} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | | | [§7.7.17](http://www.w3.org/TR/xsl/#voice-family) | voice-family { #fo-property-voice-family} | Basic{.basic} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | | | [§7.7.18](http://www.w3.org/TR/xsl/#volume) | volume { #fo-property-volume} | Basic{.basic} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | na{.na} | | | [§7.8](http://www.w3.org/TR/xsl/#common-border-padding-and-background-properties) {.category} | Common Border, Padding, and Background Properties {.category} | { #fo-property-commonenv-section} | | [§7.8.1](http://www.w3.org/TR/xsl/#background-attachment) | background-attachment { #fo-property-background-attachment} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§7.8.2](http://www.w3.org/TR/xsl/#background-color) | background-color { #fo-property-background-color} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.8.3](http://www.w3.org/TR/xsl/#background-image) | background-image { #fo-property-background-image} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.8.4](http://www.w3.org/TR/xsl/#background-repeat) | background-repeat { #fo-property-background-repeat} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.8.5](http://www.w3.org/TR/xsl/#background-position-horizontal) | background-position-horizontal { #fo-property-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](http://www.w3.org/TR/xsl/#background-position-vertical) | background-position-vertical { #fo-property-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](http://www.w3.org/TR/xsl/#border-before-color) | border-before-color { #fo-property-border-before-color} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.8.8](http://www.w3.org/TR/xsl/#border-before-style) | border-before-style { #fo-property-border-before-style} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.8.9](http://www.w3.org/TR/xsl/#border-before-width) | border-before-width { #fo-property-border-before-width} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.8.10](http://www.w3.org/TR/xsl/#border-after-color) | border-after-color { #fo-property-border-after-color} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.8.11](http://www.w3.org/TR/xsl/#border-after-style) | border-after-style { #fo-property-border-after-style} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.8.12](http://www.w3.org/TR/xsl/#border-after-width) | border-after-width { #fo-property-border-after-width} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.8.13](http://www.w3.org/TR/xsl/#border-start-color) | border-start-color { #fo-property-border-start-color} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.8.14](http://www.w3.org/TR/xsl/#border-start-style) | border-start-style { #fo-property-border-start-style} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.8.15](http://www.w3.org/TR/xsl/#border-start-width) | border-start-width { #fo-property-border-start-width} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.8.16](http://www.w3.org/TR/xsl/#border-end-color) | border-end-color { #fo-property-border-end-color} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.8.17](http://www.w3.org/TR/xsl/#border-end-style) | border-end-style { #fo-property-border-end-style} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.8.18](http://www.w3.org/TR/xsl/#border-end-width) | border-end-width { #fo-property-border-end-width} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.8.19](http://www.w3.org/TR/xsl/#border-top-color) | border-top-color { #fo-property-border-top-color} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.8.20](http://www.w3.org/TR/xsl/#border-top-style) | border-top-style { #fo-property-border-top-style} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.8.21](http://www.w3.org/TR/xsl/#border-top-width) | border-top-width { #fo-property-border-top-width} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.8.22](http://www.w3.org/TR/xsl/#border-bottom-color) | border-bottom-color { #fo-property-border-bottom-color} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.8.23](http://www.w3.org/TR/xsl/#border-bottom-style) | border-bottom-style { #fo-property-border-bottom-style} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.8.24](http://www.w3.org/TR/xsl/#border-bottom-width) | border-bottom-width { #fo-property-border-bottom-width} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.8.25](http://www.w3.org/TR/xsl/#border-left-color) | border-left-color { #fo-property-border-left-color} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.8.26](http://www.w3.org/TR/xsl/#border-left-style) | border-left-style { #fo-property-border-left-style} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.8.27](http://www.w3.org/TR/xsl/#border-left-width) | border-left-width { #fo-property-border-left-width} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.8.28](http://www.w3.org/TR/xsl/#border-right-color) | border-right-color { #fo-property-border-right-color} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.8.29](http://www.w3.org/TR/xsl/#border-right-style) | border-right-style { #fo-property-border-right-style} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.8.30](http://www.w3.org/TR/xsl/#border-right-width) | border-right-width { #fo-property-border-right-width} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.8.31](http://www.w3.org/TR/xsl/#padding-before) | padding-before { #fo-property-padding-before} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.8.32](http://www.w3.org/TR/xsl/#padding-after) | padding-after { #fo-property-padding-after} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.8.33](http://www.w3.org/TR/xsl/#padding-start) | padding-start { #fo-property-padding-start} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.8.34](http://www.w3.org/TR/xsl/#padding-end) | padding-end { #fo-property-padding-end} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.8.35](http://www.w3.org/TR/xsl/#padding-top) | padding-top { #fo-property-padding-top} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.8.36](http://www.w3.org/TR/xsl/#padding-bottom) | padding-bottom { #fo-property-padding-bottom} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.8.37](http://www.w3.org/TR/xsl/#padding-left) | padding-left { #fo-property-padding-left} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.8.38](http://www.w3.org/TR/xsl/#padding-right) | padding-right { #fo-property-padding-right} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.9](http://www.w3.org/TR/xsl/#common-font-properties) {.category} | Common Font Properties {.category} | { #fo-property-commonfont-section} | | [§7.9.2](http://www.w3.org/TR/xsl/#font-family) | font-family { #fo-property-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](http://www.w3.org/TR/xsl/#font-selection-strategy) | font-selection-strategy { #fo-property-font-selection-strategy} | Complete{.complete} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§7.9.4](http://www.w3.org/TR/xsl/#font-size) | font-size { #fo-property-font-size} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.9.5](http://www.w3.org/TR/xsl/#font-stretch) | font-stretch { #fo-property-font-stretch} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§7.9.6](http://www.w3.org/TR/xsl/#font-size-adjust) | font-size-adjust { #fo-property-font-size-adjust} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§7.9.7](http://www.w3.org/TR/xsl/#font-style) | font-style { #fo-property-font-style} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.9.8](http://www.w3.org/TR/xsl/#font-variant) | font-variant { #fo-property-font-variant} | Basic{.basic} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§7.9.9](http://www.w3.org/TR/xsl/#font-weight) | font-weight { #fo-property-font-weight} | Basic{.basic} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | TODO <relative> font weights | | [§7.10](http://www.w3.org/TR/xsl/#common-hyphenation-properties) {.category} | Common Hyphenation Properties {.category} | { #fo-property-commonhyphen-section} | | [§7.10.1](http://www.w3.org/TR/xsl/#country) | country { #fo-property-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](http://www.w3.org/TR/xsl/#language) | language { #fo-property-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](http://www.w3.org/TR/xsl/#script) | script { #fo-property-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](http://www.w3.org/TR/xsl/#hyphenate) | hyphenate { #fo-property-hyphenate} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.10.5](http://www.w3.org/TR/xsl/#hyphenation-character) | hyphenation-character { #fo-property-hyphenation-character} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.10.6](http://www.w3.org/TR/xsl/#hyphenation-push-character-count) | hyphenation-push-character-count { #fo-property-hyphenation-push-character-count} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.10.7](http://www.w3.org/TR/xsl/#hyphenation-remain-character-count) | hyphenation-remain-character-count { #fo-property-hyphenation-remain-character-count} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.11](http://www.w3.org/TR/xsl/#common-margin-properties-block) {.category} | Common Margin Properties - Block {.category} | { #fo-property-commonmarginblock-section} | | [§7.11.1](http://www.w3.org/TR/xsl/#margin-top) | margin-top { #fo-property-margin-top} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.11.2](http://www.w3.org/TR/xsl/#margin-bottom) | margin-bottom { #fo-property-margin-bottom} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.11.3](http://www.w3.org/TR/xsl/#margin-left) | margin-left { #fo-property-margin-left} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.11.4](http://www.w3.org/TR/xsl/#margin-right) | margin-right { #fo-property-margin-right} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.11.5](http://www.w3.org/TR/xsl/#space-before) | space-before { #fo-property-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](http://www.w3.org/TR/xsl/#space-after) | space-after { #fo-property-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](http://www.w3.org/TR/xsl/#start-indent) | start-indent { #fo-property-start-indent} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.11.8](http://www.w3.org/TR/xsl/#end-indent) | end-indent { #fo-property-end-indent} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.12](http://www.w3.org/TR/xsl/#common-margin-properties-inline) {.category} | Common Margin Properties - Inline {.category} | { #fo-property-commonmargininline-section} | | [§7.12.1](http://www.w3.org/TR/xsl/#d0e21775) | margin-top { #fo-property-margin-top-inline} | Basic{.basic} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§7.12.2](http://www.w3.org/TR/xsl/#d0e21783) | margin-bottom { #fo-property-margin-bottom-inline} | Basic{.basic} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§7.12.3](http://www.w3.org/TR/xsl/#d0e21791) | margin-left { #fo-property-margin-left-inline} | Basic{.basic} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§7.12.4](http://www.w3.org/TR/xsl/#d0e21799) | margin-right { #fo-property-margin-right-inline} | Basic{.basic} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§7.12.5](http://www.w3.org/TR/xsl/#space-end) | space-end { #fo-property-space-end} | Basic{.basic} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§7.12.6](http://www.w3.org/TR/xsl/#space-start) | space-start { #fo-property-space-start} | Basic{.basic} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§7.13](http://www.w3.org/TR/xsl/#common-relative-position-properties) {.category} | Common Relative Position Properties {.category} | { #fo-property-commonrelpos-section} | | [§7.13.1](http://www.w3.org/TR/xsl/#d0e21934) | top { #fo-property-top-relative} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§7.13.2](http://www.w3.org/TR/xsl/#d0e21942) | right { #fo-property-right-relative} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§7.13.3](http://www.w3.org/TR/xsl/#d0e21950) | bottom { #fo-property-bottom-relative} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§7.13.4](http://www.w3.org/TR/xsl/#d0e21958) | left { #fo-property-left-relative} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§7.13.5](http://www.w3.org/TR/xsl/#relative-position) | relative-position { #fo-property-relative-position} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§7.14](http://www.w3.org/TR/xsl/#area-alignment) {.category} | Area Alignment Properties {.category} | { #fo-property-areaalign-section} | | [§7.14.1](http://www.w3.org/TR/xsl/#alignment-adjust) | alignment-adjust { #fo-property-alignment-adjust} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.14.2](http://www.w3.org/TR/xsl/#alignment-baseline) | alignment-baseline { #fo-property-alignment-baseline} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.14.3](http://www.w3.org/TR/xsl/#baseline-shift) | baseline-shift { #fo-property-baseline-shift} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.14.4](http://www.w3.org/TR/xsl/#display-align) | display-align { #fo-property-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](http://www.w3.org/TR/xsl/#dominant-baseline) | dominant-baseline { #fo-property-dominant-baseline} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.14.6](http://www.w3.org/TR/xsl/#relative-align) | relative-align { #fo-property-relative-align} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§7.15](http://www.w3.org/TR/xsl/#d0e22982) {.category} | Area Dimension Properties {.category} | { #fo-property-areadim-section} | | [§7.15.1](http://www.w3.org/TR/xsl/#allowed-height-scale) | allowed-height-scale { #fo-property-allowed-height-scale} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§7.15.2](http://www.w3.org/TR/xsl/#allowed-width-scale) | allowed-width-scale { #fo-property-allowed-width-scale} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§7.15.3](http://www.w3.org/TR/xsl/#block-progression-dimension) | block-progression-dimension { #fo-property-block-progression-dimension} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.15.4](http://www.w3.org/TR/xsl/#content-height) | content-height { #fo-property-content-height} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.15.5](http://www.w3.org/TR/xsl/#content-width) | content-width { #fo-property-content-width} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.15.6](http://www.w3.org/TR/xsl/#height) | height { #fo-property-height} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.15.7](http://www.w3.org/TR/xsl/#inline-progression-dimension) | inline-progression-dimension { #fo-property-inline-progression-dimension} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.15.8](http://www.w3.org/TR/xsl/#max-height) | max-height { #fo-property-max-height} | Complete{.complete} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.15.9](http://www.w3.org/TR/xsl/#max-width) | max-width { #fo-property-max-width} | Complete{.complete} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.15.10](http://www.w3.org/TR/xsl/#min-height) | min-height { #fo-property-min-height} | Complete{.complete} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.15.11](http://www.w3.org/TR/xsl/#min-width) | min-width { #fo-property-min-width} | Complete{.complete} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.15.12](http://www.w3.org/TR/xsl/#scaling) | scaling { #fo-property-scaling} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.15.13](http://www.w3.org/TR/xsl/#scaling-method) | scaling-method { #fo-property-scaling-method} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§7.15.14](http://www.w3.org/TR/xsl/#width) | width { #fo-property-width} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.16](http://www.w3.org/TR/xsl/#d0e24119) {.category} | Block and Line-related Properties {.category} | { #fo-property-blockandline-section} | | [§7.16.1](http://www.w3.org/TR/xsl/#hyphenation-keep) | hyphenation-keep { #fo-property-hyphenation-keep} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§7.16.2](http://www.w3.org/TR/xsl/#hyphenation-ladder-count) | hyphenation-ladder-count { #fo-property-hyphenation-ladder-count} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.16.3](http://www.w3.org/TR/xsl/#last-line-end-indent) | last-line-end-indent { #fo-property-last-line-end-indent} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.16.4](http://www.w3.org/TR/xsl/#line-height) | line-height { #fo-property-line-height} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.16.5](http://www.w3.org/TR/xsl/#line-height-shift-adjustment) | line-height-shift-adjustment { #fo-property-line-height-shift-adjustment} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.16.6](http://www.w3.org/TR/xsl/#line-stacking-strategy) | line-stacking-strategy { #fo-property-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](http://www.w3.org/TR/xsl/#linefeed-treatment) | linefeed-treatment { #fo-property-linefeed-treatment} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.16.8](http://www.w3.org/TR/xsl/#white-space-treatment) | white-space-treatment { #fo-property-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](http://www.w3.org/TR/xsl/#text-align) | text-align { #fo-property-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](http://www.w3.org/TR/xsl/#text-align-last) | text-align-last { #fo-property-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](http://www.w3.org/TR/xsl/#text-indent) | text-indent { #fo-property-text-indent} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.16.12](http://www.w3.org/TR/xsl/#white-space-collapse) | white-space-collapse { #fo-property-white-space-collapse} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.16.13](http://www.w3.org/TR/xsl/#wrap-option) | wrap-option { #fo-property-wrap-option} | Basic{.basic} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | partial{.partial} | Only supported on fo:block. | | [§7.17](http://www.w3.org/TR/xsl/#d0e25178) {.category} | Character Properties {.category} | { #fo-property-char-section} | | [§7.17.1](http://www.w3.org/TR/xsl/#character) | character { #fo-property-character} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.17.2](http://www.w3.org/TR/xsl/#letter-spacing) | letter-spacing { #fo-property-letter-spacing} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.17.3](http://www.w3.org/TR/xsl/#suppress-at-line-break) | suppress-at-line-break { #fo-property-suppress-at-line-break} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§7.17.4](http://www.w3.org/TR/xsl/#text-decoration) | text-decoration { #fo-property-text-decoration} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.17.5](http://www.w3.org/TR/xsl/#text-shadow) | text-shadow { #fo-property-text-shadow} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§7.17.6](http://www.w3.org/TR/xsl/#text-transform) | text-transform { #fo-property-text-transform} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.17.7](http://www.w3.org/TR/xsl/#treat-as-word-space) | treat-as-word-space { #fo-property-treat-as-word-space} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§7.17.8](http://www.w3.org/TR/xsl/#word-spacing) | word-spacing { #fo-property-word-spacing} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.18](http://www.w3.org/TR/xsl/#d0e25895) {.category} | Color-related Properties {.category} | { #fo-property-color-section} | | [§7.18.1](http://www.w3.org/TR/xsl/#color) | color { #fo-property-color} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.18.2](http://www.w3.org/TR/xsl/#color-profile-name) | color-profile-name { #fo-property-color-profile-name} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§7.18.3](http://www.w3.org/TR/xsl/#rendering-intent) | rendering-intent { #fo-property-rendering-intent} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§7.19](http://www.w3.org/TR/xsl/#d0e26080) {.category} | Float-related Properties {.category} | { #fo-property-float-section} | | [§7.19.1](http://www.w3.org/TR/xsl/#clear) | clear { #fo-property-clear} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§7.19.2](http://www.w3.org/TR/xsl/#float) | float { #fo-property-float} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§7.19.3](http://www.w3.org/TR/xsl/#intrusion-displace) | intrusion-displace { #fo-property-intrusion-displace} | Extended{.extended} | no{.no} | no{.no} | no{.no}| no{.no} | no{.no} | no{.no} | | | [§7.20](http://www.w3.org/TR/xsl/#d0e26492) {.category} | Keeps and Breaks Properties {.category} | { #fo-property-keepsbreaks-section} | | [§7.20.1](http://www.w3.org/TR/xsl/#break-after) | break-after { #fo-property-break-after} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.20.2](http://www.w3.org/TR/xsl/#break-before) | break-before { #fo-property-break-before} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.20.3](http://www.w3.org/TR/xsl/#keep-together) | keep-together { #fo-property-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](http://www.w3.org/TR/xsl/#keep-with-next) | keep-with-next { #fo-property-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](http://www.w3.org/TR/xsl/#keep-with-previous) | keep-with-previous { #fo-property-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](http://www.w3.org/TR/xsl/#orphans) | orphans { #fo-property-orphans} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.20.7](http://www.w3.org/TR/xsl/#widows) | widows { #fo-property-widows} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.21](http://www.w3.org/TR/xsl/#d0e26965) {.category} | Layout-related Properties {.category} | { #fo-property-layout-section} | | [§7.21.1](http://www.w3.org/TR/xsl/#clip) | clip { #fo-property-clip} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§7.21.2](http://www.w3.org/TR/xsl/#overflow) | overflow { #fo-property-overflow} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.21.3](http://www.w3.org/TR/xsl/#reference-orientation) | reference-orientation { #fo-property-reference-orientation} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.21.4](http://www.w3.org/TR/xsl/#span) | span { #fo-property-span} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.22](http://www.w3.org/TR/xsl/#d0e27308) {.category} | Leader and Rule Properties {.category} | { #fo-property-leader-section} | | [§7.22.1](http://www.w3.org/TR/xsl/#leader-alignment) | leader-alignment { #fo-property-leader-alignment} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | Not supported | | [§7.22.2](http://www.w3.org/TR/xsl/#leader-pattern) | leader-pattern { #fo-property-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](http://www.w3.org/TR/xsl/#leader-pattern-width) | leader-pattern-width { #fo-property-leader-pattern-width} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.22.4](http://www.w3.org/TR/xsl/#leader-length) | leader-length { #fo-property-leader-length} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.22.5](http://www.w3.org/TR/xsl/#rule-style) | rule-style { #fo-property-rule-style} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.22.6](http://www.w3.org/TR/xsl/#rule-thickness) | rule-thickness { #fo-property-rule-thickness} | Basic{.basic} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.23](http://www.w3.org/TR/xsl/#d0e27719) {.category} | Properties for Dynamic Effects Formatting Objects {.category} | { #fo-property-dynamiceffects-section} | | [§7.23.1](http://www.w3.org/TR/xsl/#active-state) | active-state { #fo-property-active-state} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§7.23.2](http://www.w3.org/TR/xsl/#auto-restore) | auto-restore { #fo-property-auto-restore} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§7.23.3](http://www.w3.org/TR/xsl/#case-name) | case-name { #fo-property-case-name} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§7.23.4](http://www.w3.org/TR/xsl/#case-title) | case-title { #fo-property-case-title} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§7.23.5](http://www.w3.org/TR/xsl/#destination-placement-offset) | destination-placement-offset { #fo-property-destination-placement-offset} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§7.23.6](http://www.w3.org/TR/xsl/#external-destination) | external-destination { #fo-property-external-destination} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.23.7](http://www.w3.org/TR/xsl/#indicate-destination) | indicate-destination { #fo-property-indicate-destination} | Extended{.extended} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | no{.no} | | | [§7.23.8](http://www.w3.org/TR/xsl/#internal-destination) | internal-destination { #fo-property-internal-destination} | Extended{.extended} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | yes{.yes} | | | [§7.23.9](http://www.w3.org/TR/xsl/#show-destination) | show-destination { #fo-property-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 /NewWindow
flag.