Balisage Paper: Using XML to Implement XML

Or, Since XProc Is XML, Shouldn't Everything Else Be, Too?

Balisage: The Markup Conference 2012
August 7 - 10, 2012

The materials listed below were provided by the speaker as supplements to a presentation at Balisage. These materials may include the slides or visuals used in the presentation; supplementary material, such as code samples or a demonstration application; and/or the paper accompanying the presentation (if it has not been provided in XML). These materials have been zipped for easy download and are identified by a brief description of the contents. The materials themselves are untouched, that is, they have not been tested or edited by Balisage: The Markup Conference or by Mulberry Technologies, Inc. As such, they are included on this website AS IS, i.e., as provided by the speaker, with no warranties, express or otherwise, made by Balisage or Mulberry.

Slides and Materials


XProc: An XML Pipeline Language.


XML Calabash (also known as Stop Censorship). Calabash web page, at For the purposes of this paper, especially interesting are the sections on extensions ( and engine configuration (


eXtensible Filter Objects (XFO). Whitepaper by Henrik Mårtensson about pipeline-based processing of XML, presented at XML Scandinavia 2001. XFO was implemented in Perl but the black-boxing of arbitrary feature sets was a useful abstraction in any context. Unfortunately, the paper no longer seems to be available online.

Author's keywords for this paper:
Pipeline processing; XProc; Implementing XProc pipelines using XML; Black-boxing feature sets; XProc pipeline processes described in XML blueprints