Chapter 14. XSL Formatting Objects (XSL-FO)
The previous chapter covered CSS; this chapter discusses XSL-FO. In distinct contrast to CSS, XSL-FO is a complete XML application for describing the precise layout of text on a page. It has elements that represent sequences of pages, blocks of text on the pages, graphics, horizontal rules, and more. Most of the time, however, you don’t write XSL-FO directly. Instead, you write an XSLT stylesheet that transforms your document’s native markup into XSL-FO. The application rendering the document reads the XSL-FO and displays it to the user. Since no major browsers currently support direct rendering of XSL-FO documents, there’s normally a third step in which another processor transforms the XSL-FO into a readable format, such as PDF or TEX.
Once again, we demonstrate the features of XSL-FO by applying it to the simple well-formed XML document shown in Example 13-1 (in the last chapter) and repeated here in Example 14-1 for convenience.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<recipe source="Marjorie Anderson">
<dish>Southern Corn Bread</dish>
<ingredients>
<ingredient>
<quantity>1 cup</quantity>
<component>flour</component>
</ingredient>
<ingredient>
<quantity>4 tablespoons</quantity>
<component>Royal Baking Powder</component>
</ingredient>
<ingredient>
<quantity>1/2 teaspoon</quantity> <component>salt</component> </ingredient> <ingredient> <quantity>1 cup</quantity> ...