XSL-FO

Introduction

Building on 3B2's current XML technology tools, Advent aims to include XSL-FO functionality in the next major release of 3B2. The XSL-FO standard is used to format XML documents. XSL-FO is essentially a stylesheet language (derivative of XSLT) that describes how pages will look when presented to a reader.

What is XSL-FO?

Navigating a paginated document is very different from navigating a web page, obviously it is not possible to use browser based hyperlinks in printed matter.

Traditional navigation aids for printed documents include components such as page numbers, running headers/footers and indexes. We must use these established navigational tools when producing paginated information from our XML content.

The navigational items will also be designed and strategically placed by a set of document layout rules (or semantics), to make our documents visually pleasing and easy to use. These semantics will also contain information such as the size and spacing of main chapter headings or the page size itself.

Many aspects of layout are also applicable on electronic displays. Up until now items like fonts, margins and colours have been handled in web pages by the recommendation for Cascading Stylesheets (CSS).

Paginating marked-up information is not something new, in that the Document Style Semantics and Specification Language (DSSSL) is an international standard originally intended for use with SGML documents, it also works with XML documents.

The W3C - (The World Wide Web Consortium), accepting that HTML and CSS are sufficient for browser-oriented rendering of information, set out to define a new set of pagination semantics for print-oriented rendering. These pagination semantics are equally suitable for certain electronic display of fixed-size folios, such as PDF (Portable Document Format) readers.

The XSL (Extensible Stylesheet Language), known as the Extensible Stylesheet Language Formatting Objects (XSL-FO), combines the heritage of CSS and DSSSL in a well organised and robust specification of formatting semantics for paginating information.

Why XSL-FO?

The possibilities of XSL-FO are very exciting. Essentially you can produce an entire paginated document from scratch with just XML content and your XSL. This is set-up to produce your XSL-FO file and from this, using 3B2 as the generation engine, a document can be produced.

Advantages of combining 3B2 and XSL-FO

3B2 will incorporate significant support for the XSL-FO recommendation in the next major release. The real advantages of using XSL-FO in 3B2 are due to the limitations of XSL-FO itself. XSL-FO is comparatively simplistic when compared to 3B2, being not much more capable than current browsers are with HTML. Because of these limitations there will be many situations where 3B2 would be the solution to these shortfalls. 3B2 will have an XSL-FO template that can accept existing jobs and then extend them with a wealth of other publishing features available in 3B2. Therefore 3B2 is set to be the preferred choice when these limitations are reached.

Overall Benefits

XSL-FO is a customisable, flexible, powerful, emerging standard that makes it possible to re-purpose the same XML data for various situations, from traditional printed documents to on-line material in a plethora of variations.

Further information and references

You can find out more about XSL-FO by visiting:

The World Wide Web Consortium (W3C):

www.w3.org/style/xsl/

What is XSL-FO:

www.XML.com

News, education and information about XML in industrial and commercial settings:

www.xml.org


See also