XProc processors

In order to be able to work with XProc, the developed documents have to be processed with an appropriate processor. Here, the current developmets are introduced.


Possible XProc processing scheme

Figure: possible XProc processing scheme

A XProc document is assigned to a processor which processes the file accordingly and delivers the result. Usually, the XML data processed by XProc are indicated directly in the XProc document.

It is also possible to indicate XML documents separately before executing the process (e.g. in the form of an argument on the command line). However, this is dependent on the implementation and therefore can turn out differently from programme to programme.


The best known implementation is the Calabash processor by Norman Walsh in its current version 0.9.32. It is developed with Java and available as open source download. The handling is based on the command line. The current version can be found at http://svn.xmlcalabash.com/calabash/.

java com.xmlcalabash.drivers.Main options pipeline.xpl

In addition it has been integrated into the commercial XML editor Oxygen as callable function.


The processor by EMC is, like Calabash, developed in Java and available for download. However, a prior registration on the EMC pages is necessary. It is aslo executed on the command line. The current version is 1.0.11.

calumet.bat -i source=helloworld.xml identity.xpl
sh calumet -i source=helloworld.xml identity.xpl

The scope of delivery includes an Oxygen plugin which enables the user to use the processor in the graphical environment of Oxygen, similar to Calabash.


This processor is also developed in Java and has to be executed like the other implementations on the command line. It is still under development and currently not yet testable.


XMLSH is an implementation of Shell. It is an independent command line interface with a certain subset of "programmes" which have XML related functionalities. Since version 1.0.5, XProc has been added. However, it is an independent processor development. XMLSH uses Calabash in order to execute XProc transformations.

<< back next >>