Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 31 million developers.Sign up
This is the first feature-complete release of the XProc-Z platform.
- This release aims to fully support HTTP requests and responses as defined for the
p:http-requeststep in the XProc specification (as
c:responsedocuments), 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.
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.