Introduction to XSL-FO Concepts

(Printing Directly from XML)

Deborah Aleyne Lapeyre and B. Tommie Usdin

Administrivia [slide 1]
A Quick Poll (Who You Are) [slide 5]
Do You Work with or Know [slide 6]
What is XSL-FO [slide 7]
Design Goals for XSL Formatting [slide 8]
The XSL Specification [slide 9]
The Dream Behind XSL-FO [slide 10]
The Hype Behind XSL-FO [slide 11]
Where Can XSL-FO Fit in Publishing Processing [slide 12]
When You Have XML Content [slide 13]
Making Pages from XML Content [slide 14]
XSL-FO Makes Print from XML [slide 15]
How XSL-FO Programs Get Created [slide 16]
XSL-FO Creates Print (and Web) Output [slide 17]
XSL-FO Supports Big Batch Production [slide 18]
Flowing XSL-FO into a Composition Engine [slide 20]
Aside: To Understand XSL-FO You Really Must Understand XSLT [slide 21]
What XSLT Does is “Transform” [slide 22]
The Very Basics of XSLT Transforms [slide 23]
How an XSLT Transform Works [slide 24]
How XSL-FO Works [slide 27]
XSL-FO is an XML Vocabulary (Tag Set) [slide 28]
So an XSL-FO Document is [slide 29]
XSLT (Transforming) Builds XSL-FO-tagged Files [slide 30]
How XSL_FO Formatting Works [slide 31]
The Complete XSL-FO Picture [slide 32]
Role of the XSL-FO Engine [slide 34]
How Using XSL-FO Compares to Using HTML [slide 35]
Using HTML to Make a Display [slide 36]
HTML Example [slide 37]
XSL-FO is Another Way to Display XML [slide 38]
Using XSL-FO to Make a Display [slide 39]
XSL-FO Example [slide 40]
Features of XSL-FO Formatting [slide 41]
XSL-FO Designed to Deal with Typesetting Complexity [slide 42]
XSL-FO’s Page Model [slide 43]
XSL-FO Uses Typographic Terminology [slide 44]
XSL-FO Usually Created by Transformation [slide 45]
XSL-FO Formatting Flows from the XML [slide 46]
Internationalization and Accessibility [slide 47]
XSL-FO Works Through Stylesheets [slide 48]
The XSL-FO Big Picture [slide 49]
All XSL-FO Programs Start with Page Design [slide 50]
Human Page Design is Translated into XSL-FO Formatting Objects [slide 51]
Examples of Formatting Objects [slide 53]
There are Block-type FOs and Inline FOs [slide 54]
Components of an XSL-FO Document [slide 55]
Page Descriptions (Layouts) [slide 56]
Multiple Page Masters [slide 57]
XSL-FO Page Terminology [slide 58]
Content Rectangle [slide 59]
Geometry of Regions Inside the Content Rectangle [slide 60]
Technical Note: Regions [slide 61]
Where the Content Goes [slide 63]
Page Sequences [slide 64]
Content Formatting Happens Inside the Flow [slide 65]
More Complex Pagination [slide 66]
Organization of a Typical XSL-FO Document [slide 67]
Blocks Take Typographic Properties [slide 68]
Block Properties are Attributes of the <fo:block> Element [slide 69]
The Actual Text goes Inside the Block [slide 70]
Let’s Watch a Stylesheet Grow [slide 71]
The XML We Started From [slide 72]
Here is the Unformatted Text Poured onto a Page [slide 73]
First, Make Some Block Objects [slide 74]
Add Formatting for the Inline Objects [slide 75]
Make the Ingredients List into a Table [slide 76]
Display the Steps as a List [slide 77]
Distinguish Among Different Levels of Title [slide 78]
Now Make It Prettier [slide 79]
Who’s Using XSL-FO and What is It Good For [slide 80]
XSL-FO Software Vendors Name Their Clients [slide 81]
Companies are Using XSL-FO When [slide 83]
XSL-FO Really Shines When [slide 84]
Candidates also Include [slide 86]
Why Isn’t Everybody Using XSL-FO? [slide 87]
When XSL-FO Is Not Useful [slide 88]
Really Bad XSL-FO Candidates Include [slide 89]
You Might Not Want XSL-FO If… [slide 90]
Additional Planning Challenges [slide 91]
XSL-FO Tools [slide 92]
Free XSL-FO Formatting Engines [slide 93]
Commercial XSL-FO Formatting Engines [slide 94]
Page-layout Applications that Understand XSL-FO [slide 95]
More Support Tools All the Time [slide 96]
There are Software Limitations [slide 98]
XSL-FO Spec Sets Levels of Conformance [slide 99]
Conformance Examples [slide 100]
The Wrapup
What Does It Take to Create XSL-FO [slide 101]
What You Need to Know to Write an XSL-FO Stylesheet [slide 102]
What Does It Take to Maintain an XSL-FO Stylesheet [slide 103]
How do You Train an XSL-FO Programmer [slide 104]
There is Other Cool XSL-FO Material [slide 105]
The Hype Behind XSL-FO [slide 106]
Some Real XSL-FO-Made Pages [slide 108]
Information Resources: Where to Learn More [slide 109]
Books [slide 110]
Articles and Reports [slide 111]
Online Resources [slide 112]
XSL-FO Stylesheets Online [slide 113]
For Programmers [slide 114]
Colophon [slide 115]