Advanced Cross-Publishing with XML and XSLT/FO using
Platform Independent Open Source Tools
Vienna University of Technology
Institute for Software Technology and Interactive Systems
Knowledge of XML and related technologies is required as well
as basic knowledge in XSL (Extensible Stylesheet Language) programming.
Basic Experience in Programming (Java) would be advantageous.
The Tutorial will be based on Open Source frameworks and tools
and is strictly committed to open protocols and standards (like
recommendations from World Wide Web Consortium W3C). A brief
review about required standards and protocols will be given:
XML, XSLT, XSL:FO, XHTML, eventually Webservices (SOAP).
Framework (s), Tools
Three basic strategies will be demonstrated and explained in
• “manual” publishing using Editors like JEdit with XML
use of XSLT/FO processors like Apache Xalan and FOP
• off-line pre-processing using batch tools like Apache
• on-line publishing and integration of publishing techniques
using Apache Cocoon
In XML based multi-channel publishing the datasource often is
XML. It will be presented, that other data sources can be easily
integrated. Examples will be: relational database systems, XML
Cross publishing or multi-channel publishing means targeting
different audiences as well as different devices. Both problems
will be addressed: For example: from the same data source selected
information could be published for Internet and complete information
Moreover data for different devices like web browsers, mobile
clients and print formats (PDF, PS) will be produced.
XSLT and XSL:FO allow flexible publishing, yet pitfalls exist:
A clear strategy is necessary to produce XSL(T) applications
that integrate well with existing processes and allow to integrate
templates of graphical designers. A key part of this tutorial
will be focused to create XSLT scripts that offer this flexibility.
Again, different approaches will be demonstrated:
• Cocoon offers mechanisms to integrate different sources,
design as well as data.
• A “callback” concept will be presented that allows flexible
use of HTML templates with XSL processing.