Covers the big picture and the nitty-gritty of XSL-FO, the XML vocabulary developed at the W3C for specifying formatting semantics.


The course suits someone looking to format XML or HTML for print or electronic delivery with styling that could include headers and footers, multiple page designs, tables of contents, indexes, and other features.


Boilerplate XSLT stylesheets are provided for the exercises, but some knowledge of XSLT is assumed.


By the end of the course, the participants will:

  • Understand XSL-FO and its relationship with other W3C standards
  • Understand the XSL-FO processing model
  • Know how to use a range of FOs and properties
  • Know the lifecycle of a typical XSL-FO project

Duration: 1, 2, or 3 days

XSL-FO Hands On

Our courses emphasise interaction, practical exercises, and examples from your field.


Training is most effective when it relates to what you already do and know. When we customise the course with examples from your own field, it helps you apply your new knowledge even sooner. Alternatively, the course can use general-purpose examples.


We can vary the course duration to suit your needs: a shorter course provides a technology overview and brings everyone up to speed with a common understanding, and a longer course gives you more time to cover the details and more time to spend on exercises.


A qualified trainer will deliver the course at your location, wordwide, or in Dublin, Ireland, where Mentea is located. We can teach one-to-one or to a lecture theatre, although small class sizes are best for practical training.


Sample Course Outline

1 Introduction

  • History
  • Future history
  • Relationship to XSLT
  • Relationship to CSS
  • About the example

2 Basics

  • Processing model
  • FOs and properties
  • Inheritance
  • Just enough datatypes
  • Structure of a FO document
    • fo:root
    • fo:layout-master-set
    • fo:fo-page-sequence
    • fo:flow
  • Exercise: Pour text into pages
  • fo:block
  • Exercise: Blocks in fo:region-body with margins
  • fo:inline, fo:wrapper
  • Basic font-related properties
  • Foreground and background colors
  • Border basics
  • Exercise: Go wild!

3 Details

  • Effect of writing mode
  • Shorthands
  • Exercise: Writing-mode-specific properties and shorthands
  • Columns
  • Keeps and breaks
  • Exercise: Columns, keeps, and breaks
  • The outer limits
  • Numbering pages
  • Markers
  • Exercise: Outer regions, page-numbers, and markers
  • Changing page masters
  • Execcise: Changing page masters
  • Tables
  • Exercise: Tables
  • Lists
  • Exercise: Lists
  • Graphics
  • Floats
  • Exercise: Graphics and floats
  • Footnotes
  • Exercise: Footnotes

4 In Depth

  • Containers
  • Positioning blocks
  • Exercise: Positioning
  • Text properties, fo:character
  • Exercise: Text
  • Bidirectional text
  • Exercise: Bidirectional text
  • Hyphenation
  • Baselines
  • Linking
  • Exercise: Linking
  • Indexing
  • Exercise: Index
  • Leaders
  • Change bars
  • Exercise: Change bars
  • Color profiles
  • Exercise: Color profiles
  • Flow maps
  • Exercise: Flow maps
  • Aural properties
  • Dynamic effects

5 Bigger Picture

  • Specifications
  • Testing
  • Knowing when you’re done