RenderX

Chapter 11 of the IREn User Guide

XSL-FO Conformance

A.1. XSL-FO Support

This appendix describes the implementation of XSL Formatting Objects in IREn — an XSL Engine for PDF developed by RenderX, Inc, version 4.31.529. It lists all supported formatting objects and their properties, provides information about fallbacks for unsupported objects and discusses details of interpretation of XSL specifications adopted in the engine.

Note: IREn implements Extensible Stylesheet Language version 1.0 as specified in the XSL 1.0 Recommendation of October 15, 2001.

See also Appendix B.

A.1.1. Formatting Objects Supported by IREn

§

Object Name

Supported

6.4.2

<fo:root>

Yes

6.4.3

<fo:declarations>

No

6.4.4

<fo:color-profile>

No

6.4.5

<fo:page-sequence>

Yes

6.4.6

<fo:layout-master-set>

Yes

6.4.7

<fo:page-sequence-master>

Yes

6.4.8

<fo:single-page-master-reference>

Yes

6.4.9

<fo:repeatable-page-master-reference>

Yes

6.4.10

<fo:repeatable-page-master-alternatives>

Yes

6.4.11

<fo:conditional-page-master-reference>

Yes

6.4.12

<fo:simple-page-master>

Yes

6.4.13

<fo:region-body>

Yes

6.4.14

<fo:region-before>

Yes

6.4.15

<fo:region-after>

Yes

6.4.16

<fo:region-start>

Yes

6.4.17

<fo:region-end>

Yes

6.4.18

<fo:flow>

Yes

6.4.19

<fo:static-content>

Yes

6.4.20

<fo:title>

No

6.5.2

<fo:block>

Yes

6.5.3

<fo:block-container>

Yes

6.6.2

<fo:bidi-override>

Yes

6.6.3

<fo:character>

Yes

6.6.4

<fo:initial-property-set>

Yes

6.6.5

<fo:external-graphic>

Yes

6.6.6

<fo:instream-foreign-object>

Yes[a]

6.6.7

<fo:inline>

Yes

6.6.8

<fo:inline-container>

No[b]

6.6.9

<fo:leader>

Yes[c]

6.6.10

<fo:page-number>

Yes

6.6.11

<fo:page-number-citation>

Yes

6.7.2

<fo:table-and-caption>

Yes

6.7.3

<fo:table>

Yes

6.7.4

<fo:table-column>

Yes

6.7.5

<fo:table-caption>

Yes

6.7.6

<fo:table-header>

Yes

6.7.7

<fo:table-footer>

Yes

6.7.8

<fo:table-body>

Yes

6.7.9

<fo:table-row>

Yes

6.7.10

<fo:table-cell>

Yes

6.8.2

<fo:list-block>

Yes

6.8.3

<fo:list-item>

Yes

6.8.4

<fo:list-item-body>

Yes

6.8.5

<fo:list-item-label>

Yes

6.9.2

<fo:basic-link>

Yes

6.9.3

<fo:multi-switch>

-

6.9.4

<fo:multi-case>

-

6.9.5

<fo:multi-toggle>

-

6.9.6

<fo:multi-properties>

-

6.9.7

<fo:multi-property-set>

-

6.10.2

<fo:float>

Yes[d]

6.10.3

<fo:footnote>

Yes

6.10.4

<fo:footnote-body>

Yes

6.11.2

<fo:wrapper>

Yes

6.11.3

<fo:marker>

Yes[e]

6.11.4

<fo:retrieve-marker>

Yes

[a] <fo:instream-foreign-object> can host SVG graphics.

[b] All content is placed inline.

[c] In this version, only plain text can be put inside leaders with leader-pattern="use-content".

[d] Top-floats (float="before") area is drawn on top of the following page.

[e] In the current version, markers cannot be specified as children of <fo:wrapper>.

A.1.2. Formatting Properties Supported by IREn

§

Property Name

Implemented

7.4.1

source-document

No

7.4.2

role

No

7.5.1

absolute-position

