DEVELOPER'S ZONE 

 SHOP 


 SEARCH 

 LIVE HELP 
[logo]
 Products
 Demos
 Stories
 Solutions
 Support
 Download
 Customers
 Partners
 Company
 Sitemap

 Overview


 XEP Engine


 DiType


 DocuType


 XEPWin Engine


 VisualXSL


 INX2FO


 Connectivity Kit


 WinSuite Kit


 EnMasse Kit


 DataStyler


 XML Report Generator


 Docbench


 Patents


 Free Tools



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!

Validators

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:

main.rnc

elements.rnc

properties.rnc

properties_groups.rnc

basic_properties.rnc

datatype.rnc

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

News

June 20, 2008
New Product Release:
DocuType


RenderX integrates DiType and
MediaWiki to create DocuType
enabling you to take wiki content
and convert it to PDF format for
printing and publishing.

More news...

May 28, 2008
DiType 2.0 Release

A new implementation of
scalability on architectures with
multiple CPUs/cores and increased
performance of PostScript backend.

More news...

April 30, 2008
New Product Trial Release:
DiType 1.9 Trial


DiType turns manuscripts into
type in PDF and PostScript. It
accepts manuscripts in a number of
popular XML markup vocabularies.

More news...

April 29, 2008
RenderX PDF Forms
White Paper


View your free copy of "Integrating
RenderX XSL FO Technology
with iText for High Performance
Dynamic Forms Generation".

More news...