|
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...
 |
 |