Skip to content

xmlcalabash/xmlcalabash3

Repository files navigation

XML Calabash 3.x

This is XML Calabash 3.x, a (mostly) conformant implementation of XProc 3.x.

XML Calabash implements the standard step library and the additional step libraries: dynamic pipelines (p:run), file steps, OS steps, mail steps, paged media steps, text steps, validation steps, and iXML steps. It also ships with [a number](https://docs.xmlcalabash.com/reference/current/extension-steps.html) of extension steps.

Instructions for installing and running the command line application are in the User Guide. The Reference Guide describes all of the steps and other details.

API docs are available, but at this point, the API should be considered unstable and liable to change in arbitrary ways.

This is alpha software
A lot of things work. Some don’t. Do not put this in production.

The test report provides some insights into what is expected to work and what is known to be broken.

Quick start

XML Calabash requires Java 11 or later. Everything else is in the distribution.

  1. Download the latest release. You need xmlcalabash-3.0.0-alphaXX.zip where “XX” is the release number. The other zip files on the release page are extension steps with additional third party dependencies. You have to download them too, if you want to use those steps.
  2. Unzip it somewhere on your local file system.
  3. Run java -jar xmlcalabash-app-3.0.0-alphaXX.jar help to see a quick list of the options.
  4. Run java -jar xmlcalabash-app-3.0.0-alphaXX.jar helloWorld.xpl to run the sample pipeline.

There are more complete instructions in the User Guide.

Running the main class

The main class for the command line application is com.xmlcalabash.app.Main. You can run that class directly, but you’ll have to setup the classpath by hand. You can find the necessary jar files in the release archive. Dependencies are discussed in the Reference Guide.

Using with Maven

The early testing releases are distributed in a Maven snapshots repository:

Reporting issues

Please open issues for any problems you encounter. There are going to be bugs, so it’s probably not you.