Why is xprocxq implemented in XQuery ?
XQuery’s somewhat functional approach appealed to me and having been a long time XSLT user I wanted to gain some understanding of the nuances between XSLT and XQuery. In building xprocxq, my primary goals were; • creating an implementation in XQuery meant that XProc processor will be as performant as the underlying XQuery implementation and be able to naturally process XML data stored in XML Database. • make it easier to allow for extension steps to be built using xquery (and xslt) • Exercise fundamental FP principles building a non trivial XQuery application. I think I have achieved this goal, as xprocxq ‘main engine’ is the u:step-fold function (in util.xqm) which operates on simple pipelines. • To understand variability between XQuery processors. I think there is a surprising amount of differences between XQuery processors, but thankfully mostly in the form of extension functions, implicit type casting and in smaller part some interpretations of the spec (where the spec allowed for