the Koala XSL engine for Java

Introduction

Version 0.7.1b1

The Koala XSL engine is no longer supported.

This is an XSL processor written in Java, using the Simple API for XML (SAX 1.0) and the Document Object Model (DOM 1.0) API.

This package also contains xslSlideMaker, a post-processor that can quickly make slides and multi-level slides with XML & XSL.

The package contains :

Requirements

The XSL processor and xslSlideMaker requires:

  1. A Java(tm) Virtual Machine
  2. A SAX parser (included in the package)
  3. A DOM parser (DOM SDK is included in the package)

How to install it ?

Download and install the package on your file system:

     tar zxvf Xsl_0.7.1b1.tar.gz
      

Source files are in the same package.

Note: you could also use the Koala XML service, and so you don't have to install anything on your hard disk.

On Linux/Unix platforms:

  1. Add the bin/ directory of this package to your PATH
  2. To run the XSL processor, you just have to type this command (the result will be written to the standard output):
    xsl -r XSLFile XMLFile
  3. To run xslSlideMaker you just have to type this command:
    xslSlide -r XSLFile XMLFile

On other platforms:

  1. Add the xsl-standalone-0.7.1b1.jar.jar files to your CLASSPATH.
  2. To run the XSL processor, you just have to type this command (the result will be sent to the standard output):
    java fr.dyade.koala.xml.xsl.Main -r a.xsl b.xml
  3. To run xslSlideMaker you just have to type this command:
    java fr.dyade.koala.xml.xsl.slideMaker.Main b.html
    Where b.html is the file generated by the XSL processor.

How to change the SAX Parser ?

If you want to change the SAX parser to use, you just have to set the org.xml.sax.parser System property with a new SAX 1.0 driver.

Don't forget to change your CLASSPATH with the new parser.

How to change the DOM implementation ?

If you want to change the DOM implementation to use, you just have to set the org.w3c.dom.document System property with a class that implements the Document interface of DOM

Don't forget to change your CLASSPATH.

Features and limitations

The XSL processor supports every matching patterns (exept, see limitations), every templates rules such as numbering,literal result elements, literal text, processing and direct processing (xsl:for-each, xsl:value-of, ...), using string expressions, attribute value templates, string constants, including stylesheets (other, see limitations).

It also implements NameSpace, and unterminated HTML tags. Now, it uses an Output Handler, you may want to specify what Output Handler to use for a Name Space. This could be done by editing the properties file (in the .jar package, this is the file named nameSpace.properties.xml)

Moreover, it uses an Error Handler (to generate Emacs errors for example). You have to fix the System properties: koala.xsl.errorHandler to a class that implements the XSLErrorHandler interface.

If you fix the org.xml.sax.validation system property to true, the XML parser included read the external DTD. This could be useful if you want implied attributes to be read and used by the the koala XSL engine.

You could use any DOM implementation you want if you fix the org.w3c.domImplementation system property to the class that implements Document DOM interface.

The XSL processor does not support Flow Objects, macros, imported stylesheets, templates matching on id, priority, matching on positions, white spaces in patterns, conditional processing, named attribute sets.


Nota:

This page has been realised in XML and formatted with the koala XSL engine You can find the XML and XSL source files in this directory.



Jeremy CALLES
KOALA/DYADE/BULL @ INRIA - XML Activities