Home > Store

Definitive XSL-FO

Register your product to gain access to bonus material or receive a coupon.

Definitive XSL-FO


  • Sorry, this book is no longer in print.
Not for Sale


  • Copyright 2003
  • Dimensions: 7" x 9-1/4"
  • Pages: 480
  • Edition: 1st
  • Book
  • ISBN-10: 0-13-140374-5
  • ISBN-13: 978-0-13-140374-1

“Holman is my main source of information on XSL-FO … a life saver on projects where we print XML information.”

—W. Eliot Kimber, ISOGEN International

  • Format, paginate, and publish your XML data with full graphic-arts quality!
  • Comprehensive: Covers every formatting object in the W3C® XSL-FO Recommendation
  • Proven: Based on fully tested materials used in public seminars and corporate training programs throughout the world
  • Concise: Bullet-point, bite-size presentation helps you master XSL-FO fast!
  • Authoritative: From the founder of the OASIS XML and XSLT conformance committees

“For centuries, humanity has accessed information with proven page-oriented navigational tools and sophisticated formatting. Just printing Web pages won’t do this job for your data—you need the power of XSL-FO. Join the thousands who have learned how from Ken Holman.”

—Charles F. Goldfarb

The definitive guide to state-of-the-art XML publishing with XSL-FO!

XSL-FO (XSL-Formatting Objects) enables enterprise applications to publish graphic-arts quality printed and electronic documents from any XML data store, no matter how large or complex. In Definitive XSL-FO, one of the world’s leading XML experts shows how XSL-FO is revolutionizing document publishing. The book offers concise, authoritative, example-rich guidance on using the entire XSL-FO specification, including:

  • XSL-FO’s objectives, semantics, and vocabulary
  • Key concepts, including layout-based versus content-based formatting, and formatting versus rendering
  • Area and page fundamentals: area models, block and inline basics, containers, page definition, and sequencing
  • Generic body constructs and tables
  • Static content and page geometry sequencing
  • Footnotes, floats, breaks, keeps, spacing, borders, and backgrounds
  • Interactive objects for dynamic displays
  • Supplemental publishing objects, including bidirectional Unicode scripts
  • Using XSLT with XSL-FO

Includes powerful quick reference tables for XSL-FO expressions, objects, and properties

Part of The Charles F. Goldfarb Definitive XML Series™

Sample Content

Online Sample Chapter

XSL-FO Floats and Footnotes

Downloadable Sample Chapter

Download the Sample Chapter related to this title.

Table of Contents




1. Introducing XSL-FO.

2. XSL-FO in context.

The XML Family of Recommendations. Examples.

3. Basic Concepts.

Formatting and Rendering. Processing Model. Formatting Object XML Vocabulary.

4. Areas and Pages.

Area Model Details. Block and Inline Basics. Container Basics. Page Definition and Sequencing.

5. Generic Body Constructs.

Lists. Graphics and Foreign Objects. Links. Leaders.

6. Tables.

Tabular Structure. Tabular Appearance.

7. Static Content and Page Geometry Ssequencing.

Page Regions, Headers, and Footers. Content Definition 199. Page Sequence Master Interleave (PSMI). Page Geometry Sequencing.

8. Floats and Footnotes.

Floats. Footnotes.

9. Breaks, Borders, and Backgrounds.

Breaks. Widows and Orphans. Keeps. Spacing, Conditionality, and Precedence. Borders. Backgrounds.

10. Interactive Objects.

Reflecting Formatting Object State by Appearance. Interactively Changing the Effective Flow.

11. Supplemental Objects.

Specialty Formatting Objects. The Importance of Bidirectional Text. The Mechanics of Mixing Text of Different Writing Directions. The Bidirectional Support Challenge. The Bidi-Override Object. The Character Object. The Color-Profile Object. The Declarations Object.

Appendix A. Using XSLT with XSL-FO.

XSLT Language Features Supporting XSL-FO. XSL-FO Language Features Similar to XSLT and Xpath.

Appendix B. Expressions.

Production Summary. XSL-FO Functions.

Appendix C. Objects.

Objects Summarized by Name. Objects Summarized by Type.

Appendix D. Properties.

Common Properties. Data Types. Inheritance and Shorthands. Property Summary.

