テキストファイルを印刷(PDF化)するには、何らかの印刷ソフトを使い、印刷する用紙の大きさや文字の大きさなどレイアウトを指定する。それと同じように、XMLドキュメントを印刷するにもレイアウト指定が必要である。
XSL-FO(Extensible Stylesheet Language)は、XMLを印刷するためのレイアウト指定用標準言語の一つである。そして、XSL-FOドキュメントを読んで印刷するソフトがXSL-FOプロセサである。XSL-FOは2001年10月にV1.0が勧告され、2006年12月にV1.1となった。英語の原文は次のところにある。
「Extensible Stylesheet Language (XSL) Version 1.1」(W3C Recommendation 05 December 2006、XSL-FO V1.1)https://www.w3.org/TR/xsl/
また、XSL-FO V1.1の日本語訳はJIS X 4179:2010「拡張可能なスタイルシート言語(XSL)1.1」になっている。
XSL-FOはマークアップ言語と印刷の専門家が、英知を集めて開発したものであり、歴史に残るだろう。しかし、仕様書原文はXSL-FOプロセサ開発者向けの内容が多く、利用者にとっては難解すぎる。そこで、本書では主としてXSL-FOプロセサを利用する人を想定し、XSL-FO仕様の要点を図やサンプルを使って解説した。XSL-FOは機能拡張が容易であり、それぞれのXSL-FOプロセサがさまざまな拡張機能を提供しているが、本書はXSL-FO V1.1の標準仕様の範囲内での解説にとどめている。なお、本書はXSL-FOの仕様を網羅していないので、すべてを網羅したい方は仕様書原文を参照されたい。