The latest iteration of the series set out to develop a core ontology for digital emblems and publish the Wolfenbüttel collection of emblems as Linked Open Data. Being an XML-centered library the goal is also to make “principled use RDF/XML” (Dodds 2016) and publish the emblems as RDF/XML documents with an accompanying RelaxNG grammar. Early on in the project we chose XProc as language both to recreate a model of the existing publication workflows and to implement the RDF/XML production pipeline.
XProc is a declarative language for XML-based processing pipelines. It was standardized by the W3C in 2010 and is currently supported by two Open Source implementations, XML Calabash and Morgana XProc. XProc views a pipeline as “a sequence of operations to be performed on zero or more XML documents” (Walsh et al. 2010) and defines control structures as well as a standard library of required and optional steps that perform common operations on XML. A step being an atomic operation that, much like a pipeline, accepts zero or more XML documents as inputs and produces zero or more XML documents as output. XProc also allows for the definition of user-defined steps that combine steps of the standard library into subpipelines.