518. XSLFO
Version 1.0.2

Book cover

This course introduces the eXtensible Stylesheet Language, or XSL -- also known as XSL with Formatting Objects or XSLFO, to distinguish it clearly from XSLT. XSLFO provides the ultimate, standards-based solution to producing print and other presentation documents from XML information. This course teaches XSL with a focus on producing PDFs, using Apache FOP as the formatting engine. Though XSL is quite a dense technology, this one-day course provides a solid grounding in the basic techniques, and students will leave the course ready to tackle simple to moderately complex formatting tasks.


  • Students must be fluent in XML and comfortable with XSLT, as the exercises involve a good deal of hand-writing the transformations that produce the XSL formatting documents. Course 516 is excellent preparation

Learning Objectives

  • Describe the relationship between XSLT and XSLFO, and their roles in the typical XML-to-print production process.
  • Understand the formatting objects model, including the concepts of page, area, block, and line.
  • Build page masters and master sets to define common page layouts and area models.
  • Build page sequences to produce body, header and footer content.
  • Format content using blocks, inlines, lists and tables.
  • Take explicit control of document pagination.
  • Apply properties to formatting objects and use XSLFO's property-inheritance model effectively.
  • Build tables of contents and embed hyperlinks into documents.

Timeline: 1 day.

Chapter 1. Getting Started

  • Formatting XML
  • XSLT and XSLFO
  • Flow of Information
  • Formatting Objects
  • Properties

Chapter 2. Page Masters

  • Pages and Areas
  • The Page-Master Model
  • Regions
  • Writing Mode and Orientation
  • The Page-Sequence Model
  • Flows
  • Page-Sequence Masters
  • Properties and the Inheritance Model

Chapter 3. Formatting

  • Flows
  • Blocks and Layout Options
  • Inlines and Layout Options
  • Lists
  • Tables
  • Controlling Pagination

Chapter 4. Formatting

  • Page Numbering
  • Identifying Content
  • Page-Number Citations
  • Links
  • Tables of Contents

Appendix A. Learning Resources

System Requirements

Hardware Requirements (Minimum) 500 MHz, 256 meg RAM, 50 meg disk space.
Hardware Requirements (Recommended) 1.5 GHz, 512 meg RAM, 50 meg disk space.
Operating System Tested on Windows XP Professional. The course software should be viable on all Windows or Linux systems which support a J2SE 1.4 SDK (if using FOP) or another compliant XSLFO processor.
Network and Security Limited privileges required -- please see our standard security requirements.
Software Requirements All free downloadable tools.