You are previewing XSL-FO.
O'Reilly logo
XSL-FO

Book Description

No matter how flexible and convenient digital information has become, we haven't done away with the need to see information in print. Extensible Style Language-Formatting Objects, or XSL-FO, is a set of tools developers and web designers use to describe page printouts of their XML (including XHTML) documents. If you need to produce high quality printed material from your XML documents, then XSL-FO provides the bridge. XSL-FO is one of the few books to go beyond a basic introduction to the technology. While many books touch on XSL-FO in their treatment of XSLT, this book offers in-depth coverage of XSL-FO's features and strengths. Author Dave Pawson is well known in the XSLT and XSL-FO communities, and maintains the XSLT FAQ. An online version of this book has helped many developers master this technology. XSL-FO is the first time this reference is available in print. The first part of the book provides an overview of the technology and introduces the XSL-FO vocabulary. The author discusses how to choose among today's implementations, explains how to describe pages, and shows you what is going on in the processor in terms of layout. You'll learn about the basics of formatting and layout as well as readability. The second part focuses on smaller pieces: blocks, inline structures, graphics, color and character level formatting, concluding by showing how to integrate these parts into a coherent whole. XSL-FO also explores organizational aspects you'll need to consider?how to design your stylesheets strategically rather than letting them evolve on their own. XSL-FO is more than just a guide to the technology; the book teaches you how to think about the formatting of your documents and guides you through the questions you'll need to ask to ensure that your printed documents meet the same high standards as your computer-generated content. Written for experienced XML developers and web designers, no other book contains as much useful information on this practical technology.