Appendix E. Choosing XSL-FO Products.



We often take the printed form of information for granted.

Yet how many of us are satisfied with the printing functionality of a web browser? How often have you found the paginated result of printing a lengthy web document as easy to navigate as the electronic original?

Navigating a paginated document is very different from navigating a web page, and browser-based navigation mechanisms, understandably, will not work on printed output. How would we follow a printed hyperlink when the visible clickable content hides the underlying hyperlink target address?

When we produce a paginated presentation of our XML information, we necessarily must offer to the consumers of our documents a set of navigation tools different from those available on our web pages. These navigational aids have been honed since bound books have been used: headers, footers, page numbers, and page number citations are some of the constructs we use to find our way around a collection of fixed-sized folios of information.

Layout and typesetting controls give us the power to express our information on pages in a visually pleasing and perhaps meaningful way using a set of familiar typesetting conventions. Vendors of printing and publishing software have offered proprietary solutions implementing their choices of controls and aspects of layout using their semantics for paginated production. We may have been reluctant to use these proprietary tools for fear of locking ourselves into a technology not supported, or not supported well, by any other application.

Layout standards

Many aspects of layout are, in fact, adopted in the Web community; they are applicable for electronic displays and described in Recommendations such as Cascading Style Sheets (CSS). This Recommendation defines presentation semantics in areas such as font, margin, and color properties. Paginating marked up information is also not something new. The Document Style Semantics and Specification Language (DSSSL), the international standard on which XSL-FO is based, was used originally with SGML documents and therefore works unchanged with XML documents.

Accepting that HTML and CSS are suitable and sufficient for browser-oriented rendering of information, the W3C set out to define a collection of pagination semantics for print-oriented rendering. Along with paper results, these pagination semantics are equally suitable for an electronic display of fixed-size folios of information, e.g. in page-turner browsers or Portable Document Format (PDF) readers.

The Extensible Stylesheet Language (XSL), also known colloquially in our community as the Extensible Stylesheet Language Formatting Objects (XSL-FO), combines the heritage of CSS and DSSSL in a well-thoughtout and robust specification of formatting semantics for paginating information.

The Recommendation itself is a rigorous, lengthy, and involved technical specification of the processes and operations performed by a formatting engine to effect paginated results consistent with other formatting engines acting on the same inputs. Well-written for its intended purpose and useful as a reference, the document remains out of reach for many people who just want to write XSL-FO stylesheets and print their marked-up information.

About this book

Definitive XSL-FO is written for the beginning XSL-FO stylesheet writer, not the XSL-FO engine implementer.

Background and overview information sets the stage for the stylesheet writer to comprehend why this XML vocabulary exists. Important terminology is explained and the names of key concepts are highlighted. The components of the vocabulary are grouped in discussions focused on functional areas. Examples illustrate each of the formatting objects.

It covers all the formatting objects of XSL-FO and summarizes their properties. This book assumes no prior knowledge of XSL-FO.

Simple things can be done simply in XSL-FO. The objective of this book is to help you get started producing high-quality layouts quickly. For esoteric requirements, the complete text of the XSL 1.0 Recommendation in all of its agonizing (but necessary) detail is required, so it is referenced section by section from the body of this book. Thus the reader with special requirements can delve into the nuance and finely-grained functionality not needed by most users.

Note that neither the Recommendation itself nor this book attempt to teach facets of typography and attractive or appropriate layout style, but only the formatting semantics, the implementation of those semantics, and the nuances of control available to the stylesheet writer and implemented by a stylesheet formatting tool. XSL-FO is a very powerful language with which we can possibly create very ugly or very beautiful pages from our XML-based information.

Typographical and navigation conventions

This book adopts a number of typographical conventions to assist in the navigation of the content.

  • Section references to the Recommendation are in italics and parentheses, e.g.: (6.10.2).
  • At times, Recommendation section references are paired with a page number from this book, e.g.: (7.18.1; 368).
  • Construct references are typeset as follows: Formatting objects and properties are in monospaced font (e.g.: basic-link, baseline-shift); Data types are in monospaced slanted font face (e.g.: angle); URL references are in monospaced font (e.g.: http://www.w3.org/TR/2001/REC-xsl-20011015/xslspec.html).


Download the Index file related to this title.


Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership