XML Processing

Welcome to XProc.org

XProc.org is a website about XProc: An XML Pipeline Language, a specification under development at the W3C, and its use, implementation, and extensions.

What is it?

XProc is a language designed for describing operations to be performed on XML documents. The official specification for XProc is XProc: An XML Pipeline Language. It is a Recommendation.

The XProc specification was produced by the XML Processing Model Working Group. The XProc WG operated in the public, anyone is free to read the archives of its mailing list.

While the WG was in operation, public comments on the specification could be sent to the processing model comments mailing list. The archives of the comments list are also open to the public. Now that the WG has been disbanded, readers are encouraged to submit comments to the community through the GitHub issue tracker.

Interested in the latest development?

The next version of XProc, called XProc 3.0 is currently under development. The latest is on spec.xproc.org, which is build from the XProc 3.0 github repo. This is also the place of our issue tracker if you want to leave any comments or make suggestions on XProc 3.0.

The next XProc 3.0 workshop will take place 05-06 February 2019 in Prague (Czech Republic), immediately before XML Prague.

We also invite everyone to participate in theXProc Next community group at W3C. You do not have to be a W3C member to join the community group.

Why did you do it?

XProc is designed to address the common problem of how to compose XML processes. Many document processing scenarios involve some combination of XML technologies; canonical examples include XInclude, schema validation, and transformation.

Although it is possible to combine these technologies using general purpose tools such as make and ant (to name only two), these tools are not designed to deal specifically with the semantics of XML processing. As such they are often both more complicated and less useful than would be ideal

XProc has been designed specifically to allow authors to compose XML processes and share these compositions in a standard way.

For more details about the requirements of XProc and the use cases that it was designed to solve, see XML Processing Model Requirements and Use Cases.

How do I participate?

All users, implementors, and other developers with an interest in XProc are encouraged to join the “xproc-dev” mailing list. Send a “subscribe” request to to join.

It too is archived for your pleasure. It is even more usefully archived on MarkMail.

What about examples?

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

There is also a very nice tutorial by Roger Costello and James Garriss.

Achim Berndzen and Gerrit Imsieke organized an “XProc showroom” at XML Prague 2017. The showroom wiki contains links to some open-source projects.

Recent events