Sady Home

Note my coding life

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

What is XSL-FO?

  • XSL-FO is a language for formatting XML data
  • XSL-FO stands for Extensible Stylesheet Language Formatting Objects
  • XSL-FO is a W3C Recommendation
  • XSL-FO is now formally named XSL

  • XSLT, a language for transforming XML documents
  • XSL or XSL-FO, a language for formatting XML documents
  • XPath, a language for navigating through elements and attributes in XML documents

XSL-FO Documents

XSL-FO documents are XML files with output information. They contain information about the output layout and output contents.

XSL-FO documents are stored in files with a .fo or a .fob file extension. It is also quite common to see XSL-FO documents stored with an .xml extension, because this makes them more accessible to XML editors.

<?xml version="1.0" encoding="ISO-8859-1"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
  
<fo:simple-page-master master-name="A4">
    
<!-- Page template goes here -->
  
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="A4">
  
<!-- Page content goes here -->
</fo:page-sequence>
</fo:root>
XSL-FO Areas
XSL-FO Pages
XSL-FO Regions
XSL-FO Block Areas
XSL-FO Line Areas
XSL-FO Inline Areas
XSL-FO Page, Flow, and Block
<?xml version="1.0" encoding="ISO-8859-1"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
  
<fo:simple-page-master master-name="A4">
    
<fo:region-body />
  
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="A4">
  
<fo:flow flow-name="xsl-region-body">
    
<fo:block>Hello W3Schools</fo:block>
  
</fo:flow>
</fo:page-sequence>
</fo:root>
XSL-FO Page Size
XSL-FO Page Margins
XSL-FO Page Regions
<fo:simple-page-master master-name="A4"
 page-width
="297mm" page-height="210mm"
 margin-top
="1cm"   margin-bottom="1cm"
 margin-left
="1cm"  margin-right="1cm">
  
<fo:region-body   margin="3cm"/>
  
<fo:region-before extent="2cm"/>
  
<fo:region-after  extent="2cm"/>
  
<fo:region-start  extent="2cm"/>
  
<fo:region-end    extent="2cm"/>
</fo:simple-page-master>
Block Area Attributes
Block Margin
Block Border
Block Padding
Block Background
Block Styling Attributes
<fo:block
    
font-size="14pt" font-family="verdana" color="red"
    space-before
="5mm" space-after="5mm">
W3Schools
</fo:block>
<fo:block
    
text-indent="5mm"
    font-family
="verdana" font-size="12pt"
    space-before
="5mm" space-after="5mm">
At W3Schools you will find all the Web-building tutorials you
need, from basic HTML and XHTML to advanced XML, XSL, Multimedia
and WAP.
</fo:block>
XSL-FO List Blocks
XSL-FO Tables

XSL Formatting Objects Reference

The process that converts a description into a presentation is called formatting.

Object Description
basic-link Represents the start resource of a link
bidi-override Overrides the default Unicode BIDI direction
block Defines a block of output (e.g. paragraphs and titles)
block-container Defines a block-level reference-area
character Specifies a character that will be mapped to a glyph for presentation
color-profile Defines a color-profile for a stylesheet
conditional-page-master-reference Specifies a page-master to be used when the conditions defined are true
declarations Groups global declarations for a stylesheet
external-graphic Used for a graphic where the graphics data resides outside of the XML result tree
float Typically used to position an image in a separate area at the beginning of a page OR to position an image to one side, with the content flowing along-side of the image
flow Contains all elements to be printed to a page
footnote Defines a footnote within the region-body of a page
footnote-body Defines the content of the footnote
initial-property-set Formats the first line of an <fo:block>
inline Formats a part of a text with a background or enclosing it in a border
inline-container Defines an inline reference-area
instream-foreign-object Used for inline graphics or for "generic" objects where the object's data resides as descendants of <fo:instream-foreign-object>
layout-master-set Holds all masters used in a document
leader

Used to generate "." to separate titles from page numbers in table of contents, or to create input fields in forms, or to create horizontal rules

list-block Defines a list
list-item Contains each item in the list
list-item-body Contains the content/body of the list-item
list-item-label Contains the label for the list-item (typically a number, character, etc.)
marker Used with <fo:retrieve-marker> to create running headers or footers
multi-case

Contains (within an <fo:multi-switch>) each alternative sub-tree of XSL-FO objects. The parent <fo:multi-switch> will choose which alternative to show and hide the rest

multi-properties Used to switch between two or more property-sets
multi-property-set Specifies an alternative property-set that will be applied depending on the state of the user agent
multi-switch Holds one or more <fo:multi-case> objects and controls the switching between them (activated by <fo:multi-toggle>)
multi-toggle Used to switch to another <fo:multi-case>
page-number Represents the current page-number
page-number-citation References the page-number for the page that contains the first normal area returned by the cited object
page-sequence A container for page output elements. There will be one <fo:page-sequence> object for each page layout
page-sequence-master Specifies which simple-page-masters are to be used and in which order
region-after Defines a page footer
region-before Defines a page header
region-body Defines a page body
region-end Defines the right sidebar of a page
region-start Defines the left sidebar of a page
repeatable-page-master-alternatives Specifies repetition of a set of simple-page-masters
repeatable-page-master-reference Specifies repetition of a single simple-page-master
retrieve-marker Used with <fo:marker> to create running headers or footers
root The root (top) node for XSL-FO documents
simple-page-master Defines the size and shape of a page
single-page-master-reference Specifies a page-master to be used at a given point in the sequence of pages
static-content Contains static content (e.g. headers and footers) that will be repeated on many pages
table Formats the tabular material of a table
table-and-caption Formats a table and its caption
table-body Container for table rows and table cells
table-caption Contains the caption for a table
table-cell Defines a table cell
table-column Formats the columns of a table
table-footer Defines a table footer
table-header Defines a table header
table-row Defines a table row
title Defines a title for a page-sequence
wrapper Specifies inherited properties for a group of XSL-FO objects
 
* Reference to W3C Schools
posted on 2007-11-07 17:53  Sady  阅读(404)  评论(0编辑  收藏  举报
凭飞堂