XML Processing

Implementations

There are several efforts underway to implement XProc, in both the open source community and in commercial products.

If you're an implementor and you'd like your implementation listed on this page, please let me know how you'd like it described and I'll add it.

Calabash

Norman Walsh is building an open-source implementation in Java. Calabash is built on top of the Saxon APIs and uses XPath 2.0 as its expression language.

Calumet

EMC’s Java-based XProc processor. The processor features an extensible architecture and is easy to embed in other Java applications. Free for developer use.

Tubular

Tubular is a Java implementation based on immutable objects, in order to facilitate the addition of parallelism support, thus reducing the need for locking mechanisms.

xmlsh

XProc is being implemented as an extension module to xmlsh. Xmlsh is an open source project that currently supports pipelines as multithreaded asynchronous streams and XProc is being implemented using the same underlying framework via a converter (xproc2xmlsh) that converts xproc documents to xmlsh scripts. Expected release schedule is in Q2 2009. Early previews are expected to be released in Jan 2009.

xprocxq

Jim Fuller's xprocxq is an experimental bootstrap implementation of W3C XProc Draft Specification, written in XQuery, for the eXist XML Database.

Test Suite

An official test suite for XProc is under development. See http://tests.xproc.org/ for more information.