What is XProc 3.0
XProc 3.0 is an information processing and pipelining stack based on (W3C Recommendation) XDM XQuery and XPath Data Model 3.1, a technology published and supported by its developer, customer and user community. The problems addressed by XProc — the configuration, management and execution of complex, composable information processing subsystems (pipelines in XProc) — are at the center of any XML system, yet they are commonly dealt with — or worked around — by painful means and methods including carefully engineered and customized build utilities (Apache Ant or GNU make
), scripts (bash
and other), execution environments (web processing stacks), IDE workflows and proprietary solutions — almost inevitably platform-dependent, if only because a single link with a dependency brings that dependency to every chain that includes it.
This has hindered the propagation of XML-based technology despite its demonstrated generality, usefuless and power, because wherever it is painful and awkward to integrate, its strengths and virtues are obscured or (worse) obstructed and left unexplored.
As a standard supporting a common semantics across implementations — itself proof-tested by a history of earlier work — XProc 3.0 promises greater adaptability, accessibility, and scalability than prior solutions to the problem of pipeline orchestration.
XProc 1.0 was published as a W3C Recommendation in 2010. In addition to integrating the latest XSLT and XQuery technologies such as XSLT 3.0, XProc 3.0 (finalized 2022) represents a significant advance over XProc 1.0, being
- More streamlined and easier to learn and use
- Open to any format or data notation, including JSON and plain-text-based formats (e.g. CSV, TSV etc.), in addition to XML*
Both of these are important for OSCAL, which comes in both XML and JSON and whose users vary from the highly technical, to the bare beginner (in data formats, in OSCAL or both).
* Especially when combined with Invisible XML.
XProc enthusiasts with current links or news should please contact the project or offer a PR with a listing.
XProc.org site - with links to specs and other resources
XProc 3.0 Overview - with links to component specifications (important to have) such as the Standard Step Library and the additional steps
XProc.org Learning page - valuable hub page with outgoing links
- An accessible overview of XProc 3.0, by Erik Siegel, appears on XML.com
- XPorc.net is a site run by Martin Kraetke with an XProc tutorial
Erik Siegel's XProc 3.0 Programmer Reference