Yes[a]

7.5.2

top

Yes

7.5.3

right

Yes

7.5.4

bottom

Yes

7.5.5

left

Yes

7.6.1

azimuth

-

7.6.2

cue-after

-

7.6.3

cue-before

-

7.6.4

elevation

-

7.6.5

pause-after

-

7.6.6

pause-before

-

7.6.7

pitch

-

7.6.8

pitch-range

-

7.6.9

play-during

-

7.6.10

richness

-

7.6.11

speak

-

7.6.12

speak-header

-

7.6.13

speak-numeral

-

7.6.14

speak-punctuation

-

7.6.15

speech-rate

-

7.6.16

stress

-

7.6.17

voice-family

-

7.6.18

volume

-

7.7.1

background-attachment

Yes

7.7.2

background-color

Yes

7.7.3

background-image

Yes

7.7.4

background-repeat

Yes

7.7.5

background-position-horizontal

Yes[b]

7.7.6

background-position-vertical

Yes[b]

7.7.7

border-before-color

Yes

7.7.8

border-before-style

Yes

7.7.9

border-before-width

Yes

7.7.10

border-after-color

Yes

7.7.11

border-after-style

Yes

7.7.12

border-after-width

Yes

7.7.13

border-start-color

Yes

7.7.14

border-start-style

Yes

7.7.15

border-start-width

Yes

7.7.16

border-end-color

Yes

7.7.17

border-end-style

Yes

7.7.18

border-end-width

Yes

7.7.19

border-top-color

Yes

7.7.20

border-top-style

Yes

7.7.21

border-top-width

Yes

7.7.22

border-bottom-color

Yes

7.7.23

border-bottom-style

Yes

7.7.24

border-bottom-width

Yes

7.7.25

border-left-color

Yes

7.7.26

border-left-style

Yes

7.7.27

border-left-width

Yes

7.7.28

border-right-color

Yes

7.7.29

border-right-style

Yes

7.7.30

border-right-width

Yes

7.7.31

padding-before

Yes

7.7.32

padding-after

Yes

7.7.33

padding-start

Yes

7.7.34

padding-end

Yes

7.7.35

padding-top

Yes

7.7.36

padding-bottom

Yes

7.7.37

padding-left

Yes

7.7.38

padding-right

Yes

7.8.2

font-family

Yes

7.8.3

font-selection-strategy

Yes

7.8.4

font-size

Yes

7.8.5

font-stretch

Yes

7.8.6

font-size-adjust

Yes

7.8.7

font-style

Yes

7.8.8

font-variant

No

7.8.9

font-weight

Yes

7.9.1

country

No

7.9.2

language

Yes

7.9.3

script

No

7.9.4

hyphenate

Yes

7.9.5

hyphenation-character

Yes

7.9.6

hyphenation-push-character-count

Yes

7.9.7

hyphenation-remain-character-count

Yes

7.10.1

margin-top

Yes

7.10.2

margin-bottom

Yes

7.10.3

margin-left

Yes

7.10.4

margin-right

Yes

7.10.5

space-before

Yes

7.10.6

space-after

Yes[c]

7.10.7

start-indent

Yes

7.10.8

end-indent

Yes

7.11.1

space-end

Yes

7.11.2

space-start

Yes

7.12.1

relative-position

No

7.13.1

alignment-adjust

Yes

7.13.2

alignment-baseline

Yes

7.13.3

baseline-shift

Yes

7.13.4

display-align

Yes

7.13.5

dominant-baseline

Yes

7.13.6

relative-align

Yes[d]

7.14.1

block-progression-dimension

Yes

7.14.2

content-height

Yes[e]

7.14.3

content-width

Yes[e]

7.14.4

height

Yes

7.14.5

inline-progression-dimension

Yes

7.14.6

max-height

No[f]

7.14.7

max-width

No[g]

7.14.8

min-height

No[h]

7.14.9

min-width

No[i]

7.14.10

scaling

Yes

7.14.11

scaling-method

No

7.14.12

width

Yes

