Extensible Stylesheet Language – Formatting Objects
Extensible Stylesheet Language – Formatting Objects (XSL-FO) is a markup language based on XML that describes how text, images, lines, and other graphic elements should be positioned on a page. Using XSL-FO, it is possible to create high-quality print results, either on paper or on a computer screen. In contrast to the XHTML/HTML format, which is particularly good for browser applications, XSL-FO is used especially for printing and archiving documents with many pages.
XSL-FO includes the following elements and attributes (selection):
- Regions, borders, and areas of a page
- Width, height, and sequence of pages
- Page administration
- Borders, spacing, multiple columns, and blocks
- Breaks, lists, and tables
- Text formatting such as sentence formats, line breaks, and separation
- Lines, images, and other objects
- And more…
XSL-FO was established by the World Wide Web Consortium in 2001 as the standard language for the conversion of documents XML into print formats. In the meantime, numerous formatting solutions are available for this purpose, including Compart AG’s DocBridge product series with Mixed Format Filters (MFF) (see "Technological support" and "Background" sections).
- Commonly used for formatting large documents with many pages
- Extremely suitable for structuring text/documents and defining categories, such as address, last name, first name, gender, etc.
- Linking of data, such address and invoice data, and arranging it in the respective format
- Thanks to their XML basis, XSL-FO solutions can be integrated into existing XML editing processes. This is particularly beneficial for automatically produced documents.
- Quality control is possible by validating with the XML schema or DTD
- Personalized amendments can be easily realized using the personal namespace of XSL-FO
- Combinations with other markup languages such as SVG
Compart’s DocBridge, including the mixed format filter (MFF), can be used to convert XSL-FO into all common formats such as AFP, PostScript, PDF, IPDS, etc. It processes XSL-FO documents using the SAX process (simple API for XML). The file is read line by line and once a page is finished, it is transferred to the corresponding output filter. The process is designed for high-speed processing of XSL-FO documents, regardless of document size. This is a significant advantage compared to the memory-intensive DOM process (Document Object Model), in which the entire document is first read, depicted as a hierarchy tree, and then formatted. DocBridge is therefore very suitable for high-performance processing of large documents. The MFF-XSL-FO filters from Compart AG are among the fastest formatting tools available in this field.
Compart’s MFF filters (mixed format filter) are the basis of the MFF architecture for DocBridge products. Some MFF filters read files in different formats (input filters) while others are used to write files in the respective output format (output filters). In many cases, a format is supported for both input and output.
The strength of the Compart MFF architecture is its ability to quickly and effectively convert documents in various formats into others, or integrate them into a document using a specific format. For example, documents in AFP, SAPGOF or PCL can be converted to PDF and can also be merged into a single PDF document.
When converting one format into another, Compart uses the shared object format, the so-called presentation area (PA), which is able to represent the visual data and metadata of all supported formats. An MFF input filter converts an input file into the PA format in main memory and an MFF output filter then converts the PA format saved in main memory into an output file.
XSL-FO Conversion Directions
A complete overview of all supported input and output formats is provided in the Compart Matrix. Compart software solutions enables highly complex, single pass operations with flexibility and reliability for high availability, high volume environments.