BOOKMARK & SHARE Bookmark and Share
RenderX logo  
Live Help

Download Now!

RenderX offers all our software on a trial basis so that our prospects can easily see why thousands of customers have selected XEP to meet their needs.

Why not download a trial version today and see for yourself!


Below are some XSL FO (XSLFO) schemata and validation tools developed at RenderX. Some of these tools have been used over time to validate input in various version of RenderX XEP.


Document Type Definition (DTD)

DTD-based validation provides an easy way to check the structure of XSL FO (XSLFO) documents. You only need a validating XML parser to use it. DTDs are supported by a vast number of tools, and can be used both for input validation and schema-aided editing. However, there are several limitations of DTD-based based validation in the case of XSL FO (XSLFO):

  • DTDs require an explicit reference to the DTD to be present in the document to be validated (as a system or public ID). This is very inconvenient in the case of XSL FO (XSLFO) documents generated dynamically — e.g. produced by an XSLT transformation;
  • DTD is not namespace-aware, while XSL FO (XSLFO) makes use of namespaces;
  • DTD cannot describe content models that depend on the tree context. XSL FO (XSLFO) uses context-dependent content models: allowed structure for a subtree may depend not only on ancestor elements but even on attribute values (for out-of-line elements and absolutely positioned containers);
  • Element order in the mixed content model is not completely free in XSL FO (e.g. “markers first” constraint); this cannot be expressed in a DTD;
  • Proper placement of properties and their values are hard to validate due to adoption of CSS inheritance model and use of expressions;

An unofficial document type definition for XSL Formatting Objects was developed at RenderX in 1999-2000. To the best of our knowledge, it was the first practical formal description for XSL FO (XSLFO). It was used to validate input data in RenderX XEP versions 1 and 2. The DTD presented on this page is a slightly updated version that includes some recent RenderX extensions.

XSL FO DTD: fo.dtd


XSLT Stylesheet

Another apppoach to validation is a use of rule-based language such as XSLT. This approach has been implemented as a dedicated XSLT stylesheet. XSLT is a powerful language and allows to create a validator as elaborate as necessary. Besides the detailed validation, it provides a means to classify validity violations by severity, guarantees improved readability of messages and proper namespace support. Unfortunately, the solution also has considerable drawbacks:

  • Although XSLT processor is a common tool, the XSLT-based validation requires much more resources then the DTD-based one;
  • Since validation data are expressed in a programming language, they cannot be used as a schema for visual XSL FO (XSLFO) editors or document builders.

XEP version 3 uses the stylesheet below to validate input data.

XSL FO DTD: folint.xsl


Relax NG Schema

The Relax NG schema language is superior to the DTD-based validation in every aspect. It combines expressive power to performance. In addition, it can be used by advanced XML editors for document building.

Compared to XSLT stylesheet, Relax NG has less evolved error-reporting mechanisms but guarantees higher performance. Thus the XSLT approach is more appropriate for manual validation (where validation report will be consumed directly by user), while Relax NG is more suitable for batch validation or validation of automatically generated documents where speed is an issue.

As a service to the XSL FO (XSLFO) community, RenderX developed a Relax NG schema for XSL FO (XSLFO).

RelaxNG schema modules:







Relax NG schema for XSL FO (XSLFO) was presented at XML Europe 2004 Conference in Amsterdam, Netherlands. A slightly revised conference paper as well as presentation slides are available. The official proceedings paper can be found at IDEAlliance website.


March 5, 2011
XEP 4.19 released

New extensions for RichMedia in PDF,
sticky notes and file attachments, and
overprinting. Extended XSL1.1 scaling
attributes, and styling for bookmarks.
XForms output, support for SVG in XPS
generator, and other improvements.

More news...

March 1, 2011
RenderX at 2011 AIIM

Visit us in Booth #1820 and #1109 at
the Walter E. Washington Conv. Center,
Washington D.C., March 22 - 24, 2011

More news...

February 22, 2011
VisualXSL 2.4.2 released

Improved support for large designs.
Fully configurable custom template
generation. UI related bugfixes
and table editor improvements.

More news...

December 8, 2010
VisualXSL 2.4 released

Support for external EXSLT library -
Mvp.Xml EXSLT.NET module. UI & logic
related bugfixes. Improved XSLT security.

More news...

October 19, 2010
VDPMill 3.4 released

Major release: a GUI application
for full job control, lots of usability
improvements, and bug fixes.

More news...

September 27, 2010
XEPWin 3.0 released

Release enables better utilization
of computational resources in multi-
core environments. XEPWin 3.0 also
contains improvements in configuration,
error reporting and XEPWin API.

More news...

September 8, 2010
EnMasse 2.3 released

EnMasse is now easier than before!
The Windows version includes
a graphical configuration editor
with built in validation support.
The platform-independent version
was shipped with command-line
installer and configuration script.

More news...

August 25, 2010
VDPMill 3.3 released

Release brings job queuing application
with an XML-RPC interface, VDPMill
Control Panel as a console to configure
and run VDPMill components, a user-
friendly GUI application to create
VDPMill job tickets.

More news...

June 3, 2010
VDPMill 3.2 released

Release includes XML job ticket support
as the main format for GUI application
project files, customized post-
processing (OMR, Transpromo) support
for separated/joined output.

More news...

May 4, 2010
VisualXSL 2.3.1 released

Release includes JavaScript for
radiobuttons and action buttons
in PDF forms, further improvements
over Undo operations, and several
display problems.

More news...

RenderX RSS RSS: Subscribe

Add to Google Add to MyYahoo!