7.15.1

hyphenation-keep

No

7.15.2

hyphenation-ladder-count

No

7.15.3

last-line-end-indent

Yes

7.15.4

line-height

Yes

7.15.5

line-height-shift-adjustment

Yes

7.15.6

line-stacking-strategy

Yes

7.15.7

linefeed-treatment

Yes[j]

7.15.8

white-space-treatment

Yes

7.15.9

text-align

Yes[k]

7.15.10

text-align-last

Yes

7.15.11

text-indent

Yes

7.15.12

white-space-collapse

Yes[l]

7.15.13

wrap-option

Yes

7.16.1

character

Yes

7.16.2

letter-spacing

Yes

7.16.3

suppress-at-line-break

No

7.16.4

text-decoration

Yes

7.16.5

text-shadow

Yes[m]

7.16.6

text-transform

Yes[n]

7.16.7

treat-as-word-space

No

7.16.8

word-spacing

Yes

7.17.1

color

Yes

7.17.2

color-profile-name

No

7.17.3

rendering-intent

No

7.18.1

clear

Yes

7.18.2

float

Yes[o]

7.18.3

intrusion-displace

Yes[p]

7.19.1

break-after

Yes

7.19.2

break-before

Yes

7.19.3

keep-together

Yes[q]

7.19.4

keep-with-next

Yes[q]

7.19.5

keep-with-previous

Yes[q]

7.19.6

orphans

Yes

7.19.7

widows

Yes

7.20.1

clip

No

7.20.2

overflow

Yes[r]

7.20.3

reference-orientation

Yes

7.20.4

span

Yes

7.21.1

leader-alignment

No

7.21.2

leader-pattern

Yes

7.21.3

leader-pattern-width

Yes

7.21.4

leader-length

Yes

7.21.5

rule-style

Yes

7.21.6

rule-thickness

Yes

7.22.1

active-state

-

7.22.2

auto-restore

-

7.22.3

case-name

-

7.22.4

case-title

-

7.22.5

destination-placement-offset

No

7.22.6

external-destination

Yes[s]

7.22.7

indicate-destination

No

7.22.8

internal-destination

Yes

7.22.9

show-destination

Yes[t]

7.22.10

starting-state

-

7.22.11

switch-to

-

7.22.12

target-presentation-context

-

7.22.13

target-processing-context

-

7.22.14

target-stylesheet

-

7.23.1

marker-class-name

Yes

7.23.2

retrieve-class-name

Yes

7.23.3

retrieve-position

Yes

7.23.4

retrieve-boundary

Yes

7.24.1

format

Yes

7.24.2

grouping-separator

No

7.24.3

grouping-size

No

7.24.4

letter-value

No

7.25.1

blank-or-not-blank

Yes

7.25.2

column-count

Yes

7.25.3

column-gap

Yes

7.25.4

extent

Yes

7.25.5

flow-name

Yes

7.25.6

force-page-count

Yes[u]

7.25.7

initial-page-number

Yes

7.25.8

master-name

Yes

7.25.9

master-reference

Yes

7.25.10

maximum-repeats

Yes

7.25.11

media-usage

No

7.25.12

odd-or-even

Yes

7.25.13

page-height

Yes

7.25.14

page-position

Yes

7.25.15

page-width

Yes

7.25.16

precedence

Yes

7.25.17

region-name

Yes

7.26.1

border-after-precedence

Yes

7.26.2

border-before-precedence

Yes

7.26.3

border-collapse

Yes

7.26.4

border-end-precedence

Yes

7.26.5

border-separation

Yes

7.26.6

border-start-precedence

Yes

7.26.7

caption-side

Yes[v]

7.26.8

column-number

Yes

7.26.9

column-width

Yes

7.26.10

empty-cells

No[w]

7.26.11

ends-row

Yes

7.26.12

number-columns-repeated

Yes

7.26.13

number-columns-spanned

Yes

7.26.14

number-rows-spanned

Yes

7.26.15

starts-row

Yes

7.26.16

