Constrained XSL formatting objects for adaptive documents
The pagination strategy of XSL Formatting Objects (XSL:FO) is based on a "break if no fit" approach that often produces one last page with only one printable object due to a lack of space on the previous page. On a batch, high volume, personalized document production scenario, this fact can represent a high cost on extra sheets of paper with a lot of free space and a document with a poor look. In this paper, we describe a new approach to solve the pagination problem of XSL:FO documents where space use efficiency and aesthetic aspects are considered. The approach is based on constraint satisfaction using Mixed Integer Linear Programming (MILP) models. The starting point was the FO part of XSL specification, where we added a Constrained XSL:FO extension (referred to as CXSL:FO) that delivers tags used to declare constraints on size and font adjustments of target FO objects. This extension is added to our reengineered FOP formatter that builds and solves an MILP model to find the global optimal solution corresponding to a document with the minimum number of pages, each one being maximally filled. We show its effectiveness in the generation of personalized welcome letters.