XSL-FO Functions

1. XSL-FO library functions


XSL-FO library functions

Nikolai Grigoriev

All examples in the XSL spec refer to an FO processor. While you can can (and should) calculate most values in XSLT, there are cases where the exact value of a property can only be found during the formatting. Examples:

 content-width="max(2in, 50%)"

Width of an image should be 2 inches or 50% of the parent reference area width, whichever is greater. The width of an area is calculated during formatting, and depends on page width; you cannot get it in XSLT.

 padding="1em + 3pt"

Padding is equal to the current font size, plus 3 points. While it is possible to calculate the font size in a given point in XSLT, it is hardly worth doing: you have to cope with inheritance.

 > The reason I am confused is because the example given inside section
 > 5.10.1 uses units inside the function's argument which is giving
 > the FO processor a real hard time.

Not necessarily. An XSL FO processor knows length units, and has no problems dividing them.