table-layout

Yes

7.26.17

table-omit-footer-at-break

Yes

7.26.18

table-omit-header-at-break

Yes

7.27.1

direction

Yes

7.27.2

glyph-orientation-horizontal

No

7.27.3

glyph-orientation-vertical

No

7.27.4

text-altitude

Yes

7.27.5

text-depth

Yes

7.27.6

unicode-bidi

Yes[x]

7.27.7

writing-mode

Yes[y]

7.28.1

content-type

Yes

7.28.2

id

Yes

7.28.3

provisional-label-separation

Yes

7.28.4

provisional-distance-between-starts

Yes

7.28.5

ref-id

Yes

7.28.6

score-spaces

No

7.28.7

src

Yes[z]

7.28.8

visibility

No

7.28.9

z-index

Yes[aa]

7.29.1

background

Yes

7.29.2

background-position

Yes

7.29.3

border

Yes

7.29.4

border-bottom

Yes

7.29.5

border-color

Yes

7.29.6

border-left

Yes

7.29.7

border-right

Yes

7.29.8

border-style

Yes

7.29.9

border-spacing

Yes

7.29.10

border-top

Yes

7.29.11

border-width

Yes

7.29.12

cue

-

7.29.13

font

Yes

7.29.14

margin

Yes

7.29.15

padding

Yes

7.29.16

page-break-after

Yes

7.29.17

page-break-before

Yes

7.29.18

page-break-inside

Yes

7.29.19

pause

-

7.29.20

position

Yes

7.29.21

size

Yes

7.29.22

vertical-align

Yes

7.29.23

white-space

Yes

7.29.24

xml:lang

No

[a] absolute-position="fixed" works on <fo:block-container> only.

[b] When the background image is repeated along an axis, its offset on this axis is ignored.

[c] space-after.conditionality="discard" is not implemented, fallback value is "retain".

[d] Supported on <fo:list-item>. On <fo:table-cell> elements, falls back to relative-align="before".

[e] The values "scale-up-to-fit" and "scale-down-to-fit" introduced in XSL 1.1, as well as the attributes allowed-width-scale and allowed-height-scale, are supported Starting from version 4.19.

[f] Maps to height.

[g] Maps to width.

[h] Maps to height.

[i] Maps to width.

[j] Value "treat-as-zero-width-space" for linefeed-treatment is not implemented. This property does not work on inlines.

[k] <string> values for text-align are not implemented. text-align on <fo:table-and-caption> is not implemented.

[l] This property does not work on inlines.

[m] Blurred shadows are not supported; blur radius is ignored.

[n] To transform a Unicode character to uppercase/lowercase, IREn uses methods provided by the runtime (Java or .NET). In order for this property to work as expected, you should use correct Unicode values for glyphs in your fonts, and set up local information in your environment properly.

[o] Two additional values, "inside" and "outside", are supported. Their meaning is the same as in text-align property.

[p] "indent" value is not implemented.

[q] .within-page component is unsupported; it is mapped to .within-column. Only "auto" and "always" values are recognized properly: numeric values are treated as "always". In tables, keep-with-previous/keep-with-next traits ignore table headers and footers: e.g. keep-with-previous condition specified on a row will keep it with the previous one regardless of the intervening header. If specified on the first row of the first <fo:table-body> in a table, keep-with-previous will attach the whole table to the preceding block-level element.

[r] Supported on side floats and absolutely positioned and rotated block-containers with fixed dimensions. When "error-if-overflow" is specified, a warning is issued on overflow, and the element is discarded in the same way as for "hidden" value.

[s] In PDF and PostScript generators, URLs starting with explicit "file:" protocol specification are rendered as PDF-to-PDF links ("remote go-to actions"). All other links are treated as Internet URIs, and open in a browser.

[t] show-destination is honored for creation of links between PDF documents ("remote go-to actions") in PDF and PostScript generators. In other cases, the attribute is not applicable.