Table of Contents

  1. Special Upgrade Offer
  2. A Note Regarding Supplemental Files
  3. Preface
    1. Who Should Read This Book?
    2. What Does This Book Cover?
    3. Motivation
    4. Organization of This Book
    5. What Else Do You Need?
    6. Conventions Used in This Book
    7. How to Contact Us
    8. Acknowledgments
  4. 1. Planning for XSL-FO
    1. 1.1. XML and Document Processing
    2. 1.2. Choosing Your Print Production Approach
      1. 1.2.1. Why XSL-FO?
      2. 1.2.2. Alternatives
    3. 1.3. Choosing Tools
      1. 1.3.1. Selection Criteria
        1. 1.3.1.1. Price
        2. 1.3.1.2. Compliance
      2. 1.3.2. Usage
      3. 1.3.3. Platform and Performance
    4. 1.4. The Future for XSL-FO
  5. 2. A First Look at XSL-FO
    1. 2.1. An XSL-FO Overview
    2. 2.2. Related Stylesheet Specifications
      1. 2.2.1. XSL and DSSSL
      2. 2.2.2. XSL and CSS
    3. 2.3. Using XSL-FO as Part of XSL
      1. 2.3.1. History
      2. 2.3.2. Page Layout, Blocks, and Inline Content
      3. 2.3.3. Considering Compliance Levels
      4. 2.3.4. Selecting Content for Formatting
      5. 2.3.5. Matching Source to Content
    4. 2.4. Shorthand, Short Form, and Inheritance
      1. 2.4.1. Inheritance
      2. 2.4.2. Tips on Using Inheritance
      3. 2.4.3. Layout-Driven and Content-Driven Layout Types
  6. 3. Pagination
    1. 3.1. Document Classes
    2. 3.2. The Main Parts of an XSL-FO Document
    3. 3.3. Simple Page Master
      1. 3.3.1. Margin Properties for Blocks
      2. 3.3.2. Regions
      3. 3.3.3. Absolute and Relative Directions
      4. 3.3.4. Writing Mode
      5. 3.3.5. Content Flows
      6. 3.3.6. A Basic Example
    4. 3.4. Complex Pagination
      1. 3.4.1. Single-page-masters
      2. 3.4.2. Constructing Runs of Identical Pages
      3. 3.4.3. Conditional Selection of Page Masters
      4. 3.4.4. Page Conditions
    5. 3.5. Page Sequences
      1. 3.5.1. Page Numbering
      2. 3.5.2. Country and Language
  7. 4. Areas
    1. 4.1. Informal Definition of an Area
    2. 4.2. Area Types
    3. 4.3. Components of an Area
    4. 4.4. Reference Areas
    5. 4.5. Area Positioning
      1. 4.5.1. Turning Formatting Objects into Areas
      2. 4.5.2. Area Dimensions
      3. 4.5.3. Positioning a Block-Area: Margins and Indents
      4. 4.5.4. Stacking Block-Areas and Spaces
      5. 4.5.5. Stacking Inline-Areas
      6. 4.5.6. Stacking Line-Areas
  8. 5. Blocks
    1. 5.1. Block Basics
      1. 5.1.1. The Basic Block
      2. 5.1.2. Block Separation
      3. 5.1.3. Breaks Between Paragraphs
      4. 5.1.4. The Block as a Wrapper
    2. 5.2. Blocks for Special Purposes
      1. 5.2.1. Backgrounds on Blocks
      2. 5.2.2. Images
      3. 5.2.3. Identifying Blocks
    3. 5.3. Decorating Blocks
    4. 5.4. Lists
      1. 5.4.1. Other Types of Lists
      2. 5.4.2. Alignment Issues
    5. 5.5. Tables
      1. 5.5.1. The Basic Table
      2. 5.5.2. Captions
      3. 5.5.3. Column Headings
      4. 5.5.4. Fixed-Width Tables and Columns
        1. 5.5.4.1. Fixed columns
      5. 5.5.5. Spanning Columns and Rows
      6. 5.5.6. Empty Cells in Tables
      7. 5.5.7. Cell Alignment
      8. 5.5.8. Other Table Issues
    6. 5.6. Additional Material
      1. 5.6.1. A Minor Aside on Lengths
      2. 5.6.2. Short forms
  9. 6. Inline Elements
    1. 6.1. Content
    2. 6.2. Inline Styling
      1. 6.2.1. Inapplicable Properties
      2. 6.2.2. Inline Containers
      3. 6.2.3. Inline Graphics
      4. 6.2.4. Word and Letter Spacing
      5. 6.2.5. Other Styling Properties
      6. 6.2.6. The Horizontal Rule and Its Variants
      7. 6.2.7. Line Layout
      8. 6.2.8. Keeping Line Content Together
    3. 6.3. Other Uses
      1. 6.3.1. Page Headers
  10. 7. Graphics and Color
    1. 7.1. Graphics
    2. 7.2. Basic Color Usage
    3. 7.3. Color Specification
    4. 7.4. Color Profiles
    5. 7.5. Applicability
      1. 7.5.1. Summary
  11. 8. Styling at the Character Level
    1. 8.1. General Character Properties
      1. 8.1.1. Usage
      2. 8.1.2. Writing Mode
      3. 8.1.3. Superscript and Subscript
    2. 8.2. Fonts
      1. 8.2.1. Shorthand Attribute Specification
  12. 9. Cross-Document Links
    1. 9.1. Cross-Document Links
      1. 9.1.1. Page Numbering
    2. 9.2. Indexing and Tables of Contents
    3. 9.3. Running Headers
      1. 9.3.1. Footnotes
  13. 10. Putting It All Together
    1. 10.1. Outline
      1. 10.1.1. Page Layout
      2. 10.1.2. The Template File
      3. 10.1.3. Property Sets
  14. 11. Stylesheet Organization
    1. 11.1. Classes of Stylesheets
      1. 11.1.1. Specialized Stylesheets
      2. 11.1.2. General-Purpose Stylesheet
      3. 11.1.3. Local Modifications
      4. 11.1.4. Overall Stylesheet Organization
    2. 11.2. Page Layout
    3. 11.3. Main Flows
    4. 11.4. Inclusion and Importing
  15. A. How Do I Do That?
  16. B. Finding Your Way Around the Specification
    1. B.1. Overview
    2. B.1.1. index.html
    3. B.1.2. Section 1
    4. B.1.3. Section 2
    5. B.1.4. Section 3
    6. B.1.5. Section 4
    7. B.1.6. Section 5
    8. B.1.7. Section 6
    9. B.1.8. Section 7
    10. B.1.9. Section 8
    11. B.1.10. Appendix A
    12. B.1.11. Appendix B
    13. B.1.12. Appendix C
    14. B.1.13. Appendix D
    15. B.1.14. Appendix E
    16. B.1.15. Appendix F
    17. B.1.16. Appendix G
  17. C. Today’s Tools
    1. C.1. RenderX XEP Formatter
    2. C.2. Antenna House Formatter
    3. C.3. FOP Formatter
    4. C.4. PassiveTEX Formatter
    5. C.5. Unicorn Formatting Objects Formatter
    6. C.6. Formatting Objects Authoring Tool
    7. C.7. Render Engine from XML/XSL to PDF
    8. C.8. jfor, Java XSL-FO to RTF converter
    9. C.9. XMLmind FO Converter
    10. C.10. XSLfast
    11. C.11. Epic Editor V4.2
    12. C.12. IBM XSL Formatting Objects Composer (XFC)
    13. C.13. Summary
  18. D. Objects, Properties, and Compliance Levels
    1. D.1. Basic, Extended or Complete?
    2. D.2. Property Summary
  19. E. Inheritance Characteristics
    1. E.1. Font-, Character-, and Spacing-Related Properties
      1. E.1.1. Visibility-Related Properties
      2. E.1.2. Writing Mode-Related Properties
      3. E.1.3. Border- and Text Decoration-Related Properties
      4. E.1.4. Whitespace- and Line Break-Related Properties
      5. E.1.5. Leader- and Rule-Related Properties
      6. E.1.6. Indent-Related Properties
      7. E.1.7. Border-Related Properties
      8. E.1.8. Caption-Related Properties
      9. E.1.9. Color-Related Properties
      10. E.1.10. Alignment-Related Properties
      11. E.1.11. Table-Related Properties
      12. E.1.12. Keeps- and Breaks-Related Properties
      13. E.1.13. List-Related Properties
      14. E.1.14. Language-Related Properties
  20. F. Examples for Chapter 10
  21. G. Elements and Valid Properties
    1. G.1. XSL-FO Elements and Their Properties
    2. G.2. Properties and the Elements to Which They Apply
  22. H. GNU Free DocumentationLicense (GFDL)
    1. H.1. Preamble
    2. H.2. Applicability and Definitions
    3. H.3. Verbatim Copying
    4. H.4. Copying in Quantity
    5. H.5. Modifications
    6. H.6. Combining Documents
    7. H.7. Collections of Documents
    8. H.8. Aggregation with Independent Works
    9. H.9. Translation
    10. H.10. Termination
    11. H.11. Future Revisions of This License
    12. H.12. Addendum: How to Use This License for Your Documents
  23. Glossary
  24. Index
  25. About the Author
  26. Colophon
  27. Special Upgrade Offer
  28. Copyright