SKIP THE SHIPPING
Use code NOSHIP during checkout to save 40% on eligible eBooks, now through January 5. Shop now.
Register your product to gain access to bonus material or receive a coupon.
Definitive XSL-FO delivers concise, authoritative coverage of every key facet of the new W3C recommendation, XSL-FO. XSL-FO (XSL Formatting Objects) is the critical enabling technology that allows enterprise applications to produce production-quality output from large XML data stores. There is a large constituency of users of information who prefer the printed format of physical pages over the screen format of a web document. As more web services are deployed and more companies bring more of their information into XML structures, the need for the printed form will grow. Developers have long been used to producing HTML reports and screen-based results, without considering paginating their information into a form (such as a PDF file) suitable for printing.
Foreword.
Preface.
Acknowledgements.
1. Introducing XSL-FO.
2. XSL-FO in context.
The XML Family of Recommendations. Examples.
Formatting and Rendering. Processing Model. Formatting Object XML Vocabulary.
Area Model Details. Block and Inline Basics. Container Basics. Page Definition and Sequencing.
Lists. Graphics and Foreign Objects. Links. Leaders.
Tabular Structure. Tabular Appearance.
Page Regions, Headers, and Footers. Content Definition 199. Page Sequence Master Interleave (PSMI). Page Geometry Sequencing.
Floats. Footnotes.
Breaks. Widows and Orphans. Keeps. Spacing, Conditionality, and Precedence. Borders. Backgrounds.
Reflecting Formatting Object State by Appearance. Interactively Changing the Effective Flow.
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.
XSLT Language Features Supporting XSL-FO. XSL-FO Language Features Similar to XSLT and Xpath.
Production Summary. XSL-FO Functions.
Objects Summarized by Name. Objects Summarized by Type.
Common Properties. Data Types. Inheritance and Shorthands. Property Summary.
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.
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.
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.
This book adopts a number of typographical conventions to assist in the navigation of the content.
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.