[u] Value domain "xN" where x is a literal "x" and N is and integer greater than 1 is a RenderX extension. An <fo:page-sequence> with such value of force-page-count generates a number of pages that is a multiple of N. Blank pages are padded to satisfy this requirement.

[v] Only "before" and "after" values are implemented: caption-side="start" falls back to "before," and caption-side="end" falls back to "after."

[w] In the current implementation, all cells present in the source document are shown regardless of whether their content is empty; cells not presented in the source aren't visible at all.

[x] Bidi implementation differs from Unicode Bidi algorithm: any markup element opens a new level of embedding. Consequently, unicode-bidi="normal" is not supported (treated as "embed"); see detailed discussion below.

[y] Only "lr-tb" and "rl-tb" values are supported. All other values are treated as "lr-tb."

[z] In addition to protocols provided by the runtime (Java or .NET), IREn supports data: URI scheme (RFC 2397).

[aa] z-index property is supported for block-containers with absolute-position="fixed".

A.1.3. Notes on Formatting Objects Implementation

  • <fo:block> According to the specification, an empty block that has a non-null padding and/or border should be visible. IREn suppresses all blocks that have no visible contents regardless of their border or padding attributes.

  • <fo:bidi-override> In the current implementation of bidi algorithm, any markup element opens a new level of embedding. Consequently, unicode-bidi="normal" is not supported: <fo:bidi-override> behaves as if unicode-bidi="embed" were specified.

  • <fo:inline-container> Unsupported; contents are placed inline.

  • <fo:multi-switch>, <fo:multi-case>, <fo:multi-toggle>, <fo:multi-properties>, <fo:multi-property-set> Unsupported; contents are ignored. These elements deal with interactivity. Since PDF and PostScript are intrinsically static formats, none of them are applicable.

  • <fo:float> The before-float appears at the top of the next page.

  • <fo:table-caption> Only "before" and "after" captions are implemented. Side captions are treated as follows: caption-side="start" falls back to "before", and caption-side="end" falls back to "after."

  • <fo:table-footer> Table footer repetition is not implemented. The element is drawn once at the end of table.

  • <fo:table-column> In the collapsed border model, only border-start and border-end are supported on <fo:table-column> elements.

  • <fo:table-row> In the collapsed border model, only border-before and border-after are supported on <fo:table-row> elements.

  • <fo:table-cell> If a cell spans multiple rows in a table with a collapsed border model, its border-after is taken from the row where the cell begins.

  • <fo:leader> In this version, leaders with leader-pattern="use-content" can only contain plain text inside; all formatting is lost.

  • <fo:marker> This version cannot process markers specified as children of an <fo:wrapper>.

A.1.4. Supported Expressions

IREn implements a subset of XSL algebraic expressions. The following operators and functions are recognized:

  • Arithmetical operators: +, -, *, div, mod

  • floor()

  • ceiling()

  • round()

  • abs()

  • max()

  • min()

  • rgb()

  • rgb-icc() (supported partially — see notes below)

  • from-nearest-specified-value()

  • from-parent()

  • from-table-column()

  • inherited-property-value()

  • proportional-column-width()

  • body-start() (standalone use only, cannot be an operand in expressions)

  • label-end() (standalone use only, cannot be an operand in expressions)

Function rgb-icc() recognizes four predefined color profile names: #Grayscale, #CMYK, #SpotColor, and #Registration (see details below). For any other value of the fourth parameter, the function returns the fallback RGB color. ICC profiles are not supported.

Support for expressions is subject to the following limitations:

  • For compound expressions, the result of evaluation of all intermediate subexpressions must be a valid XSL type. For example, expression (2in * 2in) div 1in is not supported because its first subexpression yields dimensionality of square inches, which is not a valid XSL unit; while 2in * (2in div 1in) works.

  • Expressions that require knowledge of layout to evaluate (e.g. Block widths expressed in percentages) can only be used as standalone expressions, not parts of a bigger expression, and cannot be referenced by property-value functions. The same limitation applies to body-start() and label-end() functions.

  • Property value functions (from-nearest-specified-value(), from-parent(), from-table-column(), inherited-property-value()) cannot be used in shorthands, and cannot take shorthand property names as their arguments.

  • Property value functions that take start-indent/end-indent as arguments may not work correctly if the block with indents is placed into another block that has CSS-style margin-* attributes. For safety, use either expressions with indents, or CSS margins; mixing these two coding styles in the same stylesheet may yield unpredictable results.

