Skip to content

@Conal-Tuohy Conal-Tuohy released this May 13, 2015 · 63 commits to master since this release

This is the first feature-complete release of the XProc-Z platform.

Feature list

  • This release aims to fully support HTTP requests and responses as defined for the p:http-request step in the XProc specification (as c:request and c:response documents), including multi-part file uploads, and binary as well as textual data.
  • Several example pipelines are included; a static HTML menu interface, a visualization of image placements in medieval manuscripts, an example of uploading and downloading files, and a raw XML display of the data available to a pipeline through XProc-Z.
  • An pipeline can now access a full list of Servlet and Container configuration parameters, as well as Operating System environment variables, using a parameter input port.
  • Pipelines can now spawn other pipelines asynchronously, to support long-running (batch) processes.

Long-running processes

This version includes an experimental feature that extends the simple request/response protocol used by previous versions of XProc-Z, to allow an XProc-Z pipeline to emit a sequence of documents on its output port, not just a single c:response. As in the previous version of XProc-Z, and exactly like XProc's http-request step, the first document emitted by an XProc-Z pipeline should be a c:response (which XProc-Z will return to the web browser), but additional documents may also be emitted after the initial c:response. These should be c:request documents intended for further processing by XProc-Z. This feature allows an XProc-Z pipeline to make an asynchronous call to itself, and is intended primarily to support writing long-running processes in XProc, in which each invocation of the pipeline performs one small batch of work, and then exits, asking XProc-Z to invoke it again, to perform further batches of work.


XProc-Z is a Java Servlet, and is packaged here as a WAR (Web Application Archive) file. It needs to be installed in a Java Servlet Container application, such as Tomcat or Jetty. Typically it's enough to copy the WAR file to the Container application's "webapps" folder. Consult your Servlet Container documentation for details.

Assets 3
You can’t perform that action at this time.