xprocedit has been written as part of one of the author’s master’s thesis.Much effort has gone into adapting the Javascript graph framework for XProc, therefore, given the limited amount of time available, some crucial features such as pipeline and library import are not functional yet. Refactoring some of the user interface components, such as the option editor, can use some rework. It is conceivable to use Saxon-JS to a larger extent for generating these types of forms.
While pipelines are currently “stored” in main memory, we will probably add a RESTXQ service, provided by a BaseX database, to store the edited pipelines and to load step libraries from.
If there is interest and funding, XProc can become a native graph type in JointJS or its commercial derivative, Rappid [JointJS].
If there is interest not only in editing pipelines in the browser but also in executing them in the browser, it is conceivable that, using Saxon-JS and interfacing other Javascript libraries, a subset of XProc 3.0 will be made available in the browser at some stage, probably as part of another master’s thesis.
An intermediate solution would be to run an XProc processor on a server and to post pipelines (and payloads) from the editor to the server via HTTP. A specific appeal of this solution is that both nascent XProc 3.0 processors, Calabash and Morgana, will accept alternative pipeline serialization formats than XML. So xprocedit might be able to post its internal graph representation as RDF or as its native JSON model, without the need to do the default readable port optimization that is only meant to simplify further editing in XML format.