A.1.5. Color Specifiers

IREn can produce PDF and PostScript output using the following color types:

  1. Grayscale. The following specifiers produce grayscale color output:

    • Predefined HTML and SVG names that correspond to RGB values with R = G = B: white, black, silver, gray, grey, lightgray, lightgrey, darkgray, darkgrey, dimgray, dimgrey, whitesmoke, gainsboro.

    • HTML-style RGB values with R = G = B: #555, #9D9D9D, etc.

    • rgb-icc() function with built-in #Grayscale pseudo profile. Gray tone intensity is specified as a real value in the range 0.01.0, the 5th argument to the function. Example:

      rgb-icc (128, 128, 128, #Grayscale, 0.5)
      
  2. RGB. The following specifiers produce RGB color output:

    • HTML and SVG predefined names, and RGB specifiers that are not mentioned above.

    • rgb() function. Values of color components are specified as real values in the range 0.0255.0. Example:

      rgb (127.5, 39.86, 255)
      
  3. CMYK. The following specifier produce CMYK color output:

    • rgb-icc() function with built-in #CMYK pseudo profile. Ink values are specified as real values in the range 0.01.0, arguments from 5th to 8th; order of inks is cyanmagentayellowblack. Example:

      rgb-icc (255, 255, 0, #CMYK, 0, 0, 1, 0)
      
  4. Spot colors. The following specifiers produce spot color output:

    • rgb-icc() function with built-in #SpotColor pseudo profile. The 5th argument is the colorant name, specified as a string; use quotes if the name contains spaces. The 6th argument is the tint value, specified as a real number in the range 0.01.0. These mandatory attributes may be followed by an optional specification of the alternate color for the colorant, in either CMYK or grayscale color space: 7th argument is the color space name (either #CMYK or #Grayscale), and the rest are component intensities (1 for grayscale, 4 for CMYK).

      Note: The alternate color specifies an equivalent representation for the full colorant intensity. Occurrences of the same spot color with different tints should have the same alternate color specifier.

      If the alternate color is not specified, IREn looks it up in SpotColor matching table (path to the table is defined by the <SPOT_COLOR_TRANSLATION_TABLE> option); if no matches found, black color in grayscale color space is used.

      Examples:

      rgb-icc(255,255,0, #SpotColor,'PANTONE Orange 021 C',0.33)
      rgb-icc(255,255,0, #SpotColor,'PANTONE 169 M',0.5, #CMYK,0,0.2,0.2,0)
      rgb-icc(255,255,0, #SpotColor,MyColor,0.33, #Grayscale,0.5)
      
      
  5. Registration color. The following specifier produces registration (all-colorants) color output:

    • rgb-icc() function with built-in #Registration pseudo profile. Tint intensity is specified as a real value in the range 0.01.0, the 5th argument to the function. Example:

      rgb-icc (128, 128, 128, #Registration, 0.5)
      

A.2. XSL 1.1 Support

XSL 1.1 Recommendation introduced a number of new features compared to XSL 1.0. Some of these new features closely match existing RenderX extensions. Before version 4.19, IREn included an XSLT stylesheet to convert XSL 1.1 elements and attributes to XSL 1.0 with RenderX extensions. Starting from version 4.19 and later this conversion is perfomed in Java code for higher perfomance and lower memory requirements.

The new features of XSL 1.1 that are supported by converting to RenderX extensions are the following:

  1. Section A.2.1

  2. Section A.2.2

  3. Section A.2.3

  4. Section A.2.4

  5. Section A.2.5

Since there is no correspondence in RenderX extensions for some elements and attributes from XSL 1.1, they are ignored by IREn core. Following is a list of unsupported XSL 1.1 elements and attributes:

  • <fo:page-sequence-wrapper>

  • <fo:flow-map>

  • <fo:flow-assignment>

  • <fo:flow-source-list>

  • <fo:flow-target-list>

  • <fo:flow-name-specifier>

  • <fo:region-name-specifier>

  • <fo:index-page-number-prefix>

  • <fo:index-page-number-suffix>

  • @index-class

  • @merge-ranges-across-index-key-references

  • @merge-pages-across-index-key-references

  • <fo:scaling-value-citation>

A.2.1. Document Outline (Bookmarks)

§XSL 1.1 Object/Property NameRenderX Extensions Object/Property Name
6.11.1<fo:bookmark-tree><rx:outline>
6.11.2<fo:bookmark><rx:bookmark>
6.11.3<fo:bookmark-title><rx:bookmark-label>
7.23.6external-destinationexternal-destination
7.23.8internal-destinationinternal-destination
7.23.10starting-statecollapse-subtree
7.18.1colorcolor
7.9.7font-stylefont-style
7.9.9font-weightfont-weight

Note: The appearance of bookmark label (color, font-style and font-weight attributes) is only supported in the PDF generator Starting from version 4.19, and only if the PDF_VERSION option is set to 1.4 or higher.

A.2.2. Indexes

§XSL 1.1 Object/Property NameRenderX Extensions Object/Property Name
6.10.2<fo:index-page-number-prefix>No correspondence, ignored
6.10.3<fo:index-page-number-suffix>No correspondence, ignored
6.10.4<fo:index-range-begin><rx:begin-index-range>
6.10.5<fo:index-range-end><rx:end-index-range>
6.10.6<fo:index-key-reference><rx:index-item>
6.10.7<fo:index-page-citation-list><rx:page-index>
6.10.8<fo:index-page-citation-list-separator>list-separator
6.10.9<fo:index-page-citation-range-separator>range-separator
7.24.1index-class No correspondence, ignored
7.24.2index-keyrx:key
7.24.3page-number-treatmentlink-back
7.24.4merge-ranges-across-index-key-references No correspondence, ignored
7.24.5merge-sequential-page-numbersmerge-subsequent-page-numbers
7.24.6merge-pages-across-index-key-references No correspondence, ignored
7.24.7ref-index-key<rx:index-item>/ref-key
7.30.8idid
7.30.13ref-idref-id

A.2.3. Last Page Number Reference

§XSL 1.1 Object NameRenderX Extensions Object Name
6.6.12<fo:page-number-citation-last><rx:page-number-citation-last>

The only required attribute, ref-id, specifies the id of the element whose last page number is retrieved.

A.2.4. Change Bars

§XSL 1.1 Object NameRenderX Extensions Object Name
6.13.2<fo:change-bar-begin><rx:change-bar-begin>
6.13.3<fo:change-bar-end><rx:change-bar-end>

All properties of <fo:change-bar-begin> and <fo:change-bar-end> map to themselves.

A.2.5. Folio Prefix and Suffix

§XSL 1.1 Object NameXSL 1.0 Object Name
6.6.13<fo:folio-prefix><the content>
6.6.14<fo:folio-suffix><the content>

The content of <fo:folio-prefix> (<fo:folio-suffix>) is added inline before (after) all occurrences of <fo:page-number>, <fo:page-number-citation>, and <fo:page-number-citation-last> referring to elements in the respective <fo:page-sequence>. In case of <fo:page-number> it is always the current page sequence.

Note: Starting from version 4.19, support for <fo:folio-prefix> and <fo:folio-suffix> on <fo:page-number> is always on.

However, the respective support for these features on <fo:page-number-citation> and <fo:page-number-citation-last>, implemented in Java, requires a second pass, which takes some additional time and memory due to existence of forward references. Starting from version 4.19 the availability of this feature on these referential elements is controlled by the ENABLE_FOLIO core option, which is disabled by default.

Download the complete IREn User Guide as PDF