2. Features

2.1. Features

XFC preserves the structure of source documents, as well as most of the presentation information. Below is a list of key features of XFC.

  • Paragraph attributes

    Most paragraph attributes (e.g. indentation) are supported. Vertical spacing is handled reasonably in most cases.

  • Font attributes

    Most font attributes (family, size, weight, etc) are supported.

  • Lists

    Both bulleted and numbered lists are supported. XFC tries to infer the numbering style from the label of the first list item. If the numbering style cannot be recognized list items are output as plain paragraphs. Nested lists are supported.

  • Tables

    XFC supports both the fixed and automatic table layout, as well as the two border models defined in the W3C recommendation. The implementation of the collapsing border model does not strictly conforms to the CSS2 specification, but should give the expected result in most cases.

  • Images

    Image support is achieved through the use of external converter classes. XFC comes with a simple converter class that supports the GIF, JPEG and PNG formats. Image scaling is supported.

  • Headers and footers

    static-content elements associated with the before and after regions are converted to page headers and footers respectively.

  • Page references

    Page references (page-number-citation elements) are supported.

  • Hypertext links

    Both internal and external links are supported.

For a complete list of supported objects/properties, see the conformance statement.

In addition, XFC supports an XSL-FO extension to generate structured document tags (SDTs) in an Office Open XML document. This extension makes it possible to produce simple forms that can be loaded and filled in MS-Word 2007.

2.2. Limitations

Though XFC implements the greater part of the W3C recommendation, it does not support all XSL-FO features. Below is a list of the current major limitations of XFC.

  • The leader element is only partly supported.

  • The instream-foreign-object element is not supported.

  • The float and marker elements are not supported.

  • The writing-mode property is not supported (value lr-tb is assumed).

The conformance level of XFC may be improved in future versions, however it must be stressed that a full conformance cannot be achieved due to the own limitations of its output formats.