In addition to a working knowledge of the Python language, you will need to understand how XSL-FO files are structured. The XSL-FO standard is quite large. You will not need to understand every single feature to generate documents, but you will certainly need access to reference material.
The conceptual model for page makeup is the same as the one used in CSS (Cascading Style Sheets), the W3C standard for formatting HTML. If you already understand concepts such as the box model with its padding, borders, and margins, you have that much less to learn on your way to mastering XSL-FO.
The best single resource for understanding the structure of XSL-FO is this book. Disclaimer: the present author has no financial interest in this book.
Pawson, Dave. XSL-FO: Making XML look good in print. O'Reilly & Associates, 2002, ISBN 0-596-00355-2.
fosox module uses the module described in the
sox.py: Sequential Output of XML
for Python. This
module allows the direct generation of XML content using
stream output, which minimizes memory usage.
Because XSL-FO files can be quite large, the author's
preferred route for direct XML generation, the
etbuilder module described in Python XML processing with
lxml, would be
impractical for the dynamic generation of large
database query reports when available memory is